新行添加到數據網格,我有以下DataGrid
如何MVVM友好的方式
<DataGrid CanUserDeleteRows="True"
CanUserAddRows="True"
SelectedItem="{Binding SelectedResource, Mode=TwoWay}"
ItemsSource="{Binding Path=Resources, Mode=TwoWay,
UpdateSourceTrigger=PropertyChanged,
IsAsync=True}"> ... </<DataGrid>
我使用MVVM模式綁定到ObservableCollection<ResourceViewModel> Resources
來完成這項工程。我有一個按鈕添加了一個新的行,這是通過在Resources
集合中添加一個新的ResourceViewModel
完成的 - 很好。現在,我希望用戶能夠點擊空的最後一行,並自動在DataGrid
中創建新記錄。
我已確認DataGrid
有CanUserAddRows=True
。我已經確定我綁定的集合Resources
(ResourceViewModel
)中的類具有默認構造函數(無參數),並且確保集合類型不是隻讀的。當用戶點擊最後一行默認的構造函數的火災,但正確實例化需要新的ResourceViewModel
對象的Resources
收集的任何電網的參考...
我想我可以使用和AttachedCommand
在CellBeginEdit
事件然後在那裏添加新的ResourceViewModel
到可觀察的集合,有沒有這樣做的標準方法?
注意,我已經閱讀了以下問題,這些都無助於我
編輯。事實證明,由於WPF DataGrid
中的一個錯誤,我遇到了問題。請參閱Nigel Spencer's Blog。然而,他的修復程序目前不適用於我...
+1好問題。 – Sheridan
Nigel Spencer博客文章的更新鏈接是[使用WPF DataGrid綁定到SelectedValue的問題](http://blogs.spencen.com/?p=611) – Tone