我开始使用 WPF 和 MVVM。我正在阅读Code Project 文章,它非常有趣并且提供了一个很好的快速入门。我正在使用实体框架,我很高兴我在 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");
}
}
}