0

我在 C# 中的一个类(例如)中有一个属性,它与另一个类类型(例如)ParentClass绑定。我的问题是如何通过使用应该触发的属性来更改属性的值?ObservableCollectionChildClassChildClassParentClassRaisePropertyChanged("ParentProperty")

我使用这个编码:

foreach (var pIn in ParentProperty.Where(ms => ms.Name == onNameUpdateObj.Name && ms.UnRead == true))
{
    if (pIn != null)
    {
         pIn.UnRead = false;
    }
}

ParentProperty是与属性绑定ObservableCollection<ChildClass>ChildClass包含属性的属性UnRead。当我更改 return 的值UnRead RaisePropertyChanged("ParentProperty")nullRaisePropertyChanged("ParentProperty")每当我更改pIn.UnRead.

4

1 回答 1

0

ObservableCollection<T>当它维护的一个或多个properties集合发生变化时不提供通知,它只提供通知when items get added, removed, or when the whole list is refreshed

如果您想知道property集合中的 a 何时更改,您需要自己实现通知。这种机制可以在INotifyPropertyChanged和/或EventHandler的帮助下实现。

于 2013-08-05T12:39:01.313 回答