wpf mvvmlight combobox 指令绑定
时间: 2023-08-10 17:38:23 浏览: 197
在MVVM Light框架中,可以使用`RelayCommand`类来实现WPF中的指令绑定。具体步骤如下:
1. 在ViewModel中声明一个`RelayCommand`类型的属性,用于绑定ComboBox的指令。
```
public RelayCommand MyCommand { get; private set; }
```
2. 在ViewModel的构造函数中初始化该属性,指定其执行方法。
```
MyCommand = new RelayCommand(() =>
{
// 执行指令
// ...
});
```
3. 在View中将ComboBox的`SelectedItem`属性绑定到ViewModel中的一个字符串属性。
```
<ComboBox ItemsSource="{Binding ComboBoxItems}" SelectedItem="{Binding SelectedItem}" />
```
4. 在View中将ComboBox的指令绑定到ViewModel的`MyCommand`属性上。
```
<ComboBox ItemsSource="{Binding ComboBoxItems}" SelectedItem="{Binding SelectedItem}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectionChanged">
<i:InvokeCommandAction Command="{Binding MyCommand}" />
</i:EventTrigger>
</i:Interaction.Triggers>
</ComboBox>
```
这样,当ComboBox的选项发生改变时,就会触发ViewModel中的`MyCommand`属性绑定的方法,从而执行指令。需要注意的是,在View中使用指令绑定时需要引入`System.Windows.Interactivity`命名空间。
阅读全文