WPF Mvvm模式下面如何将事件映射到ViewModel层
前言
平常用惯了Command绑定,都快忘记传统的基于事件编程模式了,但是Commond模式里面有个明显的问题,就是你无法获取到事件源的参数。很多大聪明肯定会说,这还不简单,通过自己写控件,给控件加个自定义属性不就行了,想要啥事件就写啥事件进去,完全自主可控。但是对于写控件这种事情来说大部分人都还是比较吃力的,及时能写,你能保证你写的没有bug,后期使用不会引入别的问题。其实这一块WPF底层早都已经考虑到了并封装好了常用的Behaviors,只是好多人还不了解咋使用罢了。其实用法很简单,就用到到了微软提供的:Microsoft.Xaml.Behaviors
本人用的是.net framwork(4.5.2)框架,不同框架有可能用到的命名空间不一样。
前期准备
- 页面引入相关命名空间:
xmlns:i=“http://schemas.microsoft.com/xaml/behaviors”
引入后的效果如下图:
2. 在相关空间的事件里面加入如下代码:
<i:Interaction.Triggers