我已经在EDIT 2中重新表述了我的问题
大家好,我在WPF中有一个组合框。当我设置SelectedIndex属性时,它会触发SelectionChanged事件,这是正确的行为。但是我想让ComboBox在我以编程方式设置SelectedIndex属性时不触发事件。有办法做到吗?
我正在使用.Net 4.5
EDIT 1: 代码
public void AddLocation()
{
List<String> locations = new List<String>();
//LocationBox is the name of ComboBox
LocationBox.ItemsSource = locations;
locations.Add("L1");
locations.Add("B1");
locations.Add("B3");
LocationBox.SelectedIndex = 2; //<-- do not want to raise SelectionChanged event programmatically here
locations.Add("G1");
locations.Add("G2");
locations.Add("F1");
locations.Add("F3");
}
private void LocationBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
Console.WriteLine(LocationBox.SelectedIndex);
}
编辑2:重新表述问题
我想在ComboBox中静默选择一个项目,即在没有用户交互的情况下(使用代码/以编程方式),这样它就不会触发SelectionChanged事件。我该怎么做?