Как двумерный рисунок на основе объектной модели вписывается в MVVM, Caliburn и Silverlight (о, мой) - PullRequest
2 голосов
/ 13 января 2011

Я создал грубую демонстрацию, отличную от MVVM, в Silverlight, которая рисовала различные линии и другие 2-мерные объекты на холсте на основе объектной модели.

Теперь я переносю приложение на MVVM (Caliburn Micro) и теперь я нахожусь в точке, где у меня есть мои объекты в моей ViewModel, и мне нужно нарисовать их на холсте в View.

Является ли MVVM в этом случае неподходящим инструментом для работы?

Куда мне прикрепить 2-й чертежный код?

В коде позади View?

Дайте мне знать, если вам нужна дополнительная информация о моей ситуации, чтобы помочь.Спасибо!

1 Ответ

3 голосов
/ 13 января 2011

В такой ситуации я бы лично отнесся к вашему Canvas как к независимому пользовательскому элементу управления.

В идеале вы хотели бы сделать его элементом управления (возможно, UserControl) со свойством зависимости для «объектов». Пользователь этого элемента управления связывает объекты с коллекцией внутри их (родительского) элемента управления ViewModel и просто обрабатывает это как часть представления.

Таким образом, это 100% просмотр - поэтому код может быть реализован любым способом, который вы выберете. Это как бы выходит за рамки MVVM, так как это полностью «вид».

...