MVVM - делиться / повторно использовать ViewModels между Silverlight и WPF - PullRequest
5 голосов
/ 25 марта 2011

Можно ли обмениваться моделями представления на разных платформах - WPF / Silverlight? Я начал собирать свои виртуальные машины в отдельную сборку и вскоре пришел к ICommand - что заставило меня задать этот вопрос? Возможно ли это, и если да, то хорошо ли это делать? В будущем у нас будет возможность иметь клиентское приложение для WPF и Silverlight, поэтому я бы не хотел дублировать виртуальные машины для обоих.

Ответы [ 2 ]

4 голосов
/ 25 марта 2011

Вы можете сделать это, используя Portable Library Tools CTP .Это позволяет вам ориентироваться как на весь каркас, так и на Silverlight в одном проекте библиотеки.

В противном случае это возможно, что-то вроде.Вам все еще нужны два отдельных проекта (для практических целей), но обычно вы можете использовать один исходный файл.Каждый проект, использующий одни и те же исходные файлы, сохраняет повторное использование на месте, но требует синхронизации файлов вручную.В этом случае вы также можете легко добавить платформо-зависимые функциональные возможности с помощью частичных классов или определений, что помогает легко поддерживать некоторые обходные пути для отсутствующих функциональных возможностей Silverlight.

0 голосов
/ 25 марта 2011

[Почти] все, что возможно в Silverlight, возможно и в WPF. Так что если у вас есть виртуальная машина, работающая в Silverlight, она [в основном] будет работать с WPF.

С другой стороны, WPF предлагает более широкие возможности, поэтому вы можете захотеть использовать их в своей части кода WPF. Вы можете использовать обычные #ifdef Silverlight подобные трюки.

Также этот вопрос может быть полезен.

...