Laden...

[erledigt] WPF: Combobox und SelectionChanged und Text

Erstellt von m.grauber vor 11 Jahren Letzter Beitrag vor 11 Jahren 8.665 Views
M
m.grauber Themenstarter:in
343 Beiträge seit 2010
vor 11 Jahren
[erledigt] WPF: Combobox und SelectionChanged und Text

Hallo,

In einer einfachen WPF Combobox greife ich im SelectionChanged auf den Text der Combobox zu. Dort steht aber immer noch der alte Text drinnen:


<Combobox .... SelectionChanged="Combobox_SelectionChanged_1"


private void Combobox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    MessageBox.Show(Combobox.Text);
}

  • Warum wird dort noch nicht bereits der neue Text angezeigt? (Die Methode heißt doch "SelectionChanged" und nicht "BeforeSelectionChanged"?

  • Wie kann ich bereits auf einfachste und schnelle Weise den neuen Text anzeigen? Nutzt ihr ein anderes Event o. a.? (Ich rufe im SelectionChanged eine weitere allgemeingültige Methode auf; daher bitte nicht e.AddedItems[0]... vorschlagen. Ich muss von dieser externen Methode auf "Combobox.Text" zugreifen, da es dort kein e gibt).

  • Warum schreibt VS 2012 bei jeder automatisch generierten Methode "_1" ans Ende? - Unter VS 2010 war das noch nicht so. Ändert ihr das jedes Mal?

Besten Dank!

Mfg
Michael

PS: Ich stelle nur Fragen, wenn ich in Büchern, im Web und in Foren nichts gefunden habe. Dumme Fragen bitte ich zu entschuldigen!

:] VISUAL STUDIO 2017 + .NET FRAMEWORK 4.5 + SQL-Server 2012 :]

C
258 Beiträge seit 2011
vor 11 Jahren
comboBox1.SelectedItem

gibt dir nicht das richtige zurück?

M
m.grauber Themenstarter:in
343 Beiträge seit 2010
vor 11 Jahren

Hallo Console 32,

Vielen Dank! Durch das Binding gibt es das Objekt. Natürlich kann ich das Casten und erhalte dann Zugriff auf den Namen, der auch angezeigt wird. Doch muss ich immer so vorgehen? Das ist doch schon eine seltsame Verhaltensweise zwischen SelectionChanged und dem Inhalt von .Text?

Aber wenn es so sein muss, werde ich das natürlich wieder Casten und es passt. Ich gehe halt lieber den direkten und weniger rechenintensiven Weg.

Beste Grüße!

Mfg
Michael

PS: Ich stelle nur Fragen, wenn ich in Büchern, im Web und in Foren nichts gefunden habe. Dumme Fragen bitte ich zu entschuldigen!

:] VISUAL STUDIO 2017 + .NET FRAMEWORK 4.5 + SQL-Server 2012 :]

C
258 Beiträge seit 2011
vor 11 Jahren

Da es sich um eine ComboBox handelt arbeitet man mit dem aktuellen Item, nicht mit dem Text (ebenso wie bei einem ListView)

Das man immer Casten muss liegt daran das man den Items auch Komplexe Klassen zuweißen kann die ComboBox ruft dann immer das ToString des objects auf. Warum es keine Generische Version von ComboBox gibt bei der du den Typ der Items festlegen kannst weiß ich nicht.

M
m.grauber Themenstarter:in
343 Beiträge seit 2010
vor 11 Jahren

Hallo Console32!

Dann nochmals vielen Dank! 👍 Dann werde ich so arbeiten.

Winterliche 🙂 Grüße

Mfg
Michael

PS: Ich stelle nur Fragen, wenn ich in Büchern, im Web und in Foren nichts gefunden habe. Dumme Fragen bitte ich zu entschuldigen!

:] VISUAL STUDIO 2017 + .NET FRAMEWORK 4.5 + SQL-Server 2012 :]