这是我需要的简化示例:
我有一个具有属性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/