当一个新值被分配给另一个ViewModel中的成员时,如何通知ViewModel

本文关键字:ViewModel 成员 何通知 通知 另一个 一个 新值 分配 | 更新日期: 2023-09-27 18:12:47

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

假设:

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; }
    }
}

当一个新值被分配给另一个ViewModel中的成员时,如何通知ViewModel

如果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();           
        }
    }
}