10

リスト ビューで選択された項目に関する詳細情報を表示するために使用される次の XAML があります。選択した項目がエラー メッセージを表している場合を除いて、四角形のテキストの背後に標準の情報色を表示する必要があります。以下のコードはそのままでは機能せず、常に情報の色が表示されます。Fillルート<Rectangle />要素にa を指定しないとうまくいきます。

<Rectangle Fill="{DynamicResource {x:Static SystemColors.InfoBrushKey}}" 
           RadiusX="4" RadiusY="4">
  <Rectangle.Style>
    <Style TargetType="{x:Type Rectangle}">
      <Style.Triggers>
        <DataTrigger Binding="{Binding Path=CurrentMessage.Severity"  
                     Value="Error" >
          <Setter Property="Fill" Value="#20FF0000" />
        </DataTrigger>
      </Style.Triggers>
    </Style>
  </Rectangle.Style>
</Rectangle>

スニペットにはそれが反映されていませんが、実際のコードには重大度の可能なステータス レベルがかなりあるため、可能な重大度ごとにトリガーを定義したくありません。私が望むロジックは、「重大度がエラーでない限り、情報の色を使用し、次に赤を使用する」です。

私は WPF のいくつかの基本的な側面を誤解していると確信していますが、それを特定することはできません。条件が真の場合、指定したデータトリガーが既存の Fill 値を上書きするように、誰かが私を正しい方向に向けることができますか?

4

1 に答える 1