一部のデータが「無視」されているときにテキストをグレー表示したいのですが、アイテムが選択されたときにグレー表示になりたくありません。(具体的には、ハイ コントラスト モードで、色を灰色の値に設定すると、テキストが判読できなくなります)
これは私の最初の試みでした。
<Style>
<!-- .... -->
<Setter Property="Control.Foreground"
Value="{DynamicResource {x:Static SystemColors.ControlTextColor}}" />
<Style.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<!-- Set gray text when not selected, and ignored. -->
<Condition Property="ListBoxItem.IsSelected" Value="false" />
<Condition Binding="{Binding Ignored}" Value="true" />
</MultiDataTrigger.Conditions>
<Setter Property="Control.Foreground"
Value="{DynamicResource {x:Static SystemColors.GrayTextColor}}" />
</MultiDataTrigger>
</Style.Triggers>
</Style>
MultiDataTrigger
Binding を条件に設定する必要があるため、これは実行時に失敗します。(少なくとも、それが失敗の理由だと思います。)
この問題を回避するにはどうすればよいですか?