2015-02-05 4 views
0

Я хочу изменить цвет переднего плана DataGridCell в DataGrid, когда фон ничего, кроме белого. Поэтому я написал эту 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: Я устанавливаю цвет фона ячейки через преобразователь

edit2: На самом деле, фон из TextBlock в datagridcell создается с помощью преобразователя

+1

Как вы устанавливаете цвет фона ячейки? –

+0

Обновленный вопрос с ответом –

+0

Ваши 'Прозрачные' то же самое? т.е. 'rgba (0,0,0,0)' и 'rgba (255,255,255,0)' оба являются прозрачными – paul

ответ

0

я установить фон в TextBlock внутри DataGridCell через конвертер. Таким образом, фон DataGridCell фактически не изменяется, и это то, к чему я привязался.

Смежные вопросы