2015-02-05 44 views
0

我想更改DataGrid中DataGridCell的前景的顏色,當背景不是白色時。所以我寫了這個xaml:如何根據背景更改WPF DataGridCell的前景?

<Style TargetType="{x:Type DataGridCell}"> 
    <Setter Property="Foreground" 
      Value="White" /> 
    <Style.Triggers> 
     <DataTrigger Binding="{Binding Background, RelativeSource={RelativeSource Self}}" 
        Value="Transparent"> 
      <Setter Property="Foreground" 
        Value="Black" /> 
     </DataTrigger> 
    </Style.Triggers> 
</Style> 

使用轉換器來測試輸入和綁定,我可以看到綁定生成的正確值。但是,二傳手似乎不會起火。

EDIT1:其實,datagridcell的文本塊的背景被通過轉換器設置

+1

你如何設置單元格背景顏色? – 2015-02-05 17:02:57

+0

更新的問題與答案 – 2015-02-05 17:06:05

+0

你的'透明'是一樣的嗎?即'rgba(0,0,0,0)'和'rgba(255,255,255,0)'都是透明的 – paul 2015-02-05 17:08:27

回答

0

我設置TextBlock的背景裏:我通過一個轉換器

EDIT2設置單元格背景顏色DataGridCell通過轉換器。所以DataGridCell的背景並沒有真正改變,這就是我所要的。

相關問題