2015-08-17 2 views
0

Я знаю, я знаю, прежде чем кто-либо из вас ответит, что WPF и Winforms разные, я уже это знаю. Мы используем Csla, поэтому весь наш код правильно разделен. Мне нужно только обновить интерфейс, и мне нужен хороший способ получить UI от Winforms до Xaml. Просто форма. Я не говорю ни о каком коде, ни о чем. Мне просто нужно, чтобы необработанное диалоговое окно и элементы управления были преобразованы. Текстовое поле в Winforms является текстовым полем в Xaml. Я бы не ожидал никаких пользовательских элементов управления или чего-либо еще. По этой причине наше приложение использует собственные средства управления .NET.Преобразование кода конструктора VB.NET в WPF Xaml

Итак, мой вопрос. Кто-нибудь знает способ конвертировать диалоговое окно Winforms в диалоговое окно Xaml? I.e., возьмите файл конструктора winforms и преобразуйте его в Xaml. Все, что мне нужно, - это как можно больше необработанных элементов управления, таких как ярлыки, текстовые поля и т. Д. Отсутствие кода, отсутствие привязки данных, никаких пользовательских элементов управления и т. Д.

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

+1

Проблема с этим подходом заключается в том, что макет Winforms - это X, Y (поэтому фиксированный размер, фиксированное положение по определению), а WPF - независимая от разрешения и относительная позиция, основанная по умолчанию. Если вы переписываете, вы должны потратить время и сделать это * правильно *. –

ответ

2

Да и нет.

Да, это возможно, в основном путем копирования и вставки WinForms дизайнер сгенерированный код и делает серию Find и заменить операции, чтобы заменить WinForms Пространства имен и названий с эквивалентом WPF в (например, Top/Left с WPF-х Margin). Конечно, это не будет XAML (вместо этого он будет похож на созданные XAML файлы *.g.cs), но это будет WPF, но он не будет удобен для пользователей (как упоминал @highCore, потому что вы не пользуетесь макетом WPF и механизмы независимости независимости).

Но время, необходимое для переоформления форм и диалогов в XAML, действительно не так много - может быть, 10-20 минут для умеренно сложной формы, если вы уже компетентны в XAML и принимаете современные методы, такие как MVVM, и делая вещи вручную, вместо того, чтобы использовать конструктор (потому что дизайнеры никогда, похоже, не все поняли ...)

+0

Спасибо Dai и HighCore. – Burian

Смежные вопросы