这是我需要的简化示例:
我有一个具有属性Name的A类。 Name属性是异步更改的,无法知道何时进行修改。
为了在 View 中显示它的更新值,我在其中连接了一个propertychanged事件,并将其与{Binding A.Name}绑定(bind)。在虚拟机中工作正常。
但就我而言,A类中不应该包含很多自定义属性。我在想,一旦在A类中引发了propertychanged,就应该通知Name中的AViewModel属性,并也提高OnPropertyChanged
有什么办法吗?

C# :

public class A : BaseViewModel
{
    string name;
    public string Name
    {
        get { return name; }
        set { Set(()=> Name, ref name, value); }
    }
}

public class AViewModel : BaseViewModel
{
    A a;
    public A A
    {
        get { return a; }
        set { Set(()=> A, ref a, value); }
    }
    public string Name
    {
        get { return A.Name; }
        set { Set(()=> Name, ref A.Name, value); }
    }
}

XAML:
<TextBox Text="{Binding Name}" />

最佳答案

例如,类A必须具有经典的C#事件,以便AViewModel可以预订它。

关于wpf - 检测何时发生OnPropertyChanged,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38444178/

10-17 01:23