Как преобразовать приложение .NET WPF в Windows Forms? - PullRequest
1 голос
/ 27 марта 2010

Мы создали красиво оформленное настольное приложение .NET WPF. Мы устанавливаем приложение с помощью InnoSetup, и, если нет .NET 3.5, оно автоматически устанавливает его. Однако пакет для загрузки .NET 3.5 огромен, и мы обнаружили, что около 30% пользователей не заканчивают установку из-за этого.

Очевидное решение состоит в том, чтобы перекодировать все в .NET 1.1 с помощью Windows Forms, но это серьезная разработка, которая займет несколько недель. Кроме того, мы столкнемся с дилеммой, если поддержим обе версии (и воспользуемся innosetup, чтобы выбрать правильную) или просто отбросим WPF вместе.

Есть ли простой способ конвертировать WPF в Windows Forms? Или у нас есть альтернативные варианты для рассмотрения?

Спасибо!

Ответы [ 4 ]

6 голосов
/ 27 марта 2010

Преобразование WPF в WinForms не является тривиальным, конечно, нет никакого автоматического способа, и если вы захотите вернуться к .net 1.1, вы потеряете целый набор других функций, таких как дженерики и т.д. Интерфейс, который вы будете менять.

Лучшим решением было бы нацеливание на .net профиль клиента . Это гораздо меньше скачать.

Если вы можете подождать несколько недель, профиль клиента в .net 4.0 имеет гораздо лучшую автономную установку и поддержку платформы. См. здесь и здесь .

1 голос
/ 27 марта 2010

Поскольку вы говорите «красиво оформленный», я предполагаю, что вы широко использовали элементы пользовательского интерфейса WPF. Если это так, забудьте о переносе пользовательского интерфейса обратно в WinForms.

Части вашей программы, не относящиеся к пользовательскому интерфейсу, можно легко перенести обратно (возможно, без каких-либо изменений), если IFF (если и только если), они не ссылаются на какие-либо вещи после 2.0 (например, LINQ).

1 голос
/ 27 марта 2010

Вы можете использовать .NET Client Profile , представленный в .NET 3.5 SP1, чтобы уменьшить размер загрузки, необходимой для запуска приложения на компьютерах без установленной .NET Framework 3.5.

Профиль клиента .NET имеет размер около 28 МБ, как описано здесь .

Кроме того, посмотрите на этот сайт , чтобы определить наименьшую и самую простую загрузку, необходимую для получения .NET Framework в вашей системе.

0 голосов
/ 27 марта 2010

Вы пробовали Подмножество фреймворка только для клиента ?Вы просто устанавливаете флажок в настройках вашего проекта, и он будет использовать уменьшенную версию .net 3.5 размером 26 МБ.Он также известен как профиль клиента http://blogs.msdn.com/blogfiles/pietrobr/WindowsLiveWriter/.NETFramework3.5ClientProfile_8AF0/clip_image002_thumb.gif

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