.NET 4的WPF的DataGrid C#MMVMDataGrid SelectionUnit =單元格禁用對選定行的所有支持?
在DataGrid SelectionUnit是整行,WPF數據綁定和的CollectionView採取讓我知道在視圖模型是什麼通過視圖的CURRENTITEM財產的主動選擇的產品負責。這適用於只讀網格,選擇模式設置爲fullrow。
現在我有一個可編輯的網格。因此,我設置了SelectionUnit = Cell,以便更容易地發現所在的單元格。突然間,網格不再有任何能力來跟蹤選擇項目。設置爲單元格模式時,我甚至無法設置SelectedItem。所以現在viewmodel總是認爲它在第一行。我可以處理網格中的SelectedCellsChanged來確定我在哪個行上,我無法讓viewmodel知道,因爲網格的SelectedItem不能再被設置!
我不明白爲什麼網格在單元格選擇模式下仍不能有SelectedItem。
爲了將ItemSource強制轉換爲我的collectionview以從SelectedCellsChanged事件調用MoveCurrentTo,有沒有其他MVVM真正的方法來保持視圖的CurrentItem與網格同步?
要麼是這樣,要麼當我有一個可編輯的網格時,改變網格樣式以刪除或減少行高亮效果。
如果你必須「硬編碼」,創建一個接口 – 2012-02-28 21:16:11
是的,這就是我現在所做的。 – happyfirst 2012-02-29 00:41:38
我剛纔看了一下'DataGrid'源文件和'Cell'模式,它們不會與'SelectedItem'同步 – 2012-02-29 17:19:15