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