XAML 通过触发器MAUI应用资源中的样式

nszi6y05  于 2022-12-07  发布在  其他
关注(0)|答案(1)|浏览(192)

我想在我的MAUI应用程序中应用一些样式(颜色)到环绕条目的边框。当条目聚焦时,我希望它的边框是蓝色的,而当条目未聚焦时,它的边框是灰色的。在Styles.xaml中可以用触发器实现这一点吗?
第一个

2vuwiymt

2vuwiymt1#

您可能需要执行以下操作:

<Border Style="{StaticResource LogInEntryBoarder}">
    <Entry Placeholder="{x:Static res:AppRes.E_mail}" Focused="Entry_Focused" x:Name="Email_Entry" Style="{StaticResource LoginEntry}"/>
    <Border.Triggers>
        <DataTrigger TargetType="Border"
                     Binding="{Binding Source={x:Reference Email_Entry}, Path=IsFocused}"
                     Value="True">
            <Setter Property="Stroke" Value="Blue"/>
        </DataTrigger>
        <DataTrigger TargetType="Border"
                     Binding="{Binding Source={x:Reference Email_Entry}, Path=IsFocused}"
                     Value="False">
            <Setter Property="Stroke" Value="Grey"/>
        </DataTrigger>
    </Border.Triggers>
</Border>

在此解释如下:https://learn.microsoft.com/en-us/dotnet/maui/fundamentals/triggers#data-triggers
您不能直接使用Styles来实现,因为您需要绑定到不同的View元素。我认为DataTrigger方法是合适的方法。

相关问题