MVVM 框架

在 MVVM Light 框架中,事件是 WPF 应用程序中 UI 与后台代码进行交互的最主要方式,
与传统方式不 同,mvvm 中主要通过绑定到命令来进行事件的处理, 因此要了解 mvvm 中处
理事件的方式,就必须先熟悉命令的工作原理。
命令的作用的最大的特点就是解耦 View 和 ViewModel 的行为交互,将视图的显示和业务逻辑
分开所谓的解耦就是降低 View 与 ViewModel 之间的依赖行为。进行命令的绑定,触发点击操
作的时候,这个按钮实际完成 的是对应 ViewModel 中的所绑定的方法的执行。
WPF 命令是通过实现 ICommand 接口创建的。 ICommand 公开了两个方法(
Execute 及
CanExecute)和一个事件(
CanExecuteChanged)。
RelayCommand 通过构造函数初始化 Execute 和 CanExecute 方法,因此,构造函数传入的是
委托类 型的参数。
其中比较重要的就是 Converter,ConverterParameter,Source,RelativeSource,ElementName,
Mode。
分别是参数转换器,要进行转换的参数,绑定源,自定义绑定源,绑定的元素名称,绑定的
模式。
比如说当要对窗口进行操作时,必须要在获取命令时,使用参数 ConverterParameter 传递窗
口(window)参数
并不是所有的控件都是有命令的。但是又不能使用事件去调用方法,所以要将事件转换为命

将事件转换为命令的固定格式:
引用
xmlns:i=“clr-namespace:System.Windows.Interactivity;assembly=System.Windows
<i:Interaction.Triggers>
<i:EventTrigger EventName=“Loaded”> //Loaded 为事件
<i:InvokeCommandAction
Command=”{Binding
LoadedCommand}"
CommandParameter=“{Binding ElementName=WLogin}” />
</i:EventTrigger>
</i:Interaction.Triggers>
还有一种方式就是使用 InputBindings 属性
InputBindings:获取与此元素关联的输入绑定的集合。内容为一个或多个 InputBinding 元
素(通常为 KeyBinding 或 MouseBinding 派生类)。 其中每个都应具
有 Command 和 Gesture 属性集

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值