WPF datagrid combobox-Spalte: wie handhabt Falle der Auswahl geändert?
Ich habe ein datagrid mit einer combobox-Spalte
<DataGridComboBoxColumn x:Name="DataGridComboBoxColumnBracketType" Width="70" Header="Tipo di staffa" SelectedValueBinding="{Binding type, UpdateSourceTrigger=PropertyChanged}">
</DataGridComboBoxColumn>
Möchte ich ein Ereignis wird nur ausgelöst, wenn der Benutzer ändert den Wert in der combobox.
Wie kann ich dies beheben?
- Sie müssen, um es zu ändern zurück, wie Sie zuvor hatte es mit dem Selektor.Ausgewählt und mithilfe des Rasters. Um Zugriff auf die ComboBoxItem ich glaube, Sie würde haben, um einen Drilldown in die ComboBox selbst.
- Was ist das problem? Ist es nur, dass der handler nicht aufgerufen wird? Ich wundere mich über den Umfang, vielleicht auch der Stil definiert eine root-Ressource-Wörterbuch.
- Warum können Sie nicht einfach abonnieren
PropertyChanged
auftype
im viewmodel?? - meinst du, dass ich brauchen, um zu verwalten, dieses Problem in den Satz der type-Eigenschaft?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich eine Lösung gefunden, um diese auf CodePlex. Hier ist es mit einigen änderungen:
und in der code-behind:
Und den xaml-code von @kevinpo aus CodePlex und Hilfe von David Mohundro s blog, programmatisch:
Abgeschlossen Kevinpo Antwort, für die code-behind-sollten Sie einen gewissen Schutz, weil das selectionChanged-Ereignis ausgelöst wird 2 mal mit einem datagridcolumncombobox:
1) vor-trigger : wenn Sie gewählt werden, ein neues Element
2) der Zweiten trigger : wenn du auf einen anderen datagridcolumn Sie nach der Auswahl ein neues Element
Das problem ist, dass auf der zweiten trigger der ComboBox
Wert ist null, weil Sie nicht haben, verändert das ausgewählte Element.
Das war mein problem, ich wünschte, es hilft jemand anderes !