2010-09-10 25 views
11

Benim oldukça büyük WinForm uygulama bir GUI revizyon ihtiyacı, ama ben hepsini bir seferde yapmak göze alamaz. WPF'yi içine yavaşça ekleyip eklemediğimi bilmeliyim, eğer öyleyse, nasıl?WPF'yi bir WinForm uygulamasıyla karıştırma?

WPF diyaloglar ekleyebilir miyim? WPF elemanları gömmek böylece

Bir WinForm içinde WPF'ın 'panelleri' ekleyebilir miyim?

DÜZENLEME

benim WPF uygulamasında karşısında ve koyun WinForm diyaloglar yapabilir mi?

cevap

10
+1

2. bağlantı artık bozuk. Burada sadece bağlantı yanıtlarını sevmememizin bir nedeni var. –

+0

bile ilk bağlantı artık artık mevcut değil :( – Pankaj

+0

@Pankaj - I (tamamen ikinci değişti) bağlantıları güncelledik artık işe vaktim olursa, geri ve güncelleme bir örnekle gelirim böylece.. –

6

Evet, ben başarıyla karışık Win ve WPF ettik. WPF pencerelerini win32 uygulamalarına bile eklemeyi başardım, bu uygulamayı bir dll olarak değiştirdim ve WPF pencerelerini gösteren win32 pencerelerini göstermek için bir WPF uygulaması kullandı. Sen Sistemi'nde bulunan ElementHost denetimini kullanabilirsiniz

System.Windows.Forms.Integration.ElementHost.EnableModelessKeyboardInterop(myWpfWindow); 

http://msdn.microsoft.com/en-us/library/aa348549.aspx

0

bakınız:

sen (.Show befor siz) sizin WpfWindow bu satırı gerekir WinForm veya win32 uygulamalarında WPF pencereleri barındırmak için .Windows.Forms.Integration ad alanı. Sen (WindowsFormsIntegration.dll olarak) WindowsFormsIntegration derlemesine

Bu kontrol WPF koyabileceği boş konteyner örneğin Kontroller gerekecektir

myElementHost.Child = someWpfControl; 

Araç kutunuzda bulabilir ve başka bir denetim gibi bir winform üzerine sürükleyip bırakabilirsiniz;

enter image description here

İlgili konular