J'ai un exemple simple de code WinForms que j'essaye de traduire en WPF. L'idée est de changer les éléments dans un ComboBox si un certain élément est sélectionné et redescendre le ComboBox si cela se produit. Le code WinForms est:Equivalent de WinForms ComboBox.DroppedDown dans WPF
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;
}
Bien que je pensais que ce serait tout à fait un simple changement, en utilisant
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;
}
}
}
dans WPF ne semble pas fonctionner de la même manière. Je me demandais si quelqu'un savait comment faire cela?
Comme souligné dans les commentaires, je dois dire que les éléments de la ComboBox se mettent à jour comme prévu, mais ils ne redescendent pas dans le code WPF.
Cheers,
EDIT: code mis à jour
Plus d'informations sur ce qui ne fonctionne pas exactement? Les nouveaux éléments ne sont-ils pas visibles dans la liste déroulante? Ne s'ouvre-t-il pas après? – Bubblewrap
Les nouveaux éléments sont visibles dans la zone de liste déroulante, elle ne s'ouvre pas ensuite avec le code WPF, contrairement au code WinForms. –