我有一個UserControl,它基本上是一個GridView的包裝器,每當單元格(GridView的)內容發生更改時,都需要發送消息。通常情況下,這可以解決這樣的:當EditingElement未知時獲取編輯的GridView項目
private void MainDataGrid_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e)
{
var editingTextBox = e.EditingElement as TextBox;
doSomething(editingTextBox.Text);
}
的問題是,我不知道EditingElement的類型(這是作爲一個FrameworkElement的),所以我不能做轉換。而在那一刻,currentCell.SelectedValue仍然是原始值。我也無法控制模型(我可以實施INotifyPropertyChanged並使用它來捕捉更改)。
有沒有一些簡單的方法我失蹤?或者你會如何去實現這個?謝謝你的任何建議。
你能提供我將如何去有關檢索來自的CollectionView變化的樣本?我在CollectionView上看到的唯一事件是CurrentChanging/CurrentChanged,甚至只有在對集合進行排序時纔會觸發這些事件,而不是在更改所選單元格時觸發。謝謝 – 2012-02-15 08:45:58