我现在正在为UWP做一个Xamarin.Forms项目,我正在为Pickers使用一个自定义渲染器。我实际上是将选择器覆盖在标签和图标的顶部,这样当用户单击标签/图标时,就会打开选择器。为了实现这一点,我基本上将选择器上的所有内容设置为透明-边框,文本和背景。选择器仍然可以正常工作,所有选择器元素都不可见,* 除了**选择器箭头仍然可见。我如何影响选择器箭头的颜色(为了使其透明),或者干脆完全摆脱它?
摆脱文本和背景颜色是一样容易:
var transparent = Windows.UI.Color.FromArgb(0, 0, 0, 0);
Control.Foreground = new SolidColorBrush(transparent);
Control.Background = new SolidColorBrush(transparent);
但我不知道如何影响下拉箭头。
我知道Control是一个FormsComboBox VisualElementRender<Picker, FormsComboBox>.Control
,并且我已经尝试在Visual Studio中扫描Control的所有属性。
1条答案
按热度按时间64jmpszr1#
对于自定义渲染,
Picker
对应的本机控件是UWP中的ComboBox
。参见Renderer Base Classes and Native Controls。因此,对于您想要更改的下拉箭头,实际上是Combobox
控件模板中的DropDownGlyph
元素。您可以复制默认的ComboBox styles and templates,并通过将Visibility
属性设置为Collapsed
将DropDownGlyph
更新为不可见。例如:渲染:
App.xaml
中的样式