我在我的項目中實現數據差異,現在我需要將結果顯示給用戶。 (我正在檢查任意數據的兩個數組並找到它們之間的不匹配,我的結果如下所示: 「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. flex3突出顯示datagrid列
- 4. 突出顯示單個單元格
- 5. WPF在DataGrid單元格上顯示彈出窗口MouseOver
- 6. 突出顯示編程WPF單元格中的單元格點擊
- 7. 選中時突出顯示單元格
- 8. 如果單元格不突出顯示
- 9. VBA單元格沒有突出顯示
- 10. 如何在選擇單元格時突出顯示錶格列
- 11. Silverlight Datagrid:突出顯示整個列?
- 12. wpf datagrid行中的小計單元格
- 13. WPF Datagrid單元格爲空
- 14. UITableView:突出顯示最後一個單元格,但其他單元格也突出顯示
- 15. 使Swift UITableView的單元格在突出顯示時突出顯示
- 16. 比較兩列中的日期並突出顯示單元格
- 17. 單擊突出顯示錶格視圖單元格
- 18. WPF數據網格。無法突出顯示自定義樣式的單元格
- 19. LibreOffice Calc:如何根據單元格值突出顯示行?
- 20. 根據單元格總數來突出顯示行?
- 21. 突出顯示列表行
- 22. 試圖突出表格行中的多個單元格,但只有1列突出顯示?
- 23. 根據單元格區域中顯示的字母來突出顯示列中的單元格
- 24. WPF DataGrid顯示空的雙單元格,但正確的列標題
- 25. WPF突出顯示項目
- 26. Wpf突出顯示圖像?
- 27. WPF子組突出顯示
- 28. 突出顯示基於單元格更改的單個單元格
- 29. 單擊一個單元格並突出顯示相關單元格
- 30. 如何突出顯示AngularJS中的選定表格單元格?
謝謝,我會嘗試這個解決方案 – 2010-12-20 17:23:43
我試過這個解決方案,它不是確切的我想要什麼,我需要突出顯示被修改的單元格,而不是所有的行..怎麼做? – 2010-12-23 17:25:24