我試圖將單元格的顏色更改爲黃色,如果該值已在DataGrid中更新。WPF工具包DataGridCell樣式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>
網格被綁定到陣列的列表(顯示值的表種如Excel會)。數組中的每個值都是一個包含IsDirty依賴項屬性的自定義對象。當值更改時,IsDirty屬性被設置。
當我運行此:
- 變化列中的值1 =整排進黃
- 變化的值在任何其他列=什麼也沒有發生
我只想要改變細胞無論其中哪一列都變黃。你看到我的XAML有什麼問題嗎?
太棒了!這工作正是我需要它。我唯一需要改變的是爲DataTrigger添加一個Value = true(因此當IsDirty爲true時觸發) – KrisTrip 2010-05-19 21:48:37
我正在嘗試完成此操作,但是在xaml中編寫了我的樣式?這可能嗎? – jrwren 2011-06-10 19:33:18
這太好了。但是 - 我試圖在WPF中這樣做,這似乎是來自System.Windows.Controls命名空間的代碼。有沒有辦法在System.Windows.Forms中做類似的事情?我無法在任何地方找到資源。謝謝! – mpsyp 2017-09-07 16:29:03