У меня есть простой пример кода WinForms, который я пытаюсь перевести в WPF. Идея состоит в том, чтобы изменить элементы внутри ComboBox, если выбран определенный элемент, и снова выпустить ComboBox, если это произошло. Код WinForms:
if (list.Text.Equals("C>>"))
{
comboBox1.Items.Clear();
comboBox1.Items.Add("<<");
comboBox1.Items.Add("C1");
comboBox1.Items.Add("C2");
comboBox1.Items.Add("C3");
comboBox1.Items.Add("C4");
comboBox1.Items.Add("C5");
comboBox1.Items.Add("C6");
comboBox1.DroppedDown = true;
}
Хотя я подумал, что это было бы довольно простым изменением, используя
private void hotListBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (hotListBox.SelectedItem != null)
{
if (hotListBox.SelectedItem.Equals("b >>"))
{
hotListBox.ItemsSource = secondList;
hotListBox.IsDropDownOpen = true;
}
else if (hotListBox.SelectedItem.Equals("<<"))
{
hotListBox.ItemsSource = initialList;
hotListBox.IsDropDownOpen = true;
}
else if (hotListBox.SelectedItem.Equals("d >>"))
{
hotListBox.ItemsSource = thirdList;
hotListBox.IsDropDownOpen = true;
}
}
}
в WPF, похоже, не работает так же. Мне было интересно, если кто-нибудь знает, как это сделать?
Как отмечено в комментариях, я должен сказать, что элементы в ComboBox обновляются, как и ожидалось, но в коде WPF он не выпадает снова.
Приветствия
РЕДАКТИРОВАТЬ: обновленный код