Есть ли практический способ медленно развивать приложение WinForms в WPF без создания кошмара для поддержки со странными сценариями взаимодействия?
Фоновая информация:
У нас есть большое серое приложение WinForms с линкором, которое в значительной степени используется внутренней группой из примерно 60-75 пользователей. Мы начинаем сталкиваться с местами, где мы можем видеть некоторые преимущества от приложения в WPF, но этого недостаточно, чтобы оправдать большой проект, чтобы полностью переписать его. Все экраны в приложении представляют собой автономные пользовательские элементы управления WinForms, а приложение WinForms - это всего лишь оболочка, которая обрабатывает меню, открывающие/закрывающие формы, предоставляет некоторые общие вспомогательные методы и т.д.
До сих пор лучшая идея, которую мы имели, это конвертировать приложение оболочки в WPF, а затем размещать в нем пользовательские элементы управления WinForms. Мы думали, что с течением времени мы сможем преобразовать пользовательские элементы управления, привязав эти изменения к инициативам, которые имеют достаточную ценность для бизнеса для поддержки дополнительной работы. Меня беспокоит, насколько хорошо работает взаимодействие и как это повлияет на производительность. Я также обеспокоен тем, как мы переходим к новому взгляду на приложение. Казалось бы странным заставить приложение оболочки выглядеть утонченным, а затем иметь в нем старые элементы управления серым серым линком, а также создавать нестандартные приложения оболочки в WPF и делать их похожими на WinForms.
Если один из Caliburn, Prism или другой подобной структуры облегчит переход, мы также сможем изучить эти варианты.