[WPF] 附加属性、行为(Behavior)触发方法(下)
上一节我们使用的是一个扩展方法来实现我们的要求
那么现在我们使用Behavior 来实现这种功能
首先我们需要在View中引用Behavior的 namespace
xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
然后我们创建该Behavior的触发方式
<b:Interaction.Triggers>
<b:EventTrigger EventName="Loaded">
<b:CallMethodAction
MethodName="Load"
TargetObject="{Binding}" />
</b:EventTrigger>
</b:Interaction.Triggers>
<Grid/>
如上面代码所示,我们使用一个触发器来触发。
这种工作方式是事件触发器将监视指定事件在视图中触发,然后我们将调用包含在子元素中的Behavior。
我们将事件触发器正在监视的事件切换为“Loaded” ,因为这是我们要使用的事件,现在,在 CallMethodAction 行为上,
它需要知道它将调用什么。
因此,目标对象有一个属性(TargetObject),我们可以将其设置为Binding,相当于将目标设置为当前的View ,表示绑定将产生对整个数据上下文的引用,这是我们在 mvvm中 的 ViewModel。
然后有一个单独的方法名称属性,我们可以将其设置为我们需要触发的 Load 方法。
这实现了 与附加行为相同的功能。
它使我们可以有效地指向视图模型(ViewModel) 上的方法,并声明在加载事件触发时应调用该方法。
作者:ganbei
出处:https://www.cnblogs.com/ganbei/p/15631446.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
分类:
WPF
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现