如何在mvvm模式中通知容器类

如何在mvvm模式中通知容器类,mvvm,Mvvm,在silver light应用程序中,我有两个类:容器和字段 容器包含字段列表。现在, 每当(列表中的)字段收到 我要通知容器对象的消息 执行一些逻辑 字段对象不应包含容器的任何引用。我需要使用INotifyPropertyChanged实现这一点 请建议使用INotifyPropertyChanged的简单解决方案。您的容器对象可以订阅其每个子字段对象的PropertyChanged事件 如果它不是您感兴趣的直接属性更改,您可以为Field对象实现自己的自定义事件 如果不知道你的具体情况,很难

在silver light应用程序中,我有两个类:容器和字段

容器包含字段列表。现在, 每当(列表中的)字段收到 我要通知容器对象的消息 执行一些逻辑

字段对象不应包含容器的任何引用。我需要使用INotifyPropertyChanged实现这一点


请建议使用INotifyPropertyChanged的简单解决方案。

您的容器对象可以订阅其每个子字段对象的PropertyChanged事件

如果它不是您感兴趣的直接属性更改,您可以为Field对象实现自己的自定义事件

如果不知道你的具体情况,很难给出一个例子。。。但事情是这样的

例如伪代码:(在容器对象上)


您可能还想签出。

添加了在子对象添加到容器时订阅其属性更改事件的代码示例。注意:如果您特别关注property changed事件,您应该关注observable collection和以下问题:
public void AddField(Field field)
{
    // attach to the new fields property changed event
    field.PropertyChanged += OnFieldPropertyChanged;

    // add the new field to this container's collection
    this.Fields.Add(field);
}

private void OnFieldPropertyChanged(object sender, PropertyChangedEventArgs e)
{
    // do something
}