在建立form based application 時常常都會觸發事件, 而以往都會在code-behind 處理, 然而這樣會令測試變得難以透過Unit Test Project 自動化. 亦因此在WPF 中亦有方法去應對.
加入 System.Windows.InterActivity 作reference 後, 再於需要叫用的form 加入以下xml namespace 作叫用.
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
使用範例:
<DataGrid>
<i:Interaction.Triggers>
<i:EventTrigger EventName="SourceUpdated">
<i:InvokeCommandAction Command="{Binding SelectedExternalDataUpdated}" />
</i:EventTrigger>
<i:EventTrigger EventName="SelectionChanged">
<i:InvokeCommandAction Command="{Binding SelectedExternalDataChanged}" />
</i:EventTrigger>
</i:Interaction.Triggers>
<DataGrid>
Leave a Reply