前言:在WFP中,不是所有的控件都有Command,例如Textbox,要调用文本改变事件,没有Command就可以用到EventToCommand来解决,EventToCommand可以将事件Text Changed或者Checked转换成命令方式。
一,引用外部插件
bll外部插件:System.Windows.Interactivity.dll
(1)把这个外部插件放到bin目录下的Debug文件夹中
(2)在vs开发工具中的引用——添加引用——浏览存放bll外部插件的目录选择到System.Windows.Interactivity.dll
引用好后:
二,运用外部插件
(1)XAML中命名空间的引用方法:
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
namespace:本地命名空间的引用
(2)调用命名空间
<i:Interaction.Triggers>
<i:EventTrigger EventName="Loaded">
<i:InvokeCommandAction Command="{Binding LoadedCommand}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
理解:
(1)EventTrigger事件触发器
(2)EventName="Loaded"调用的是窗口加载时的事件
(3)Command="{Binding LoadedCommand}" 自己命名的命令
(4)CommandParameter 接收当前窗口传递参数
三,使用
(1)声明命令
public RelayCommand<Window> LoadedCommand { get; set; }
(2)命令方法
private void Loaded(Window window)
{
//方法体
}