2011-03-04 14 views
16

वर्तमान में हम WPFWinForms एप्लिकेशन में कई होस्ट होस्ट करते हैं। का उपयोग करके होस्ट किए गए नियंत्रण System.Windows.Forms.Application.Run(...) विधि और WPF नियंत्रणों का उपयोग कर एप्लिकेशन शुरू किया गया है।WPF WinForms एप्लिकेशन के भीतर उपयोग किया जाता है, जहां एप्लिकेशन संसाधन कहां रखा जाए?

एक सामान्य WPF आवेदन में मैं एक System.Windows.Application वस्तु (App.xaml) निर्धारित करेंगे और उस पर चलाने के कॉल। आम तौर पर किसी भी आवेदन स्तर WPF संसाधन वहां जायेंगे। हमारे पास यह नहीं है।

मैं कैसे WPF नियंत्रण के लिए आवेदन स्तर संसाधनों निर्दिष्ट कर सकते हैं, लेकिन अभी भी एक WinForms एप्लिकेशन के रूप में चलाने?

उत्तर

13

एक होस्टेड वातावरण में आपके पास एप्लिकेशन तक आसान पहुंच नहीं है, डॉ डब्ल्यूपीएफ में होस्टेड परिदृश्य में http://drwpf.com/blog/2007/10/05/managing-application-resources-when-wpf-is-hosted/ पर काम करने के लिए कुछ तरीके हैं।

मैं व्यक्तिगत रूप से एक वर्क प्रोजेक्ट में अपने साझा संसाधन स्रोत का उपयोग कर रहा हूं, वीबी 6 फॉर्म होस्टिंग Winforms UserControl होस्टिंग ElementHost hosting WPF UserControl WPF नियंत्रण के लिए एक अनुप्रयोग विस्तृत थीम के साथ।

1

यदि आप WinForms एप्लिकेशन के भीतर WPF नियंत्रण होस्ट करते हैं तो आपके पास Application ऑब्जेक्ट नहीं है जो एप्लिकेशन-व्यापी संसाधन होस्ट करता है। यह चाल ऐसी वस्तु बनाने, अपने वैश्विक संसाधनों को लोड करने और उन्हें ResourceDictionary में मर्ज करना है।

यहाँ इस कोड का एक उदाहरण है:

http://www.snippetsource.net/Snippet/26/load-application-level-resources-in-winforms-hosted-wpf-controls (लिंक निर्धारित)

+1

यह उत्तर उपयोगी नहीं है, कोड का लिंक एक मृत पृष्ठ पर जाता है। कोड स्निपेट * यहां * पोस्ट किया जाना चाहिए। –

संबंधित मुद्दे