當用戶進行編輯時,我正在更改單元格的背景顏色。我想在保存(或恢復)更改時將所有單元格恢復爲普通顏色。在Xceed DataGrid中爲WPF循環遍歷所有單元格?
設置單元格的原始背景顏色(如存儲在父行中)很容易。但我不知道如何遍歷表中的所有單元格來重置它們。
我在Xceed知識庫中找到一篇名爲「How to iterate through the grid's rows」的文章......你認爲這將是完美的,對嗎?錯誤;文章中提到的.DataRows
,.FixedHeaderRows
等屬性(或方法)來自an older/defunct Xceed product。
This forum thread建議使用DataGrid的.Items屬性,它在我的情況下返回System.Data.DataRowView個集合...但我找不到高達Xceed.Wpf.DataGrid.DataCell小號任何方式強制轉換(或任何相關的元素)我需要改變背景顏色。
總之,我如何循環行和單元格,以便我可以重置背景屬性?
我的DataGrid已經在使用數據綁定。所以是的,業務邏輯和演示已經分開了,這個問題只是關於演示的一部分。 我沒有在問題中提到,當單元格的IsDirty屬性爲true時,我已經嘗試創建單獨的樣式(本質上是「高亮」),但它不起作用。據我所知,Xceed的DataGrid for WPF只允許我爲某些屬性(例如'IsMouseOver')設置樣式觸發器,但不允許爲其他人(包括與數據相關的屬性如IsDirty)設置樣式觸發器。 – ewall 2010-04-19 17:28:16