数据触发器可以用外部样式吗

问题描述 投票:0回答:1

我刚刚开始使用 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>

这可能吗?或者我只能以内联方式使用这样的数据触发器吗? 预先感谢!

maui styling datatrigger
1个回答
0
投票

可以通过将样式添加到应用程序的资源字典中来全局定义样式。您可以将样式代码添加到 App.xaml 文件中:

<Application.Resource>
    <ResourceDictionary>
        ...
        <Style x:Key="DefaultLabelStyle"> ...
     </ResourceDictionary>
</Application.Resource>

此后,您可以直接在页面中使用该样式:

<Label
    Text="{Binding TaskStatus}"
    Style="{StaticResource DefaultLabelStyle}" 
    .../>

更多信息可以参考全局样式

© www.soinside.com 2019 - 2024. All rights reserved.