Wpf 属性私有集未触发NotifyPropertyChanged

Wpf 属性私有集未触发NotifyPropertyChanged,wpf,vb.net,Wpf,Vb.net,这更像是一个问题,但有人能告诉我为什么我要创建一个属性,如: Private _Productgroepen As ObservableCollection(Of productgroep) Public Property Productgroepen As ObservableCollection(Of productgroep) Get Return _Productgroepen End Get Priva

这更像是一个问题,但有人能告诉我为什么我要创建一个属性,如:

 Private _Productgroepen As ObservableCollection(Of productgroep)
    Public Property Productgroepen As ObservableCollection(Of productgroep)

        Get
            Return _Productgroepen
        End Get
        Private Set(ByVal value As ObservableCollection(Of productgroep))
            _Productgroepen = value
            MyBase.OnPropertyChanged("Productgroepen")
        End Set

    End Property
“私人设置”与使用“设置”的方式不一样吗?因此,基本上我在一台电脑上工作,我的同事在另一台电脑上工作,在他的电脑上,财产工作正常,但在我的电脑上,财产没有任何价值!谁能给我解释一下吗

谢谢

编辑: 下面是对这篇文章的第一个评论: 属性“Productgroepen”正在从viewmode的构造函数获取值:

Public sub New()
    Dim pg = (from prg in db.producgroep).Tolist
    For each pgs in pg
        Productgroepen.add(pgs)
    Next
End sub
在xaml上,我有一个组合框,其中包含:

... ItemsSouce={"Binding Productgroepen"} DisplayMemberPath="omschrijving" SelectedValue={"Binding SelectedProductgroepen", updatesourcetrigger=propertychanged} ..
因此,基本上在我的电脑上,当我调试时,我没有收到任何错误或异常,但组合框不会得到任何值,如果我的setter处于private状态,但在我的好友电脑上,他没有错误或异常,并且组合框有所有值(他也有setter处于private状态)。。
如果有人知道这种行为的原因,请告诉我,我随时愿意了解更多信息。

您可能已经知道了这一点,但只是想引起您的注意。。如果属性具有私有setter,则无法对该属性进行双向绑定。。因为对于XAML文件,私有setter是不公开的。如果不是这样的话,那么添加更多的信息,比如从哪里为“Productgroepen”设置值,可能有助于提供更好的答案。编辑过的文章中添加了更多的代码。我注意到,您正在为for循环中的ObservableCollection添加值,但我需要的是您在哪里为ObservableCollection创建实例(Productgroepen)。将项添加到可观察集合不会触发setter。我怀疑您正在为“\u Productgroepen”而不是“Productgroepen”创建实例。如果是这样,请更改代码以创建“Productgroepen”的实例这将调用您的setter。实例是在构造函数上创建的,我没有在costructor上添加我所有的代码,但我希望您可以理解,我正在做类似的事情:_Productsubgroep=new observeCollection(of Productsubgroep)。以及for循环上的i fill then Productsubgroep属性。