2 回答

TA貢獻1712條經(jīng)驗 獲得超3個贊
您可以設(shè)置to的CanUserAddRows屬性并自己處理“新”空白行的添加。每當(dāng)您想要一個新行時,您應(yīng)該向源集合添加一個沒有設(shè)置任何屬性的“空白”對象。DataGridfalseObservableCollection<T>
最難弄清楚的部分可能是何時添加行。例如,您可以在用戶設(shè)置源集合中最后一項的屬性時執(zhí)行此操作。
如果類型T實現(xiàn)了INotifyPropertyChanged接口,您可以訂閱PropertyChanged添加到源集合的每個項目的事件,并檢查是否在事件處理程序中添加新項目,例如:
private void OnItemPropertyChanged(object sender, PropertyChangedEventArgs e)
{
var dirtyItem = sender as T;
if (dirtyItem != null && sourceCollection.LastOrDefault() == dirtyItem)
{
T newRow = new T();
newRow.PropertyChanged += OnItemPropertyChanged;
sourceCollection.Add(t);
}
}
- 2 回答
- 0 關(guān)注
- 154 瀏覽
添加回答
舉報