У меня также есть настольное приложение, написанное в Windows Forms, которое является средним размером (несколько десятков основных форм, поддерживаемых 46 таблицами в базе данных). Я подумываю о переписывании пользовательского интерфейса в WPF, но прежде чем я поеду туда, мне было любопытно, есть ли какие-либо военные истории о таком преобразовании.
Я использую LLBLGen для создания моих объектов доступа к данным низкого уровня, и у меня выше уровня бизнес-логики. Формы представляют собой привязку данных к объектам бизнес-логики, хотя основная форма использует кеширующие объекты для минимизации маршрутов на более общих маршрутах навигации. Пользовательский интерфейс никогда не говорит напрямую с базой данных: всегда через интерфейс пользователя → бизнес-логика → низкий уровень → путь к хранилищу данных.
Один элемент управления, который я использую в большой степени, - это TreeView, который действует как визуальный ориентир и инструмент навигации с малым радиусом действия. Дерево было сильно настроено с помощью значков, выделенных цветов, и это элемент управления, который больше всего беспокоит портирование.
Есть ли история, которая может убедить меня идти вперед и конвертировать (или, наоборот, ждать, пока Microsoft приблизится к вытаскиванию ковра из-под Windows Forms)?
EDIT: меня спросили в комментарии, какая мотивация для конверсии у меня есть. Я беспокоюсь о будущей проверке: у меня есть 500 000 строк кода, которые первоначально были ASP и VBScript. Мы переносили функциональность с течением времени на ASP.NET и С#, но только по мере внесения изменений в код. Положительный результат заключается в том, что мы минимизировали издержки, недостатком является половина кода, который остается ASP и VBScript. Меня беспокоит аналогичная ситуация, возникающая в приложениях Windows Forms.
Я сегодня беспокоился о том, что Windows Forms уходит? Даже близко к нему... но приложение переходит от ASP и VBScript к ASP.NET и С#, имеет за собой девятилетнюю историю и, вероятно, не будет заменено в этом десятилетии (вместо этого оно просто будет развиваться). Настольное приложение также является долгосрочным проектом с многолетней историей.