【发布时间】:2013-07-10 07:14:07
【问题描述】:
我开始使用 WPF 和 MVVM。我正在阅读Code Project Article,这很有趣并且提供了一个很好的快速入门。我正在使用 Entity Framework,很高兴我在 ListView 中列出了我的所有实体。
我很好奇您将如何正确实现查找 - 在视图模型中或创建新模型。以一个人为例。数据结构可能是:
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; }
}
我希望我的列表视图显示 FirstName、LastName、DateOfBirth、Fave Toy、Manufacturer 列。
Toy 字段将是一个组合字符串,其中包含 Name + " " + Model in。
所以给出了我链接的示例中的一些代码(为了示例,我已经敲掉了 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));
}
}
}
我的 Person 视图实现
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
标签: wpf entity-framework mvvm