wpf combobox通过mvvm方式如何触发selectionchanged事件
要通过MVVM方式触发ComboBox的SelectionChanged事件,可以使用以下步骤:
private string _selectedItem;
public string SelectedItem
{
get { return _selectedItem; }
set
{
if (_selectedItem != value)
{
_selectedItem = value;
OnPropertyChanged(nameof(SelectedItem)); // 触发属性改变通知
}
}
}
<ComboBox ItemsSource="{Binding Items}" SelectedItem="{Binding SelectedItem, Mode=TwoWay}"/>
public ICommand SelectionChangedCommand { get; private set; }
public YourViewModel()
{
SelectionChangedCommand = new RelayCommand(OnSelectionChanged);
}
private void OnSelectionChanged()
{
// 处理选中项改变的逻辑
}
<ComboBox ItemsSource="{Binding Items}" SelectedItem="{Binding SelectedItem, Mode=TwoWay}"
SelectionChanged="{Binding SelectionChangedCommand}"/>
通过以上步骤,就可以实现在MVVM方式下触发ComboBox的SelectionChanged事件。当ComboBox的选中项改变时,ViewModel中的选中项属性会被更新,并触发相应的逻辑处理。