Relativly新来的MVVM的东西,我有以下故障:MVVM绑定,对象属性改变的通知
我有一个对象的“用户”,这个对象暴露了一些属性,如用户名,电子邮件等。 在MVVM模式,我有一个属性:
private IUser currentUser;
public IUser CurrentUser
{
get
{
return this.currentUser;
}
set
{
this.currentUser = value;
this.OnPropertyChanged("CurrentUser");
}
}
private void OnPropertyChanged(string propertyName)
{
if (this.PropertyChanged != null)
{
this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
在XAML一个TextBox势必如下:
Text="{Binding CurrentUser.Email, Mode=TwoWay}"
当改变的电子邮件地址OnPropertyCh老年人不会被解雇,因此其他代码(如ICommands)不会“工作”。
有没有一种方法,当用户在文本框的OnPropertyChanged大火改变了文本?
TIA, 保罗
你的属性更改通知当您将CurrentUser属性更改为某个其他用户时会被触发。除非你已经在IUser上实现了INotifyPropertyChanged,否则当你改变IUser的个人属性时它将不起作用,这似乎与你的观察相符。 – Gishu