Xamarin:如何为所有标签覆盖标签样式类?

时间:2019-04-12 16:08:30

标签: xml xamarin xamarin.forms xamarin.android

在nuget程序包中,有一个Xaml文件,其内容为:

<Style x:Key="LabelBase" TargetType="Label">
    <Setter Property="TextColor" Value="Green" />
</Style>

<Style
    BasedOn="{StaticResource LabelBase}"
    Class="Primary"
    TargetType="Label">
</Style>

在当前项目App.xaml中,我有:

<Style TargetType="Label">
   <Setter Property="TextColor" Value="Red" />
</Style>

ResourceDictionary具有MergedWith="XAMLFILE",即.get的nuget文件ResourceDictionary。

在页面的AbsoluteLayout中,我有一个标签

<Label
    Grid.Row="0"
    FontSize="45"
    HorizontalTextAlignment="Center"
    StyleClass="Primary"
    Text="Text Value"
    VerticalOptions="Center" />

如何在项目App.Xaml中覆盖Primary StyleClass,以使文本颜色继承红色而不创建新的styleclass?

1 个答案:

答案 0 :(得分:2)

如果您希望将该主题应用于所有标签,只需删除该类即可,它应该可以工作:

<Style
BasedOn="{StaticResource LabelBase}"
TargetType="Label">
</Style>

请确认您没有钥匙,并且样式在APP.xaml中

祝你好运

随时还原。