मैं एक अलग DLL में मेरे ऐप की संसाधनों रखने के लिए और उन्हें अपने मुख्य EXE में संदर्भ App.xaml में कुछ इस तरह का उपयोग कर: -डब्ल्यूपीएफ हर उपयोगकर्ता नियंत्रण में संसाधन शब्दकोश विलय - बुरा विचार?
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/MyThemesAssembly;component/Themes/Generic.xaml"/>
</ResourceDictionary.MergedDictionaries>
जब मैं एक खिड़की मुख्य EXE परियोजना में है कि संपादित करते हैं, VS2010 डिजाइनर अन्य असेंबली से किसी भी संसाधन को मान्यता नहीं देता है, इसलिए मुझे कोई स्टाइल लागू नहीं होता है (वास्तव में एक मुद्दा नहीं है क्योंकि मैं हमेशा XAML दृश्य में काम करता हूं)। हालांकि Resharper इन बाह्य संसाधन नामों को या तो पहचान नहीं पाता है, जिसके परिणामस्वरूप संसाधन नामों के तहत बहुत सारे squiggles जब मैं XAML संपादित कर रहा हूं।
मुझे पता चला है कि मैं प्रत्येक विंडो और उपयोगकर्ता नियंत्रण में उपरोक्त एक्सएएमएल सहित वीएस डिजाइनर और रिशेर्पर दोनों को ठीक कर सकता हूं, लेकिन क्या यह स्मृति और/या प्रदर्शन पर प्रतिकूल प्रभाव डालने वाला है? क्या प्रत्येक विंडो को संसाधनों की एक अलग प्रति मिल जाएगी?
ठीक है, आईडीई और उपकरणों में कीड़े आपके कोड को प्रभावित नहीं करनी चाहिए। इसके अलावा, प्रत्येक नियंत्रण में संसाधन शब्दकोश समेत एक त्रुटि-प्रवण तरीका है (यदि आप किसी अन्य को जोड़ने के लिए शब्दकोश का नाम बदलने का निर्णय लेते हैं?)। – Vlad
हालांकि मैं डिजाइन मोड में समस्या के आसपास काम कर रहे एक quirk जोड़ने की कोशिश करता हूँ। (शायद यह मदद करेगा: 'पब्लिक क्लास MyUserControlBase: UserControl {public MyUserControlBase() {if (DesignerProperties.GetIsInDesignMode (यह)) LoadExternalDoriesExplicitlyHere(); ... ') – Vlad
@Vlad मैंने squiggles के साथ रहना सीखा है - यह Resharper फिक्सिंग के दृष्टिकोण वास्तव में सिर्फ "अच्छा है" है। मुझे नहीं लगता कि संसाधनों का नामकरण/जोड़ना एक मुद्दा होगा - उपरोक्त मेरे एक्सएएमएल उदाहरण में, "जेनेरिक.एक्सएएमएल" स्वयं उस असेंबली में अन्य संसाधनों का एक भार विलीन कर देता है, इसलिए नए जोड़ना आसान है। मैं इस बारे में अधिक चिंतित हूं कि प्रत्येक विंडो में <मर्ज किए गए शब्दकोश> ऐप की स्मृति/प्रदर्शन (या वीएस -2010) को उड़ाने जा रहा है या नहीं। –