Wie funktioniert 2d Leinwand auf einem Objektmodell passen in MVVM, Caliburn & Silverlight basierte Zeichnung (oh my)

StackOverflow https://stackoverflow.com/questions/4684048

Frage

habe ich eine groben, nicht MVVM Demo in Silverlight, die verschiedenen Linien und andere 2D-Objekte auf einer Leinwand zog, basierend auf einem Objektmodell.

Ich bin Portierung nun die Anwendung über MVVM (Caliburn Micro) und bin jetzt an dem Punkt, wo ich meine Objekte in meinem Viewmodel und Notwendigkeit habe, um sie auf der Leinwand in der Ansicht zu ziehen.

Ist MVVM in diesem Fall das falsche Werkzeug für den Job?

Wo soll ich bleibe den 2D-Zeichnung Code?

Im Code-Behind des View?

Lassen Sie mich wissen, wenn Sie weitere Informationen über meine Situation zu Hilfe benötigen. Vielen Dank!

War es hilfreich?

Lösung

In einer Situation wie dieser, würde ich persönlich behandeln Ihre Leinwand als individuelle, unabhängige Kontrolle.

Im Idealfall würden Sie wollen, dass es eine Kontrolle (vielleicht ein Usercontrol) mit einer Abhängigkeitseigenschaft für die „Objekte“ machen. Der Benutzer dieser Kontrolle würde die Objekte einer Sammlung binden innerhalb ihrer (parented Kontrolle des) Ansichtsmodell, und gerade dies als Teil der Ansicht zu behandeln.

Als solches ist es 100% View - so kann der Code beliebig implementiert werden Sie wählen. Es Art fällt außerhalb von MVVM, da es vollständig ist „Ansicht“.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top