DataGrid – IsSelectedの使い方

C#

せっかくDataGridが標準で装備しているプロパティなのに、あまり使われてる印象がないので勿体ないです。便利なのでどんどん使いましょう。

MultiDataTriggerからIsSelectedを参照する

選択中かつ選択中のアイテムが1つの時、というのを指定しています。

<MultiDataTrigger.Conditions>
    <Condition Binding="{Binding Path=IsSelected, RelativeSource={RelativeSource AncestorType=DataGridRow}}" Value="true" />
    <Condition Binding="{Binding Path=SelectedItems.Count, RelativeSource={RelativeSource AncestorType=DataGrid}}" Value="1" />
</MultiDataTrigger.Conditions>

設置する場所にもよりますが、以下のどちらかで動くと思います。

  • RelativeSource={RelativeSource AncestorType=DataGridRow}
  • RelativeSource={RelativeSource Self}

特にTrigger要素とDataTrigger要素を組み合わせてMultiDataTriggerを使う場合は、
RelativeSource={RelativeSource Self}で動くはずです。

DataGridにチェックボックスを追加する

C#
スポンサーリンク
Once and Only

コメント