Wpf 当组合框位于ListView单元格中时,如何通过委托命令处理SelectionChanged事件
“”,此页显示如何扩展组合框以支持命令,但它没有提供映射到组合框的SelectedIndexChanged事件的委托命令的圆顶。现在,我面临的问题是如何处理combobox SelectedIndexChanged事件,就像它是一次性combobox情况一样:Wpf 当组合框位于ListView单元格中时,如何通过委托命令处理SelectionChanged事件,wpf,combobox,command,selectedindexchanged,Wpf,Combobox,Command,Selectedindexchanged,“”,此页显示如何扩展组合框以支持命令,但它没有提供映射到组合框的SelectedIndexChanged事件的委托命令的圆顶。现在,我面临的问题是如何处理combobox SelectedIndexChanged事件,就像它是一次性combobox情况一样: <ComboBox SelectionChanged="ComboBox_SelectionChanged"></ComboBox> private void ComboBox_SelectionChanged(o
<ComboBox SelectionChanged="ComboBox_SelectionChanged"></ComboBox>
private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
var combobox = sender as ComboBox;
if (combobox.SelectedIndex == 0)
{
//todo:
}
}
我想这样定义方法:
private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
var combobox = sender as ComboBox;
if (combobox.SelectedIndex == 0)
{
//todo:
}
}
但是如何将其绑定到委托命令ChangeStartModeCmd
ChangeStartModeCmd = new DelegateCommand(ChangeStartMode(
/*what should I pass for the method?*/));
您可能不需要
CommandSupportedCombobox
,因为您可以附加组合框的SelectedItem
属性,并在ViewModel中的setter
中调用所需的函数
Xaml
ChangeStartModeCmd = new DelegateCommand(ChangeStartMode);
private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
var combobox = sender as ComboBox;
if (combobox.SelectedIndex == 0)
{
//todo:
}
}
ChangeStartModeCmd = new DelegateCommand(ChangeStartMode(
/*what should I pass for the method?*/));
<ComboBox SelectedItem="{Binding MyItem,Mode=TwoWay}" />
public MyItem
{
get {return myItem;}
set
{
myItem=value;
OnPropertyChanged("MyItem"); implement INotifyPropertyChanged
MyFavFunction(); // Function to be called
}
}