WPF MVVM模式开发实现简明教程 2 初识 INotifyPropertyChanged
WPF MVVM模式开发实现简明教程 3-1 BaseCommand
WPF MVVM模式开发实现简明教程 4 ViewModelBase
WPF MVVM模式开发简明实现教程 5 使用MultiValueConverter进行多参数事件绑定
WPF MVVM模式开发简明实现教程 7 DevExpress MVVM
事件绑定有至少两种方法
这里只会讲这两种,其他方法请自行研究
- CallMethodAction
View:
<Button Content="{Binding ButtonContent}" x:Name="button" > <b:Interaction.Triggers> <b:EventTrigger EventName="Click" > <b:CallMethodAction TargetObject="{Binding}" MethodName="Button_Click" /> </b:EventTrigger> </b:Interaction.Triggers> </Button>
ViewModel:
public void Button_Click(object sender, RoutedEventArgs e) { }
这种方式简单,还可以带有事件e,对一些mouse等事件很有用
- InvokeCommandAction
View:
<b:Interaction.Triggers> <b:EventTrigger EventName="Click" > <b:InvokeCommandAction Command="{Binding Button_Click}"
CommandParameter="{Binding ElementName=button}" />
</b:EventTrigger>
</b:Interaction.Triggers>
ViewModel:
private ICommand button_Click2; public ICommand Button_Click2 { get { if (button_Click2 == null) { button_Click2 = new BaseCommand((param) => { Button button = param as Button; //.... }); } return button_Click2; } }
注意如果View里没CommandParameter,ViewModel里就没有param
这种适合传递一个参数的