我在我的項目中實現數據差異,現在我需要將結果顯示給用戶。 (我正在檢查任意數據的兩個數組並找到它們之間的不匹配,我的結果如下所示: 「Status:mismatch,Property:... Index:...」(some class))。所以它現在工作得非常好,首先我認爲在DataGrid中突出顯示結果會很容易,但是當我開始實現這一點時,我意識到我無法想象如何完成此操作......我需要突出顯示預設單元格和行...是否存在任何常見的解決方案? P.S DataGrid綁定到一些數據(使用視圖)。我對WPF沒有多少經驗,所以不想重新發明輪子,認爲應該存在一些東西(解決方案,開源項目,代碼示例)。WPF DataGrid行/列/單元格突出顯示
4
A
回答
4
以下是您需要的示例。
我假設,那
ChangeItem
是存儲一行的類。因此,在xaml中,您將ChangeItem[]
綁定到ItemsSource
數據網格的屬性。class ChangeItem { public string Previous { get; set; } public string Current { get; set; } public bool HasDiff { return this.Previous != this.Current; } }
在XAML中添加特殊風格,你的資源
<Style TargetType="{x:Type DataGridCell}"> <Style.Triggers> <DataTrigger Binding="{Binding HasDiff}" Value="true"> <Setter Property="Background" Value="Red"/> </DataTrigger> </Style.Triggers> </Style>
如果需要支持編輯和實時背景的變化,這取決於所做的更改。然後在
ChangeItem
中正確實施INotifyPropertyChanged。如果您需要超過2個狀態(HasError/NoErrors),則創建新的枚舉,表示狀態。例如:
public enum LineState { Normal, SmallError, MegaError, }
而更換
public bool HasDiff { ... }
屬性的東西,如public LineState State { ... }
。
希望這會有所幫助。
相關問題
- 1. WPF Datagrid突出顯示行和列
- 2. WPF DataGrid突出顯示一些行
- 3. WPF DataGrid突出顯示整行
- 4. WPF DataGrid:禁止多行突出顯示
- 5. flex3突出顯示datagrid列
- 6. 當約束值發生變化時突出顯示WPF DataGrid中的單元格
- 7. WPF:如何突出顯示滿足條件的DataGrid的所有單元格?
- 8. WPF Datagrid單元格中'突出顯示文本'的背景顏色
- 9. 單擊單個單元格時如何突出顯示整個DataGrid行?
- 10. 如何在Silverlight DataGrid中突出顯示單元格
- 11. 在xaml中設置datagrid的突出顯示的單元格
- 12. 突出顯示單個單元格
- 13. WPF在DataGrid單元格上顯示彈出窗口MouseOver
- 14. 編輯WPF DataGrid單元格時顯示彈出窗口
- 15. 在DataGrid列單元格中顯示ICollection
- 16. 在DataGrid中突出顯示SelectedItem的行
- 17. 突出顯示一行中的幾列和單元格
- 18. Vaadin - 突出顯示選定的單元格/行的列表
- 19. 突出顯示編程WPF單元格中的單元格點擊
- 20. 突出顯示第一列的結果/獲勝突出顯示的單元格中的單元格
- 21. GMGridView的單元格突出顯示
- 22. VBA單元格沒有突出顯示
- 23. 突出顯示的單元格表
- 24. 突出顯示過期的單元格
- 25. 突出顯示CollectionView中的單元格
- 26. 選中時突出顯示單元格
- 27. 如果單元格不突出顯示
- 28. WPF Datagrid單元格工具提示
- 29. Silverlight Datagrid:突出顯示整個列?
- 30. 如何在選擇單元格時突出顯示錶格列
謝謝,我會嘗試這個解決方案 – 2010-12-20 17:23:43
我試過這個解決方案,它不是確切的我想要什麼,我需要突出顯示被修改的單元格,而不是所有的行..怎麼做? – 2010-12-23 17:25:24