記事のカテゴリー: C#、.NET 9、WPF
ListViewの項目のソートを実装したい場合などに、ListViewのヘッダーをクリックしたときに発生するイベントにコマンドをバインディングするXAMLのコードです。 サンプルでは省いていますが、ViewModel側では、コマンドを用意して、引数でイベントが発生した列を判断して、処理(項目のソートなど)をします。
サンプル1
XAML:
<ListView> <ListView.View> <GridView> <GridViewColumn> <GridViewColumnHeader Content="名前" Command="{Binding SortCommand}" CommandParameter="Name" /> ... </GridViewColumn> </GridView> </ListView.View> </ListView>
サンプル2
サンプル2では、コマンドの引数にGridViewColumnHeaderのTagプロパティの値を渡しています。あらかじめ各列のTagプロパティにデータを設定しておき、それを引数を介して取得して処理(項目のソートなど)をします。
XAML:
<ListView> <ListView.Resources> <Style TargetType="GridViewColumnHeader"> <Setter Property="Command" Value="{Binding SortCommand}" /> <Setter Property="CommandParameter" Value="{Binding Tag, RelativeSource={RelativeSource Self}}" /> </Style> </ListView.Resources> <ListView.View> <GridView /> </ListView.View> </ListView>
0 件のコメント:
コメントを投稿