記事のカテゴリー: 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 件のコメント:
コメントを投稿