如何在为另一个ViewModel中的成员分配新值时通知ViewModel?

时间:2014-07-13 16:44:53

标签: c# wpf mvvm viewmodel

我有一个包含两个ViewModel的WPF应用程序。我希望在ViewModel#1中修改变量Data的值,并在每次将新值分配给ViewModel#2中的变量Modify()时执行函数Id。 (我不想使用静态成员)。在View中是否有使用数据绑定的解决方案?

假设:

ViewModel#1:

class ViewModel1
{
    private double _id;
    public double Id 
    {
        get { return _id; }
        set { _id= value; }
    }
}

ViewModel#2:

class ViewModel2
{
    private double data;
    public double Data
    {
        get { return data; }
        set { data= value; }
    }
}

1 个答案:

答案 0 :(得分:0)

如果ViewModel#1引用了ViewModel#2,您只需从属性ID setter中调用方法。

class ViewModel1
{
    private ViewModel2 model2;

    private double _id;
    public double Id 
    {
        get { return _id; }
        set
        {
           _id= value;
           model2.Modify();           
        }
    }
}