शायद तुम मुझे समझते कारण है कि मैं दृश्य स्टूडियो 2010 डिजाइनर में एक बिना क्रिया का अपवाद "अवैध XAML" जब एक Page
पर निम्न कार्य करना चाहते मदद कर सकता है।सिल्वरलाइट 4: "अमान्य XAML" कनवर्टर DataTemplate
मेरे पास Converter
नाम DateTimeConverter
है जो किसी दिनांक को जर्मन दिनांक स्ट्रिंग में परिवर्तित करता है। कनवर्टर ठीक काम करता है। मैं नाम स्थान को शामिल किया है और कहा कि पेज के संसाधनों के लिए निम्न:
<navigation:Page.Resources>
<myClasses:DateTimeConverter x:Key="dateTime" />
</navigation:Page.Resources>
अब मैं सूची बॉक्स है कि मैं वस्तुओं की एक सूची के लिए बाध्य करना चाहते हैं। मैं कोड में बाध्यकारी करता हूं, लेकिन मैं डेटा टेम्पलेट को परिभाषित करना चाहता हूं। इस प्रकार मैंने अपने लेआउट में निम्नलिखित जोड़ दिए हैं:
<ListBox x:Name="lbConversation" BorderBrush="#00000000">
<ListBox.ItemTemplate>
<DataTemplate>
<Border BorderThickness="0" Padding="4">
<StackPanel Orientation="Vertical">
<TextBlock Text="{Binding Message, Mode=OneWay}" />
<TextBlock Text="{Binding TimeStamp, Mode=OneWay, Converter={StaticResource dateTime}}" />
</StackPanel>
</Border>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
और जब मैं दौड़ता हूं तो यह ठीक काम करता है। हालांकि, कोड अनुभाग में, डेटा टेम्पलेट के लिए कोड अंडरकुल किया गया है और डिजाइनर "अमान्य XAML" कहता है। जब मैं Converter=...
हिस्से को हटाने, यह त्रुटि चला गया है।
इस एक डिजाइनर बग है? मैं क्या कर सकता हूँ?
संपादित
वैसे: ठीक उसी कोड एक WPF परियोजना के भीतर त्रुटि फेंक नहीं है!
क्या आपने xaml में कनवर्टर को परिभाषित करने और डेटा टेम्पलेट में इसे लागू करने के बाद निर्माण किया है? – Jehof
जैसा कि मैंने अपने प्रश्न में कहा था: जब मैं एप्लिकेशन चलाता हूं तो सबकुछ ठीक होता है - जिसका अर्थ है कि मैंने इसे बनाया है :-) इसके अलावा: मैंने आपकी टिप्पणी पढ़ने से पहले एक जवाब स्वीकार कर लिया है - जो इसे हल करता है। –
Google से आने वाले किसी भी व्यक्ति के लिए: मुझे यह भी पता चला कि जब मैं अपने एक्सएएमएल फ़ाइल में नामस्थान खींच रहा था तो मुझे यह समस्या नहीं थी जो अब अस्तित्व में नहीं था। –