0

我的 ObservableCollection 遇到了一些奇怪的问题。我正在使用.Net 4.0。

我有一个这样的视图模型:

PoViewModel : DataViewModelBase
{
    public ObservableCollection<PoDetail> PoDetails { <omitting dp boiler code for ease> }

    public void Add()
    {
        this.PoDetails.Add(new PoDetail()); //<-- this is not getting detected in the wpf UI
    }
}

DataViewModelBase 是一个 DependencyObject

我有这段测试代码正在验证没有发生任何事情:

protected override void OnPropertyChanged(DependencyPropertyChangedEventArgs e)
{
    base.OnPropertyChanged(e);
    this.IsDirty = true;
    MessageBox.Show(e.Property.Name + " just changed");
}

可能是什么问题呢?我假设我不明白 ObservableCollections 是如何工作的,但从我读过的所有内容来看,这应该可以正常工作。

4

1 回答 1

1

为什么你的 viewModel 需要一个依赖属性?

简单地实施INotifyPropertyChanged就足够了。

此外,您不希望在将元素添加到ObservableCollection. 您应该期望引发实例的CollectionChanged事件。ObservableCollection

于 2013-09-20T16:10:28.520 回答