मैं XamlReader
का उपयोग कर रनटाइम पर डेटा टेम्पलेट लोड करना चाहता हूं, लेकिन यह अपवाद फेंक रहा है "उपसर्ग 'x नामस्थान पर मैप नहीं करता है।""उपसर्ग 'x' नामस्थान पर मैप नहीं करता है"
ResourceDictionary dictionary = XamlReader.Parse(myXamlString) as ResourceDictionary;
यहाँ है अजीब हिस्सा है, अगर मैं DataTemplate को x:Key="ValidationResponseTemplate"
जोड़ें:
<xm:ResourceDictionary
xmlns:xm="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:do="clr-namespace:MyLibrary.DataObjects;assembly=MyLibrary.DataObjects"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<xm:DataTemplate DataType="{x:Type do:ValidationResponse}">
<xm:StackPanel Orientation="Horizontal">
<xm:Label>MessageID</xm:Label>
<xm:TextBox Text="{Binding Path=MessageID}"/>
</xm:StackPanel>
</xm:DataTemplate>
</xm:ResourceDictionary>
इस कोड है कि इसे पढ़ने के है:
यह XML स्ट्रिंग मैं XamlReader
को गुजर रहा हूँ है यह बिना किसी अपवाद के पार्स करता है। मैं इसे इस तरह से नहीं रख सकता, हालांकि, क्योंकि मैं प्रोग्राम के अपने .xaml
में कुंजी द्वारा डेटा टेम्पलेट निर्दिष्ट नहीं कर सकता (यह टेम्पलेट के बारे में तब तक नहीं जानता जब तक कि इसे रनटाइम पर नहीं लाया जाता)।
x
नामस्थान को प्रोग्राम के अपने .xaml
दोनों में परिभाषित किया गया है और एक्सएमएल के टुकड़े में मैं पार्स करने की कोशिश कर रहा हूं।
कुल मिलाकर उद्देश्य: रनटाइम पर प्रदर्शन की उपस्थिति को बदलने और एक्सएमएल डेटा प्रदर्शित करने के लिए नए डेटा टेम्पलेट्स प्रदान करने में सक्षम होने के लिए क्लाइंट को संकलन समय पर नहीं पता था।