特定の に関連付けられたプロパティの名前を取得しようとしているDataGridColumn
ので、それに基づいていくつかのことを実行できます。この関数は、ユーザーが列のヘッダーのコンテキスト メニュー項目をクリックすると呼び出されます...
これは、バインドされているため、 のようなすぐに使用できる既製の列タイプでは問題ありませんDataGridTextColumn
が、問題は、私の列の一部がDataGridTemplateColumns
バインドされていないことです。
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...
}
たとえば、私のName
コラムを見てみましょう...それはDataGridTemplateColumn
(そこに画像やその他のものが含まれているため)です。したがって、実際には「名前」プロパティにバインドされていません...しかし、上記のコードが機能するようにしたいと思います。
私の質問は 2 部構成です。
DataGridTemplateColumn
上記のコードが機能するように、BOUND にすることは可能ですか? どういうわけかプロパティにバインドできますか?または、まったく別の何かが必要で、上記のコードを変更する必要がありますか?
前もって感謝します!
で