【发布时间】:2016-05-03 14:48:16
【问题描述】:
我正在尝试通过扩展 Picker 控件并添加 TextColor 属性并在 Android(最终是 iOS)平台上使用自定义渲染器来组合两个概念,即扩展标准控件和 application theming。如果静态设置如下,我可以成功设置 TextColor 属性并让它显示颜色:
<controls:ExtendedPicker TextColor="Red"/>
此过程的最后一步是能够从动态资源中提取属性并使其能够在运行时进行更改。
<controls:ExtendedPicker Style="{DynamicResource pickerStyle}"/>
然后,在 Application.Resources ResourceDictionary 中:
<Color x:Key="textColor"/>
...
<Style x:Key="pickerStyle" TargetType="controls:ExtendedPicker">
<Setter Property="TextColor" Value="{DynamicResource textColor}" />
</Style>
请注意,这种选择 TextColor 的方法适用于 Label 等原生控件。代码编译并运行,但在运行时更改时似乎没有选择动态资源颜色设置。我假设这是我在自定义渲染器中处理此问题时缺少的东西,但不知道要寻找什么。
【问题讨论】:
标签: xaml xamarin xamarin.forms