Фон строки DataGrid на основе ячейки содержит значение WPF - PullRequest
0 голосов
/ 27 августа 2018

Можно ли изменить цвет фона строки DataGrid в зависимости от содержимого ячейки?Например, значение ячейки содержит «!»

 <DataGrid.RowStyle>
       <Style TargetType="DataGridRow">
           <Style.Triggers>
               <DataTrigger Binding="{Binding Opis}" Value<!-- contains-->="!">
                   <Setter Property="Background" Value="Red"/>
               </DataTrigger>
           </Style.Triggers>
       </Style>
 </DataGrid.RowStyle>

1 Ответ

0 голосов
/ 27 августа 2018

В XAML не определен метод Contains, поэтому вам придется либо использовать преобразователь, либо связать его с логическим свойством, которое использует метод string.Contains, чтобы определить, содержит ли текущее значение Opis конкретную строку.

Таким образом, если вы добавите другое свойство в класс, в котором определено свойство Opis, вы можете связать это свойство вместо привязки к Opis, например:

public bool Contains => !string.IsNullOrEmpty(Opis) && Opis.Contains("!");

XAML:

<DataTrigger Binding="{Binding Contains}" Value="True">
    <Setter Property="Background" Value="Red"/>
</DataTrigger>
...