せっかく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}で動くはずです。
コメント