【发布时间】:2016-11-21 12:01:56
【问题描述】:
这是我需要的一个简化示例:
我有一个具有属性名称的 A 类。 Name 属性是异步更改的,无法知道何时更改。
为了在视图中显示它的更新值,我在其中连接了一个propertychanged 事件并将其与{Binding A.Name} 绑定。在虚拟机中它工作正常。
但就我而言,有很多自定义属性不应该在 A 类中。我在想,一旦在 A 类中引发 propertychanged,AViewModel 中的 Name 属性应该得到通知并引发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}" />
【问题讨论】:
-
您是否尝试过在 Name 属性的设置器中使用“RaisePropertyChanged”,然后在绑定到文本框后使用“UpdateSourceTrigger=PropertyChanged”?
标签: wpf xaml mvvm mvvm-light propertychanged