【WPF/WAF】使用System.Windows.Interactivity交互事件 原文:【WPF/WAF】使用System.Windows.Interactivity交互事件
下载System.Windows.Interactivity.dll文件,并引入项目中(在VS项目的引用列表中可以看到)。可在Nuget搜索System.Windows.Interactivity下载安装到项目中。
XAML中使用该dll
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
<!-- TextBox控件的获得焦点、失去焦点事件 --><TextBox Text="Test"><i:Interaction.Triggers><i:EventTrigger EventName="LostFocus"><i:InvokeCommandAction Command="{Binding RelativeSource={RelativeSource AncestorType=Window},Path=DataContext.OnTextLostFocus}"CommandParameter="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorLevel=1, AncestorType={x:Type TextBox}}}"/></i:EventTrigger><i:EventTrigger EventName="GotFocus"><i:InvokeCommandAction Command="{Binding RelativeSource={RelativeSource AncestorType=Window},Path=DataContext.OnTextGotFocus}"CommandParameter="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorLevel=1, AncestorType={x:Type TextBox}}}"/></i:EventTrigger></i:Interaction.Triggers></TextBox>
由于VS中不支持System.Windows.Interactivity的智能提示,经常要查阅这个EventTrigger还能触发哪些方法,所有EventName的列表如下:
MSDN中Grid Events /en-us/library/system.windows.controls.grid_events(v=vs.110).aspx posted on -10-20 17:24 NET未来之路 阅读(...) 评论(...) 编辑 收藏