c# - WinUI UWP项目中是否有类似WPF-DataTrigger的东西?
问题描述
我想根据绑定值更改样式,为此我在 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>
推荐阅读
- node.js - 计算NodeJS中的日期时间差
- python - 对 PySpark 数据帧进行二进制编码的最快方法?
- ios - "grpc_message":"收到错误代码 8 的 RST_STREAM","grpc_status":1
- matlab - 如何在循环中对函数的输出求和?
- r - 无法在 R 中加载“插入符号”
- java - 如何设置 Heroku 托管的 Twitter 机器人定期运行,在运行之间关闭测功机?
- docker - Docker 映像在 IoT Edge 容器创建选项中看不到 Privileged 设置为 True 的 GPIO 引脚
- perforce - 在 Perforce 中搜索存储库中的所有文件以查找模式
- python - 如何上传和显示图像 django 2?
- haskell - 如何通过 Haskell 中的列表理解重新创建“获取”功能?