Ich versuche, den Namen der Eigenschaft mit einem bestimmten DataGridColumn
verbunden zu bekommen, so dass ich dann einige Sachen basierend darauf tun kann. Diese Funktion wird aufgerufen, wenn der Benutzer im Spaltenkopf auf den Kontextmenüeintrag klickt.WPF - So binden Sie eine DataGridTemplateColumn
Dies ist für die sofort einsatzbereiten Spaltentypen wie DataGridTextColumn
in Ordnung, da sie gebunden sind, aber das Problem ist, dass einige meiner Spalten DataGridTemplateColumns
sind, die nicht gebunden sind.
private void GroupByField_Click (object sender, RoutedEventArgs e){
MenuItem mi = (MenuItem)sender;
ContextMenu cm = (ContextMenu) mi.Parent;
DataGridColumnHeader dgch = (DataGridColumnHeader) cm.PlacementTarget;
DataGridBoundColumn dgbc = (DataGridBoundColumn) dgch.Column;
Binding binding = (Binding) dgbc.Binding;
string BoundPropName = binding.Path.Path;
//Do stuff based on bound property name here...
}
Also, nehmen Sie zum Beispiel meine Name
Spalte ... es ist ein DataGridTemplateColumn
(da es ein Bild und einige andere Sachen drin hat). Daher ist es nicht wirklich an die Eigenschaft 'Name' gebunden ... aber ich möchte es sein, damit der obige Code funktioniert.
Meine Frage ist zweigeteilt, wirklich:
Ist es möglich, so zu machen, wird ein
DataGridTemplateColumn
BOUND, dass der obige Code funktionieren würde? Kann ich es irgendwie an eine Eigenschaft binden?Oder brauche ich etwas ganz anderes, und ändern Sie den obigen Code?
Vielen Dank im Voraus!
AT