C# Combobox Auswahl zu string?
Guten Tag Community,
ich habe ein aktuelles Project in WPF. Nun zum Problem, undzwar möchte ich das ausgewählte Element aus der ComboBox in einen String speichern. Dazu benutze ich folgende Methode:
string selected = comboBox1.SelectedItem.ToString();
Hier auch ein paar nützliche Screenshots:
https://prnt.sc/vwuomo
https://prnt.sc/vwuox2
Grüße Ree
2 Antworten
Es kommt darauf an, welche ItemSource du an die ComboBox übergeben hast. Angenommen, das war eine Liste an Strings, würde deine Code-Zeile funktionieren, aber den Aufruf von ToString könntest du dir sparen.
Wenn du aber z.B. ComboBoxItem-Objekte hineingelegt hast, braucht es erst einen Typecast.
var selected = (ComboBoxItem)comboBox1.SelectedItem.Content?.ToString();
Solltest du versuchen, diese Informationen in einem Handler für das DropDownOpened-Event abzufragen, musst du dich dabei vor NullReference-Exceptions rüsten. Immerhin ist beim ersten Öffnen der Dropdownliste meist noch kein Element selektiert.
Für WPF die vollkommen falsche Herangehensweise ...
Du solltest dir das MVVM-Pattern angewöhnen und per Bindings arbeiten
Hier ein einfaches Beispiel:
https://www.c-sharpcorner.com/article/explain-combo-box-binding-in-mvvm-wpf/