Czy można powiązać słownik z listboxem, zachowując synchronizację między listbox a właściwością member?Jak powiązać słownik z ListBox w winformach?
19
A
Odpowiedz
35
var choices = new Dictionary<string, string>();
choices["A"] = "Arthur";
choices["F"] = "Ford";
choices["T"] = "Trillian";
choices["Z"] = "Zaphod";
listBox1.DataSource = new BindingSource(choices, null);
listBox1.DisplayMember = "Value";
listBox1.ValueMember = "Key";
(Bezwstydnie podnoszone z moim własnym blogu. Bind a ComboBox to a generic Dictionary)
Oznacza to, że można używać SelectedValue zdobyć odpowiedniego klucza słowniku dla wybranego elementu w ListBox.
0
Myślę, że możesz wykorzystać do tego zdarzenia. Ilekroć coś zmieni się w ListBox, metoda eventHandler doda/usunie to samo ze słownika.
0
label1.Text= listBox1.SelectedIndex.ToString();
if (listBox1.SelectedItem is KeyValuePair<int,DockStyle>)
{
var temp1 = (KeyValuePair<int, DockStyle>)listBox1.SelectedItem;
label3.Text = temp1.Key.ToString();
label4.Text = temp1.Value.ToString();
}
Powiązane problemy
- 1. Hostowanie formantów WPF w WinFormach
- 2. IDataErrorInfo w winformach
- 3. Combobox z polem wyboru w winformach
- 4. Rysuj poziomy dzielnik w winformach
- 5. Jak zintegrować OpenStreet Map w C# winformach
- 6. Jaki jest właściwy sposób załadowania ListBox?
- 7. Jak powiązać z usługą tylko uzyskać akcesor
- 8. Databinding z listbox
- 9. ListBox SelectedItems Binding
- 10. Jak powiązać kolekcja CollectionContainer z kolekcją w modelu widoku?
- 11. Jak wygenerować słownik z Autofixture
- 12. Jak powiązać z RelativeSource Self?
- 13. Jak powiązać kategorię z postpressem?
- 14. Jak powiązać przycisk z ListView.SelectedItem
- 15. Usunąć przedmiot z ListBox?
- 16. Jak powiązać z s-up?
- 17. Jak powiązać zmienne z zamknięciem?
- 18. Jak powiązać zdarzenie z sessionStorage?
- 19. Jak powiązać StaticResource z konwerterem?
- 20. Jak powiązać ItemsControl.ItemsSource z właściwością w XAML?
- 21. Powiąż słownik dla repeatera
- 22. Słownik z kluczami w Unicode
- 23. Jak usunąć wiele wybranych elementów z ListBox?
- 24. Powiązanie ListBox do listy (kolekcja) w XAML
- 25. Jak powiązać z CurrentItem z ICollectionView
- 26. Usunąć elementy z ListBox w WPF?
- 27. Listbox Databinding w WPF
- 28. Jak powiązać C- = w emacs?
- 29. Jak odwrócić słownik w Julia?
- 30. Jak odwrócić słownik w Pythonie?
Czy rzeczywiście wymaga "BindingSource"? –
Tak, z mojego doświadczenia, potrzebuje BindingSource. –
Próbowałem tego i działa częściowo, tzn. Jeśli to zrobię, po ustawieniu źródła danych dla listbox: wybory ["M"] = "abc"; choice.Remove ("T"); Listbox nie odzwierciedla zmian w słowniku opcji ... –