WinForms para WPF - Como chegamos lá a partir daqui?

Tem algumaprático maneira de evoluir lentamente um aplicativo WinForms para o WPF sem criar um pesadelo de suporte para nós mesmos com cenários de interoperabilidade estranhos?

Informações de fundo:

Temos um aplicativo WinForms cinza de navio de guerra grande que é muito usado por um grupo interno de cerca de 60 a 75 usuários. Estamos começando a encontrar lugares onde poderíamos ver algum benefício em ter o aplicativo no WPF, mas não basta justificar um grande projeto para reescrevê-lo completamente. Todas as telas no aplicativo são controles de usuário independentes do WinForms e o aplicativo WinForms é apenas um shell que lida com menus, abertura / fechamento de formulários, fornece alguns métodos auxiliares compartilhados, etc ...

Até agora, a melhor ideia que tivemos foi converter o aplicativo shell em WPF e hospedar os controles de usuário WinForms dentro dele. Pensamos que poderíamos converter os controles do usuário ao longo do tempo, vinculando essas mudanças a iniciativas que tenham valor comercial suficiente para dar suporte ao trabalho adicional. Estou preocupado com o quão bem a interoperação funciona e como afetará o desempenho. Também estou preocupado com a transição para uma nova aparência do aplicativo. Parece estranho fazer com que o aplicativo de shell pareça snazzy e, em seguida, tenha controles de usuário cinza de encouraçado hospedados dentro dele, e também parece estranho criar o aplicativo de shell no WPF e parecer com o WinForms.

Se um dos Caliburn, Prism ou outra estrutura semelhante facilitar a transição, estaríamos abertos a explorar essas opções também.

questionAnswers(2)

yourAnswerToTheQuestion