我開始使用WPF和MVVM。我正在閱讀Code Project Article這很有趣,並提供了一個很好的快速入門。我正在使用實體框架,我很高興我已將所有實體列在ListView中。WPF MVVM查看或加入其他實體
我很好奇你將如何正確地實現查找 - 在視圖模型或創建一個新的模型。以一個人的簡單情況爲例。數據結構可能是:
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
public DateTime DateOfBirth { get; set; }
public Toy FaveToy { get; set; }
}
public class Toy
{
public string Name { get; set; }
public string Model { get; set; }
public string Manufacturer { get; set; }
}
我希望我的列表視圖中顯示的列名字,姓氏,出生日期,最喜歡的玩具,製造商。
玩具領域將是一個組合的字符串名稱+「」 +中的模型。
所以給出了一些代碼在我已經聯繫(我撞倒Person類彌補例子着想的例子):
基類的意見
public abstract class ViewModelBase : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
protected void OnPropertyChanged(string propertyName)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null)
{
handler(this, new PropertyChangedEventArgs(propertyName));
}
}
}
我實施該人士看來
public class PersonViewModel : ViewModelBase
{
private ObservableCollection<Person> _Person;
public PersonViewModel()
{
_Person = new ObservableCollection<Person>();
Entities context = new Entities();
foreach(var person in context.Person.ToList())
{
_Person.Add(person);
}
}
public ObservableCollection<Person> Person
{
get
{
return _Person;
}
set
{
_Person = value;
this.OnPropertyChanged("Person");
}
}
}
將您的ListView綁定到Persons屬性,將Fave Toy列綁定到FaveToy.Name並將製造商綁定到FaveToy.Manufacturer –