我有对象user
public class User
{
public string FirstName {get; set:}
public string LastName {get; set;}
}
我的ViewModel实现INotifyPropertyChanged
private User _myUser;
public User MyUser
{
get
{
return _myUser;
}
set
{
_myUser = value;
OnPropertyChanged("MyUser");
}
}
xaml的文本框对象绑定到MyUser。FirstName, Mode = two - way
当TextBox的文本字段被更改时,对象的set属性不会被触发。要触发MyUser对象的set属性,需要做哪些修改?
您没有设置MyUser
属性,那么为什么会引发一个事件告诉您您是?如果要更改的值是名字和姓氏,那么视图模型应该有单独的属性。
如果绑定到MyUser.FirstName
,则只有MyUser
属性返回的User
对象的FirstName
属性的setter才会触发:
public class User
{
private string _firstName;
public string FirstName
{
get { return _firstName; }
set { _firstName = value; //<- set a breakpoint here }
}
public string LastName { get; set; }
}
TextBox
设置string
属性。它不能设置User
属性。