2008-10-07 9 views
5

क्यों यह है कि xaml में दो प्रकार के संदर्भ हैं।स्कीमा नेमस्पेस और WPF में असेंबली संदर्भ के बीच क्या अंतर है?

एक इस तरह दिखता है:

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 

लेकिन मेरा इस तरह दिखेगा: जवाब के लिए ixlettervariables को

xmlns:local="http://myschema.mydomain.com/MyControlNamespace 

धन्यवाद:

xmlns:WPFToolKit="clr-namespace:Microsoft.Windows.Controls;assembly=WPFToolkit" 

क्यों मैं ऐसा नहीं कर सकते । यहां एक विस्तृत स्पष्टीकरण here

उत्तर

7

दूसरा उदाहरण मूल रूप से एक असमर्थित है, लेकिन एक असेंबली में नामस्थान का स्पष्ट संदर्भ है। पहला उदाहरण आपकी परियोजना द्वारा संदर्भित कुछ असेंबली में नामस्थान के लिए मैप किए गए संदर्भ है। XAML Namespaces and Namespace Mapping, MSDN पर अधिक और अधिक विस्तार में इस बताते हैं:

WPF एक CLR विशेषता है कि आदेश में एक भी XML नामस्थान करने के लिए कई CLR नामस्थान मैप करने के लिए में XAML प्रोसेसर द्वारा सेवन किया जाता है परिभाषित करता है। यह विशेषता, XmlnsDefinitionAttribute, असेंबली स्तर पर असेंबली स्तर पर स्थित है जो असेंबली उत्पन्न करती है। WPF असेंबली स्रोत कोड http://schemas.microsoft.com/winfx/2006/xaml/presentation नामस्थान पर, सिस्टम विन्डोज़ और System.Windows.Controls जैसे विभिन्न सामान्य नामस्थानों को मैप करने के लिए इस विशेषता का उपयोग करता है।

इसलिए, अपने विधानसभा के लिए निम्न जोड़कर आप सिर्फ इतना है कि कर सकता है:

[assembly:XmlnsDefinition("http://myschema.mydomain.com/MyControlNamespace", "My.Control.Namespace")] 
0

स्कीमा संदर्भ मानक XAML तत्व है, जो संकलक जानता है कि कैसे सीधे अंतर्निहित को मैप करने के लिए प्रयोग किया जाता है डब्ल्यूपीएफ कक्षाओं में।

सीएलआर नेमस्पेस संदर्भ कंपाइलर के लिए एक संकेत है जो आपके सीएलआर/डब्ल्यूपीएफ कक्षाओं में आपके नेमस्पेस नेमस्पेस में एक्सएमएल तत्वों को मैप करते समय देखने के लिए assmebly और नेमस्पेस है।

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