Ich habe mein Modell alle Setup für meine WPF-Anwendung und arbeiten mit Entity Framework ctp5 Code zuerst, hier ist eine Beispielmodellklasse:
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; }
}
Was wäre der empfohlene Weg, um mein Ansichtsmodell zu erstellen? Meine Ansichtsmodelle werden INotifyPropertyChanged implementieren, ich möchte nicht, dass die Modellklassen keinen UI-spezifischen Code haben - so dass sie leicht in anderen Anwendungen wiederverwendet werden können. Sollte ich alle Modelleigenschaften virtuell machen und sie dann im Ansichtsmodell außer Kraft setzen? (Das scheint mir eine Menge unnötiger Code zu sein...) Würde EF-Code zunächst mit dieser Art von Format gut zusammenspielen?
Modifier Diese Frage ist in gewisser Weise ähnlich In MVVM sollte das ViewModel oder Model INotifyPropertyChanged implementieren? Die einzigen Lösungen scheinen jedoch darin zu bestehen, dem Modell eine Logik hinzuzufügen, die ich für die Benutzeroberfläche halte. Vielleicht kann ich eine Art von Delegaten zum Modell hinzufügen und Haken in das aus dem Viewmodel, die wiederum INotifyPropertyChanged verwenden wird... so etwas wie dieses?
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");
}
}
}
...