我刚刚开始使用 MAUI,我想应用一种将在多个带有数据触发器的页面上使用的样式。这是我想要实现的目标:
TestPage 包含这样的标签:
<Label
Text="{Binding TaskStatus}"
VerticalOptions="Center"
HorizontalOptions="Center"
Grid.Row="0"
Grid.Column="0"
Style="{StaticResource DefaultLabelStyle}" />
然后 DefaultStyleResource 文件包含以下内容:
<Style x:Key="DefaultLabelStyle"
TargetType="Label">
<Style.Triggers>
<DataTrigger
TargetType="Label"
Binding="{Binding TaskStatus}"
Value="4">
<Setter
Property="TextColor"
Value="{DynamicResource Blue}" />
</DataTrigger>
</Style.Triggers>
</Style>
这可能吗?或者我只能以内联方式使用这样的数据触发器吗? 预先感谢!
可以通过将样式添加到应用程序的资源字典中来全局定义样式。您可以将样式代码添加到 App.xaml 文件中:
<Application.Resource>
<ResourceDictionary>
...
<Style x:Key="DefaultLabelStyle"> ...
</ResourceDictionary>
</Application.Resource>
此后,您可以直接在页面中使用该样式:
<Label
Text="{Binding TaskStatus}"
Style="{StaticResource DefaultLabelStyle}"
.../>
更多信息可以参考全局样式。