如何在 UWP 使用 wpf 的 Trigger
本文需要告诉大家,如何使用 Behaviors 做出 WPF 的 Trigger ,需要知道 UWP 不支持 WPF 的 Trigger 。
安装 Behaviors
请使用 Nuget 安装,可以输入下面的代码进行安装
Install-Package Microsoft.Xaml.Behaviors.Uwp.Managed
或者搜索 Microsoft.Xaml.Behaviors
下载
他的官网在 Behaviors
以前的代码
在 WPF 开发,可以写出下面代码
<Button>
<Image>
<Image.Style>
<Style TargetType="Image">
<Style.Triggers Property="IsEnabled" Value="False">
<Setter Property="Opacity" Value="0.5"></Setter>
</Style.Triggers>
</Style>
<Image.Style/>
</Image>
</Button>
在 Button IsEnabled 设置图片的透明,但是 UWP 不支持,所以需要使用别的方法。
UWP 使用 Trigger
上面的代码可以很简单用 DataTriggerBehavior 来做。需要知道的是 DataTriggerBehavior 是 Behaviors 的一个东西,所以需要安装之后才可以使用。请看下面的代码。
<Button x:Name="MyButton" Margin="10,10,10,10" Width="140" Height="80">
<Image x:Name="MyImage" Source="Assets/动漫.jpg">
<interactivity:Interaction.Behaviors>
<core:DataTriggerBehavior Binding="{Binding IsEnabled, ElementName=MyButton}" Value="False">
<core:ChangePropertyAction TargetObject="{Binding ElementName=MyImage}" PropertyName="Opacity" Value="0.5" />
</core:DataTriggerBehavior>
</interactivity:Interaction.Behaviors>
</Image>
</Button>
这里的代码不能直接复制使用,需要先添加命名空间和寻找一张图片,因为图片使用的是Assets/动漫.jpg
,所以需要把他修改为你的图片的所在,如何写参见win10 uwp 访问解决方案文件
命名空间
xmlns:Interactivity="using:Microsoft.Xaml.Interactivity"
xmlns:core="using:Microsoft.Xaml.Interactions.Core"
不需要在后台写什么,直接运行可以看到在
按钮可以使用时的图片
按钮无法使用时的图片
请使用 DataTriggerBehavior 的Binding 连到需要修改的属性,在 Value 判断他的值。
然后可以在得到的值判断,修改透明
可以看到使用方法和动画一样
如果使用 MVVM 的话,可以把透明绑到一个属性,通过返回来设置,如果按钮有 IsMyButtonEnabled
那么可以使用下面的代码绑定透明,因为很简单我就不说啦。
return IsMyButtonEnabled ? 1.0 : 0.5;
参见:Trigger element (XAML) is not supported in a UWP project
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接:http://blog.csdn.net/lindexi_gd ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系。
博客园博客只做备份,博客发布就不再更新,如果想看最新博客,请访问 https://blog.lindexi.com/
如图片看不见,请在浏览器开启不安全http内容兼容

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名[林德熙](https://www.cnblogs.com/lindexi)(包含链接:https://www.cnblogs.com/lindexi ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我[联系](mailto:lindexi_gd@163.com)。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异