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

时间:2012-02-11 08:19:08

标签: mvvm

在我的银灯应用程序中,我有两个类:容器和字段。

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

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

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

1 个答案:

答案 0 :(得分:2)

您的Container对象可以订阅每个子Field对象的PropertyChanged事件。

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

如果不知道你的确切情况,很难给出一个例子......但是这里有。

E.g伪代码:(在Container对象上)

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
}

您可能还想查看ObservableCollections