2012-01-24 32 views
2

dataTriggerに基づいてAlternatingRowBackgroundの色を変更したいと思います。 IDEからエラーが発生し、ビルドされません(下記のxamlを参照してください)。トリガーでWpf AlternatingRowBackgroundをスタイリング

エラー:タイプにスタイルプロパティ 'AlternatingRowBackground' を見つけることができません 'System.Windows.Controls.DataGridRow'

XAML

<Style TargetType="{x:Type DataGridRow}"> 
      <Setter Property="AlternatingRowBackground" Value="Beige" /> 
      <Style.Triggers> 
       <Trigger Property="IsMouseOver" Value="True"> 
        <Setter Property="Background" Value="{StaticResource SelectedRowBackgroundBrush}" /> 
       </Trigger> 
       <DataTrigger Binding="{Binding BondType}" Value="P"> 
        <Setter Property="Background" Value="Pink"/> 
        <Setter Property="AlternatingRowBackground" Value="LightPink" /> 
       </DataTrigger> 
      </Style.Triggers> 
     </Style> 

任意のアイデアをいただければ幸いです。

答えて

3

あなたのスタイルはDataGridRowを目標としているが、 "AlternatingRowBackgroundは" DataGridのの財産です。

DataGridとDataGridRowには別のスタイルが必要です。 DataGridスタイルでAlternatingRowBackgroundを設定します。

<Style x:Key="DataGridStyle" TargetType="{x:Type DataGrid}"> 
    <Setter Property="AlternatingRowBackground" Value="Beige" /> 
    ... 
</Style> 

<Style x:Key="DataGridDemoRowStyle" TargetType="{x:Type DataGridRow}"> 
    <Style.Triggers> 
      <Trigger Property="IsMouseOver" Value="True"> 
       <Setter Property="Background" Value="{StaticResource SelectedRowBackgroundBrush}" /> 
      </Trigger> 
      <DataTrigger Binding="{Binding BondType}" Value="P"> 
       <Setter Property="Background" Value="Pink"/> 
      </DataTrigger> 
    </Style.Triggers> 
</Style> 
+0

ありがとうございます。 – DermFrench

+0

こんにちは、私が実際にやりたいのは、データトリガーが満たされている場合を除いて、交互の行にbiegeを適用することです。その段階でlightpinkが必要です。それは可能ですか? – DermFrench

+0

dataTriggerが満たされている行の後ろにあるすべての代替行のalternatingRowColorを変更したいとお考えですか? <スタイルX:キー= "dataGridStyle" TargetTypeに= "データグリッド"> theartwebreathe

関連する問題