में थीम के रूप में संसाधन शब्दकोश का उपयोग करें मैंने एक ऐसा ऐप्लिकेशन विकसित किया है जो उपयोगकर्ता को विषयों के बीच स्विच करने की अनुमति देता है। मैं अपने प्रोजेक्ट में एक संसाधन के रूप XAML फाइल सहित और निम्नलिखित कोड का उपयोग करके यह कर रहा हूँ:सिल्वरलाइट
MainTheme.ThemeUri = new Uri("SilverlightApplication1;component/Themes/[ThemeName]/Theme.xaml", UriKind.Relative);
यह अच्छी तरह से काम किया, तक मैं इन विषयों पाया: http://timheuer.com/blog/archive/2010/05/17/silverlight-4-tools-released-and-new-application-templates.aspx
अंतर यह है कि इन विषयों है कई फाइलें शामिल हैं। इसलिए मैंने एक थीम.एक्सएमएल फ़ाइल बनाई जिसमें केवल मर्ज किए गए शब्दकोश शामिल हैं, इसलिए मैं अभी भी ऊपर दिए गए कोड का उपयोग कर सकता हूं। यह कॉस्मोपॉलिटन थीम के लिए Theme.xaml फ़ाइल है।
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="CoreStyles.xaml"/>
<ResourceDictionary Source="SDKStyles.xaml"/>
<ResourceDictionary Source="Styles.xaml"/>
<ResourceDictionary Source="ToolkitStyles.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
हालांकि, जब मैं सी # कोड को चलाने के ऊपर मैं निम्नलिखित अपवाद:
System.Windows.Markup.XamlParseException: Failed to assign to property 'System.Windows.ResourceDictionary.Source'.
बस MergedDictionaries पद्धति का उपयोग करके स्पष्ट होना, कार्य करता है जब मैं अपने App.xaml में सेट:
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Themes/Cosmopolitan/Theme.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
मैं क्या गलत कर रहा हूं?
धन्यवाद!
मेरी Theme.xaml फ़ाइल में पूर्ण पथ की स्थापना भी काम नहीं करता है :( – SaphuA
मैं एक ऐसी ही समस्या थी होना चाहिए और कारण फ़ाइल को संदर्भित करते समय आगे स्लैश (/) के बजाय बैकस्लैश (\) का उपयोग कर रहा था। वीएस में xaml पार्सर स्थान को हल करने में सक्षम था, लेकिन रन टाइम पर एक त्रुटि उत्पन्न की जा रही थी। उम्मीद है कि यह किसी और की मदद करेगा बाहर –