Я перефразировать мой вопрос в EDIT 2WPF ComboBox предотвратить событие на выбрать пункт по коду
Все, у меня есть выпадающий в 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);
}
EDIT 2: Перефразируя вопрос
Я хочу, чтобы выбрать элемент в ComboBox беззвучно т.е. без взаимодействия с пользователем (используя код/программно), поэтому он не запускает событие SelectionChanged. Как я могу это сделать?
Когда вы выбираете конкретный индекс, вы хотите, чтобы это поле со списком не работало? – HighEndGuy
Когда я программно выбираю конкретный индекс, ComboBox запускает событие SelectionChanged. Я не хочу этого в конкретном случае в моем коде. С другой стороны, он должен запускать событие SelectionChanged, когда пользователь взаимодействует с огнем ComboBox –
? я не понимаю .. если вы объясните, что слова легко понять, я могу вам помочь :) и вы должны загрузить свой исходный код – HighEndGuy