我想根据绑定值更改样式,为此我在 WPF 中使用了 DataTriggers。现在我试图在 WinUI 项目中实现相同的目标,但由于 WinUI 中没有 DataTriggers,我无法更进一步。
在进一步分析中,我发现包 Microsoft.Xaml.Behaviors.WinUI.Managed 在 WinUI 项目中使用行为,但我无法在 WinUI UWP 项目中安装它。
注意:由于 VisualStateManager 只包括常见的状态,我不能在这里应用它。
我发现包 Microsoft.Xaml.Behaviors.WinUI.Managed 在 WinUI 项目中使用行为,但我无法在 WinUI UWP 项目中安装它。
可用的 xaml 行为包是Microsoft.Xaml.Behaviors.Uwp.Managed
,您可以将其安装到您的 uwp 项目中,并用于DataTriggerBehavior
根据特定的绑定数据控制您的 xaml。
<Rectangle x:Name="DataTriggerRectangle">
<Interactivity:Interaction.Behaviors>
<Interactions:DataTriggerBehavior Binding="{Binding Value, ElementName=slider}" ComparisonCondition="GreaterThan" Value="50">
<Interactions:ChangePropertyAction TargetObject="{Binding ElementName=DataTriggerRectangle}" PropertyName="Fill" Value="{StaticResource PaleYellowBrush}"/>
</Interactions:DataTriggerBehavior>
<Interactions:DataTriggerBehavior Binding="{Binding Value, ElementName=slider}" ComparisonCondition="LessThanOrEqual" Value="50">
<Interactions:ChangePropertyAction TargetObject="{Binding ElementName=DataTriggerRectangle}" PropertyName="Fill" Value="{StaticResource RoyalBlueBrush}"/>
</Interactions:DataTriggerBehavior>
</Interactivity:Interaction.Behaviors>
</Rectangle>