Read WPF ResourceDictionaries from WinForms -
क्या WinForms से WPF ResourceDictionaries को पढ़ना संभव है? यदि हाँ, तो कैसे?
जब आप एक WPF प्रोजेक्ट में संसाधन शब्द जोड़ते हैं, तो बिल्ड ऐक्शन अपने आप सेट हो जाती है पृष्ठ। इसका अर्थ यह है कि कंपाइलर एक बीएएमएल धारा बनाता है और इसे विधानसभा के संसाधनों में जोड़ता है।
चूंकि WPF में एक BAML स्ट्रीम को पढ़ने के लिए अंतर्निर्मित कार्यक्षमता है लेकिन इसकी एपीआई सार्वजनिक नहीं है, हमें लिखना होगा एक छोटा सहायक वर्ग जो प्रतिबिंब में आंतरिक विधि का उपयोग करता है।
सार्वजनिक स्थिर वर्ग BamlReader {सार्वजनिक स्थिर ऑब्जेक्ट लोड (स्ट्रीम स्ट्रीम) {ParserContext pc = new ParserContext (); MethodInfo loadBamlMethod = typeof (XamlReader) .GetMethod ("लोडबैम", बाइंडिंग फ़्लेग्ज नॉनपॉलिक | बाध्यकारी फ़्लेग्ज.स्थिक) लौटें loadBamlMethod.Invoke (रिक्त, नई ऑब्जेक्ट [] {स्ट्रीम, पीसी, रिक्त, गलत}}; }} // उपयोग: StreamResourceInfo sri = System.Windows.Application.GetResourceStream (नया उरी ("/ MyAssemblyName; घटक / MyResourceDict.xaml", UriKind.Relative)); संसाधन स्रोत = संसाधन (ResourceDictionary) BamlReader.Load (sri.Stream); स्रोत:
Comments
Post a Comment