2013-06-03 16 views
5

Moja aplikacja została opracowana przy użyciu WinForm. Czy możliwe jest hostowanie WPF DataGrid, Button, ListBox, ComboBox itp. W kontrolkach użytkownika WinForms?Hostowanie formantów WPF w WinFormach

+2

Co próbowaliście? Pomoc społeczności jest znacznie łatwiejsza, jeśli podejmiesz próbę, a następnie uzyskasz bardziej ukierunkowane pytania dotyczące problemu, który masz. Tak lub żadne pytania nie są zbyt konstruktywne (zobacz pierwsze dwie części FAQ http://stackoverflow.com/faq) Na przykład, tak naprawdę nie wiem nic na temat formantów WinForm lub WPF, ale szybkie wyszukiwanie w Google dało mi kilka linków, które wyglądają na wystarczająco istotne, aby odpowiedzieć na to pytanie. Oto pierwszy na liście: http://msdn.microsoft.com/en-us/library/ms742215.aspx – MattDavis

Odpowiedz

7

Tak, jest to możliwe za pomocą kontrolki ElementHost w WinForm i zawierającej zawartość WPF wewnątrz niej.

+2

Aby dodać do tego, może być strasznie wolno .. Musiałem dodać niektóre składniki WPF na starszych Program WinForms. To, co zrobiłem, to ładowanie ElementHost Asynchronicznie, co pomaga pod względem wydajności. –

0

Nie chciałbym mieszać WinForm i WPF, chyba że jest to absolutnie konieczne. Chociaż Microsoft zapewnił sposób korzystania z kontroli WPF w WinForm i na odwrót, ale nie zawsze daje dobry wynik. WF i WPF renderują kontrolki na różne sposoby i możesz napotkać wiele problemów, w tym wydajność i migotanie interfejsu użytkownika w zależności od sposobu ich użycia.

Jeśli naprawdę chcesz używać sterowania WPF w WF, użyj sterowania ElementHost.

ElementHost.Child = wpfControl; 
Powiązane problemy