我有一个XamDataGrid
绑定到可观察集合的。由于XamDataGrid
是可编辑的,因此可以添加/编辑/删除记录。我已经实施了CollectionChanged
&PropertyChanged
事件。
该CollectionChanged
事件包含以下代码:
if (e.Action == NotifyCollectionChangedAction.Remove || e.Action == NotifyCollectionChangedAction.Add)
{
if (e.OldItems != null)
{
// Detach the event handler from current instance;
foreach (BusinessTelephone oldItem in e.OldItems)
{
if (oldItem is INotifyPropertyChanged)
{
(oldItem as INotifyPropertyChanged).PropertyChanged -= new PropertyChangedEventHandler(PhoneDetails_PropertyChanged);
}
}
}
if (e.NewItems != null)
{
// Attach the event handler to the new instance;
foreach (BusinessTelephone newItem in e.NewItems)
{
if (newItem is INotifyPropertyChanged)
{
(newItem as INotifyPropertyChanged).PropertyChanged += new PropertyChangedEventHandler(PhoneDetails_PropertyChanged);
}
}
}
}
所有这些工作正常。
我有一个奇怪的问题,如下所示。
当我在网格中添加一条记录并从网格中删除它时,我通过遍历集合从集合中删除该项目
例如:PhoneDetailsCollection.Remove(item);
现在,当我添加另一条记录时,该CollectionChanged
事件不会被触发。
我在这里错过了什么吗?任何帮助都非常感谢...