2011-03-04 14 views
16

Şu anda WinForms uygulamasında bir dizi WPF denetimleri barındırıyoruz. Uygulama, ElementHost kullanılarak barındırılanyöntemi ve WPF denetimleri kullanılarak başlatılır. normal WPF uygulamasındaWPF, uygulama kaynaklarını nereye koyabileceğiniz bir WinForms uygulamasında kullanılıyor?

bir System.Windows.Application nesne (App.xaml) tanımlamak olur ve bunun üzerinde çalışan arama. Normalde, herhangi bir uygulama seviyesi WPF kaynakları oraya gider. Buna sahip değiliz.

nasıl WPF denetimler için uygulama seviyesi kaynak belirtebilirsiniz ama hala WinForms uygulaması olarak çalıştırmayı?

cevap

13

Barındırılan bir ortamda, Uygulamaya kolayca erişemezsiniz, Dr WPF'nin barındırılan bir senaryoda çalışmak için http://drwpf.com/blog/2007/10/05/managing-application-resources-when-wpf-is-hosted/ adresinde bir çift yöntemi vardır.

Kişisel olarak SharedResources sınıfını bir iş projesinde kullanıyorum, VB6 Form barındırma Winforms UserControl barındırma ElementHost WPF denetimleri için bir uygulama geniş temalı WPF UserControl barındırma.

1

WFF denetimlerini bir WinForms uygulamasında barındırıyorsanız, uygulama çapında kaynakları barındıran Application nesnesine sahip değilsiniz. Hile böyle bir nesne oluşturmak, global kaynaklarınızı yüklemek ve onları ResourceDictionary içine birleştirmektir. İşte

bu kodun bir örnektir:

http://www.snippetsource.net/Snippet/26/load-application-level-resources-in-winforms-hosted-wpf-controls (Bağlantı sabit)

+1

Bu cevap yararlı değildir; kod bağlantısı ölü bir sayfaya gider. Kod snippet'leri gönderilmeli * burada *. –

İlgili konular