在我的 MVVM 测试项目中,我想将我的文本框绑定到 viewmodel 中的对象:
public class ContactViewModel : BaseNotifyPropertyChanged
{
Contact _selectedItem;
public ContactViewModel()
{
ContactModel contactModel = new ContactModel();
_selectedItem = contactModel.ContactList[1]; // this contains first contact from the list;
}
}
public Contact SelectedContact
{
get
{
return _selectedItem;
}
}
在我的联系人类中,我重写了 ToString 方法以显示第一个联系人的名字:
public override string ToString()
{
return _firstName.ToString();
}
这是我的 XAML 绑定:
<TextBox Height="23" HorizontalAlignment="Left" Name="SelectedItemTextBox" Text="{Binding Path=SelectedContact}" VerticalAlignment="Top" Width="120" />
由于某种原因,这个文本框总是空的。但是,如果我改变
public String SelectedContact
{
get
{
return _selectedItem.LastName;
}
}
它完美地工作。