devlights
1/19/2016 - 12:02 PM

[WPF][XAML] ColorのRGB値指定の際の注意点(Alpha値を設定する必要)

[WPF][XAML] ColorのRGB値指定の際の注意点(Alpha値を設定する必要)

画面でなんらかの条件により、背景色を変えたりする場合に Colorオブジェクトをリソースなり要素内のスタイルなりに 定義すると思いますが、そのときに

<Color R="255" G="0" B="0"/>

とすると反映されません。

<Color A="255" R="255" G="0" B="0"/>

とすると反映されます。

条件により色変えたりする場合、DataTriggerとか 使っていることが多いと思いますが

<DataTrigger Binding="{Binding xxx}" Value="xxx">
  <Setter Property="Background">
    <SolidColorBrush>
       <SolidColorBrush.Color>
         <Color A="255" R="255" G="0" B="0"/>
       </SolidColorBrush>
    </SolidColorBrush>
  </Setter>
</DataTrigger>

という風に Alpha の値を設定しておかないと 実行時に色が反映されずに混乱します。