我的XAML资源可以从另一个XAML资源继承吗?

时间:2018-07-17 05:51:35

标签: xamarin xamarin.forms

我有这个XAML:

<Style x:Key="helpDetail" TargetType="Label">
    <Setter Property="TextColor" Value="#555555" />
    <Setter Property="FontSize" Value="14" />
</Style>
<Style x:Key="HelpGrid0" TargetType="Label">
    <Setter Property="TextColor" Value="#555555" />
    <Setter Property="FontSize" Value="14" />
    <Setter Property="Grid.Column" Value="0" />
</Style>
<Style x:Key="HelpGrid1" TargetType="Label">
    <Setter Property="TextColor" Value="#555555" />
    <Setter Property="FontSize" Value="14" />
    <Setter Property="Grid.Column" Value="1" />
</Style>

有没有一种方法可以消除在第二个两个资源中指定FontSize的需要?

1 个答案:

答案 0 :(得分:1)

当然,您可以使用样式继承。使用BasedOn属性并指定要作为第二种样式基础的样式的名称。然后,您只需指定与第一种样式不同的属性即可。

即:

<Style x:Key="HelpGrid0" TargetType="Label" BasedOn="{StaticResource helpDetail}">
    <Setter Property="Grid.Column" Value="0" />
</Style>

更多信息:https://docs.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/styles/xaml/inheritance