Czy istnieje praktyczny sposób dla nas powoli ewoluować aplikacji WinForms, WPF bez tworzenia koszmar wsparcia dla siebie z dziwnych scenariuszy międzyoperacyjnych?WinForms to WPF - Jak tam dotrzeć?
Informacje ogólne:
Mamy dużą aplikację pancernik szare WinForm, który jest mocno używany przez wewnętrzną grupą około 60-75 użytkowników. Zaczynamy docierać do miejsc, w których moglibyśmy odnieść korzyść z posiadania aplikacji w WPF, ale nie wystarczy uzasadnić duży projekt, aby całkowicie go ponownie napisać. Wszystkie ekrany w aplikacji są samodzielnymi kontrolkami użytkownika WinForms, a aplikacja WinForms to tylko powłoka obsługująca menu, formularze otwierające/zamykające, udostępniające niektóre metody pomocnicze itp.
Do tej pory najlepsze Pomysł, który mieliśmy, to przekonwertować aplikację powłoki do WPF, a następnie hostować kontrolki użytkownika WinForms w środku. Sądziliśmy, że możemy z czasem przekształcić kontrolę użytkowników, wiążąc te zmiany z inicjatywami, które mają wystarczającą wartość biznesową, aby wesprzeć dodatkową pracę. Obawiam się, jak dobrze działa interop i jak wpłynie to na wydajność. Martwię się również, w jaki sposób przechodzimy na nowy wygląd aplikacji. Wydaje się dziwne, aby aplikacja powłoki wyglądała na rozkoszną, a następnie mieć w środku stare, szare kontrolki użytkownika, a także wydaje się dziwne tworzenie aplikacji powłoki w WPF i sprawianie, by wyglądała tak, jak w WinForm.
Jeśli jeden z Caliburn, pryzmat lub innym podobnym ramach ułatwiłoby przejście, chcemy być otwarci na odkrywanie tych opcji, jak również.
+1 opisuje ten moje własne doświadczenia bardzo dobrze. Również tutaj jest interesująca sesja PDC o tym, jak Visual Studio 2010 zostało zaimplementowane za pomocą interakcji NET Framework 4: http://microsoftpdc.com/2009/CL09 –
Nie jestem pewien, czy istnieje "odpowiednia" odpowiedź na to pytanie, ale sądzę, że jest to podejście, które najprawdopodobniej w końcu przyjmiemy. –
i przy tych wszystkich wysiłkach, opłaconych przez firmę, czy dostarczyliście użytkownikom końcowym jakiejś użytecznej funkcjonalności, czy po prostu dobrze się bawiliście robiąc oko? – smirkingman