Как конвертировать старый проект в WPF - PullRequest
0 голосов
/ 30 января 2011

У нас есть много проектов, разработанных с использованием версии .net 2.0, если я хочу преобразовать этот проект в WPF, то какой будет подход?Пожалуйста, обсудите подробно.

Ответы [ 2 ]

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

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

И после этого шага часть вашего проекта для миграции будет не большой, она будет касаться только логики графического интерфейса.

Когда я делал этот видПереходя от winform к WPF, мы потратили больше времени на устранение связи между GUI и другими уровнями, чем на миграцию уровня GUI, из-за высокой степени сцепления между GUI и другими уровнями.

0 голосов
/ 30 января 2011

Пройдя подобное упражнение, я скажу вам, что это можно сделать, но есть некоторые проблемы. Шаг 1: Просто для пояснения, когда мы говорим WPF, некоторые люди имеют в виду Silvelright / web. WPF не Silverlight, поэтому вам нужно уточнить, что я хочу перенести существующие приложения в приложения толстых клиентов WPF. Так как вы указали WPF, я предполагаю, что вы имеете в виду те приложения, основанные на клиенте / Windows, поэтому мы пойдем по этому пути. (Я упомяну SL в конце)

Шаг 2: Оценить свои проекты на уровне кода, по большей части рефакторинг кода довольно прост. Поскольку вы переходите с .net 2.0 на .net 4.0, я бы действительно посмотрел, сколько ваших классов определено, и увидел бы, что может быть реорганизовано или, в некоторых случаях, полностью переработано. Это приводит нас непосредственно к шагу 3.

Шаг 3: Выберите шаблон дизайна. Одна из хитрых частей заключается в разработке новых шаблонов проектирования, таких как MVVM для WPF. Более того, вы захотите раздеть и перепроектировать весь пользовательский интерфейс. В результате вы также захотите использовать правильный шаблон проектирования (MVVM) или что-то вроде этого. Это также свяжет вас со вторым шагом, так как часть вашего кода необходимо будет изменить, чтобы он поддерживал ваш шаблон проектирования.

В сети есть масса ресурсов для MVVM, а также для разработки пользовательского интерфейса. Если вы ищете материалы для чтения, я бы посмотрел на развязанный WPF 4, а также на иллюстрированный WPF. И то, и другое - хорошее прочтение, чтобы помочь вам быстрее понять, как работают компоненты пользовательского интерфейса и как правильно их использовать в проекте.

Познакомьтесь с .net 4 и используйте коллекции, типы и, конечно, многочисленные новые классы для wpf.

Отказ от ответственности: во многих случаях вы можете создать приложение WPF, использующее традиционный формат и методы winform. Является ли это правильным или неправильным, зависит от разработчика. Мое личное мнение таково, что да, вы можете отказаться от изучения новых шаблонов проектирования и использовать подход winform, но вы не сможете полностью использовать преимущества и возможности фреймворка, используя этот подход.

И, наконец, если вы планируете перенести эти приложения в Интернет (Silverlight), ваша работа будет немного сложнее. Silvelright имеет немного более высокую кривую обучения, и есть еще несколько правил (безопасность, асинхронные вызовы, веб-сервисы и т. Д.), Которые необходимо выучить и соблюдать. Я убежден, что при создании миграции легче перейти с Siverlight на WPF, и наоборот. Поскольку Microsoft продолжает совершенствовать Sivelright, я думаю, мы дойдем до того, что код будет взаимозаменяемым между двумя шаблонами, однако сейчас его там нет.

Проведите поиск в Интернете, но вот несколько ссылок, которые помогут вам начать работу: Скотт Гатри (Silverlight) http://weblogs.asp.net/scottgu/default.aspx Джош Смит (WPF MVVM) http://joshsmithonwpf.wordpress.com/

удачи

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...