Я пытаюсь изменить цвет ячейки на Желтый, если значение было обновлено в DataGrid.WPF Toolkit DataGridCell Style DataTrigger
Мой XAML:
<toolkit:DataGrid x:Name="TheGrid"
ItemsSource="{Binding}"
IsReadOnly="False"
CanUserAddRows="False"
CanUserResizeRows="False"
AutoGenerateColumns="False"
CanUserSortColumns="False"
SelectionUnit="CellOrRowHeader"
EnableColumnVirtualization="True"
VerticalScrollBarVisibility="Auto"
HorizontalScrollBarVisibility="Auto">
<toolkit:DataGrid.CellStyle>
<Style TargetType="{x:Type toolkit:DataGridCell}">
<Style.Triggers>
<DataTrigger Binding="{Binding IsDirty}" Value="True">
<Setter Property="Background" Value="Yellow"/>
</DataTrigger>
</Style.Triggers>
</Style>
</toolkit:DataGrid.CellStyle>
</toolkit:DataGrid>
Сетка привязана к Списку массивов (отображение таблицы значений вроде как первенствует подтолкнет). Каждое значение в массиве является настраиваемым объектом, который содержит свойство зависимостей IsDirty. Свойство IsDirty устанавливается после изменения значения.
Когда я запускаю это:
- изменить значение в столбце 1 = вся строка становится жёлтым
- изменить значение в любой другой колонке = ничего не происходит
Я хочу только изменил клетка, чтобы пойти желтой, независимо от того, в какой колонке ее. Вы видите что-то не так с моим XAML?
Awesome! Это работало именно так, как мне было нужно. Единственное, что мне пришлось изменить, это добавить значение Value = true в DataTrigger (так что это срабатывает, когда IsDirty истинно) – KrisTrip
Я пытаюсь сделать именно это, но писать свой стиль в xaml? Это возможно? – jrwren
Это замечательно. Однако - я пытаюсь сделать это в WPF, и это похоже на код из пространства имен System.Windows.Controls. Есть ли способ сделать что-то подобное в System.Windows.Forms ??? Я не могу найти ресурс где угодно. Благодаря! – mpsyp