Можно ли обмениваться моделями просмотра на разных платформах - WPF / Silverlight? Я начал с того, чтобы помещать свои виртуальные машины в отдельную сборку, и вскоре пришел к ICommand, что заставило меня задать этот вопрос? Возможно ли это, и если да, то стоит ли это делать? У нас есть возможность в будущем создать клиентское приложение для WPF и Silverlight, поэтому мне бы не хотелось дублировать виртуальные машины для обоих.
MVVM - Совместное использование / повторное использование ViewModels между Silverlight и WPF
Ответы (2)
Потенциально вы можете сделать это с помощью Portable Library Tools CTP. Это позволяет вам нацеливаться на всю структуру, а также на Silverlight в одном библиотечном проекте.
В противном случае это возможно, вроде того. Вам по-прежнему нужны два отдельных проекта (для практических целей), но обычно можно использовать один исходный файл. Если каждый проект использует одни и те же исходные файлы, повторное использование сохраняется, но при этом требуется синхронизация файлов вручную. В этом случае вы также можете легко добавить специфичные для платформы функциональные возможности с помощью частичных классов или определений, что помогает сохранить некоторые обходные пути для отсутствия функциональности Silverlight простыми в обслуживании.
[Почти] все, что возможно в Silverlight, возможно и в WPF. Поэтому, если у вас есть виртуальная машина, работающая в Silverlight, она [в основном] будет работать с WPF.
С другой стороны, WPF предлагает более широкие возможности, поэтому вы можете захотеть использовать их в своей части кода WPF. Вы можете использовать обычные #ifdef Silverlight
-подобные уловки.
Также может оказаться полезным этот вопрос.