Подтвердить что ты не робот

Преобразование приложения WPF в SilverLight

Можно ли автоматически конвертировать существующее приложение WPF в SilverLight/с минимальными усилиями?

4b9b3361

Ответ 1

Не совсем. Я нашел несколько статей относительно опции multi-targeting для WPF и Silverlight в то же время. В настоящий момент, если вы не используете PRISM, довольно сложно ориентировать их обоих, к счастью достижимых.

Что вам нужно иметь в виду, так это то, что Silverlight использует меньшую (таким образом, более ограниченную) библиотеку, чем WPF.

В ответ на комментарии: На самом деле уже есть поддержка silverlight в PRISM (v2). Идея PRISM заключается в том, чтобы предоставить руководство для разработки приложений не только с использованием WPF, но и с помощью Silverlight - Prism V2 формально был известен как составное руководство по применению для WPF и Silverlight. Используя PRISM для возможностей Silverlight, вы получите гарантию того, что ваш код будет работать на обеих платформах с минимальными изменениями, если none (за исключением, может быть, разных типов проектов для визуальная студия).

Но, конечно, если вы уже приступили к разработке своего приложения, вам нужно будет изменить свой код для использования PRISM.

Ответ 2

Я бы сказал, что вы МОЖЕТ подключать Silverlight к WPF с минимальными усилиями. Я потратил 2 часа на перенос и приложение, которое я потратил 3 недели на запись. Я бы сказал, что потраченные 2 часа будут классифицировать как минимальные усилия.

Конечно, вам нужно создать новый проект, добавить файлы в новый проект и настроить их.

Так как Silverlight является подмножеством WPF, его легче перейти от Silverlight к WPF, чем наоборот.

Для бизнес-логики и кода, отличного от UI, ваш код должен перемещаться почти прямо. У меня были некоторые незначительные проблемы с проверкой подлинности, так как Silverlight 2 будет собирать любую информацию аутентификации в браузере, а в WPF вам нужно будет развернуть свой собственный экран входа и управлять файлы cookie и т.д..

Для XAML он будет перемещаться прямо, если вы не настроите свои элементы управления. Если вы создадите свои элементы управления, использование диспетчера визуальных состояний, которое в настоящее время отсутствует в WPF, сделает вещи немного сложнее. Вы можете изменить стиль своих элементов управления в WPF с помощью триггеров, или вы можете использовать VSM-реализацию для WPF, выполненную Джоном Госсманом. Microsoft объявила о том, что они добавят VSM в WPF, чтобы сделать две среды более совместимыми.

Возможно, самое важное повторное использование - это навыки и опыт. Поскольку две платформы настолько схожи, вы сможете повторно использовать все свои навыки в WPF.

I недавно сделал сообщение в блоге о приложении примера Dive Log и о том, как я портировал его из Silverlight 2 в WPF. Может дать вам некоторое представление о процессе.

Ответ 4

Нет. Silverlight работает в собственной сокращенной версии CLR. Это также WPF-подобный, а не WPF. Вам нужно будет сделать много работы для его преобразования.


Времена изменились. Проверьте Portable Class Libraries, теперь поддерживаемый в .NET 4.0. Вы можете создавать сборки, которые могут использоваться на разных поддерживаемых платформах: WP7, Silverlight WPF и даже приложения XBOX.