Моя модель полностью настроена для моего приложения WPF и вначале работает с кодом ctp5 каркаса сущностей, вот пример класса модели:
public class Task
{
public int ID { get; set; }
public int Index { get; set; }
public string Content { get; set; }
public int Indentation { get; set; }
public DateTime Start { get; set; }
public decimal Effort { get; set; }
public decimal CompletedEffort { get; set; }
public decimal Cost { get; set; }
}
Каков рекомендуемый способ построения модели представления?Мои модели представлений будут реализовывать INotifyPropertyChanged, я не хочу, чтобы классы моделей имели какой-либо специфический для пользовательского интерфейса код, чтобы их можно было легко использовать в других приложениях.Должен ли я сделать все свойства модели виртуальными, а затем переопределить их в модели представления?(кажется, много ненужного кодирования ...) Будет ли код EF сначала хорошо играть с этим типом формата?
Редактировать Это несколько схожий вопрос В MVVM следуетViewModel или Model реализуют INotifyPropertyChanged? однако единственные решения, по-видимому, заключаются в добавлении в модель того, что я считаю логикой пользовательского интерфейса.Возможно, я могу добавить своего рода делегата в модель и подключить его к модели представления, которая, в свою очередь, будет использовать INotifyPropertyChanged ... что-то вроде этого?
public class Task
{
public delegate void HandleChange(string propertyName);
public HandleChange ChangeHandler;
public int ID
{
get
{
return ID;
}
set
{
if(ID != value)
{
ID = value;
ChangeHandler("ID");
}
}
}
...