Добрый день.
Есть таблица DataGrid, одной из столбцов является дата, так вот нужно подсвечивать строку таблицы если поле дата будет удовлетворять условию:
ТекущаяДата — ДатаИзСтроки = delta.
Можно это как-то через стиль сделать? или нужно не на дату ссылаться, а по таймеру проверять дату у всех записей и если условие выполняется инициализировать какий-ниб флаг у объекта коллекции и уже по этому флагу прописать в стиле DataTrigger?
Спасибо!
Здравствуйте, Аноним, Вы писали:
А>Добрый день.
А>Можно это как-то через стиль сделать? или нужно не на дату ссылаться, а по таймеру проверять дату у всех записей и если условие выполняется инициализировать какий-ниб флаг у объекта коллекции и уже по этому флагу прописать в стиле DataTrigger?
<Style TargetType="{x:Type wt:DataGridRow}">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=CanSign}" Value="False">
<Setter Property="IsEnabled" Value="False"/>
<Setter Property="Foreground" Value="LightGray"/>
</DataTrigger>
<DataTrigger Binding="{Binding Path=Post}" Value="Начальник5">
<Setter Property="Foreground" Value="DarkOrange"/>
<Setter Property="FontWeight" Value="Bold"/>
<Setter Property="HeaderTemplate">
<Setter.Value>
<DataTemplate>
<Ellipse Fill="{StaticResource markBrush}" Width="12" Height="12"/>
</DataTemplate>
</Setter.Value>
</Setter>
</DataTrigger>
</Style.Triggers>
</Style>
Вот, как пример, у меня есть список объектов некого класса, имеющего свойства bool CanSign и string Post.
Строки, отображающие объекты, которые "не умеют" CanSign — делаются неактивными.
Строки, в которых поле Post равняется "Начальник5", помечаются кружком слева (как точки останова в IDE).
А>ТекущаяДата — ДатаИзСтроки = delta.
Вычисление условия перенесите в код вашего класса модели. Сделать его типа bool — проще всего.