एक फ़ाइल पर विचार करें |जेनेरिक.एक्सएएमएल में मर्ज किए गए शब्दकोशों के लिए पूर्ण यूरी की आवश्यकता क्यों है?
- CustomControl1
- दो नए संसाधन शब्दकोशों Dictionary1 और Dictionary2 नामित नाम के एक नए कस्टम नियंत्रण
उत्पन्न शैली Generic.xaml से बाहर ले लो और इसे स्थानांतरित: एक WPF आवेदन है कि शामिल की नया प्रोजेक्ट शब्दकोश 2 के लिए। , तब
<!--Generic.xaml-->
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/Themes/Dictionary1.xaml"/>
</ResourceDictionary.MergedDictionaries>
<!--Dictionary1.xaml-->
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Dictionary2.xaml"/>
</ResourceDictionary.MergedDictionaries>
MainWindow के ग्रिड में CustomControl1 का एक उदाहरण जोड़ने: फिर Dictionary2 इस तरह Dictionary1 और Dictionary1 में विलय जेनेरिक में। (इस भाग को फिर से उत्पन्न करने के लिए जरूरी है। प्रोजेक्ट हमेशा ठीक संकलित करता है - केवल रनटाइम पर समस्या दिखाई देती है, और शब्दकोशों को संदर्भित किया जाना चाहिए।)
शब्दकोश 1.xaml में मैं उसी में एक और निर्देश में विलय कर रहा हूं फ़ोल्डर, तो एक साधारण स्रोत = "Dictionary2.xaml" काम करता है। फिर भी जेनेरिक.एक्सएमएल में मुझे एक पूर्ण यूआरआई का उपयोग करना होगा। यदि मैं उपरोक्त को स्रोत = "Dictionary1.xaml" के रूप में पैक के बिना बदलता हूं: // एप्लिकेशन सामान तब मुझे एक IOException के कारण XamlParseException मिलता है, जब यह मेनविंडो बनाने का प्रयास करता है तो "संसाधन का पता नहीं लगा सकता"।
मेरे प्रश्न:क्या सापेक्ष URI संकल्प के बारे में generic.xaml, और क्यों के बारे में खास है?