में परिभाषित किया गया है, तो जब मैं अलग-अलग प्रोजेक्ट में एक WPF संसाधन परिभाषित करता हूं तो मैं विजुअल स्टूडियो डिजाइनर त्रुटियों से कैसे बच सकता हूं?विजुअल स्टूडियो डिजाइनर त्रुटियों से बचें जब WPF संसाधन को अलग परियोजना
मेरे पास एक समग्र WPF अनुप्रयोग में तीन परियोजनाएं हैं: मुख्य अनुप्रयोग, एक "आधारभूत संरचना" लाइब्रेरी, और एक "मॉड्यूल" लाइब्रेरी। मुख्य अनुप्रयोग अन्य परियोजनाओं को उनके आउटपुट डीएलएल के माध्यम से संदर्भित करता है (परियोजनाएं एक साथ एक समाधान में स्थित नहीं हैं)।
मैं "बुनियादी ढांचे" पुस्तकालय में एक त्वचा (ResourceDictionary
में कुछ ब्रश और शैलियों को परिभाषित कर रहा हूं) परिभाषित कर रहा हूं। मैं मुख्य अनुप्रयोग को त्वचा का चयन करने और इसे पूरे एप्लिकेशन में उपलब्ध कराने के लिए चाहता हूं (App12xaml में MergedDictionaries
के माध्यम से)।
मेरे मॉड्यूल में मैं मुख्य अनुप्रयोग लोड होने वाली त्वचा में परिभाषित संसाधनों का उपयोग करना चाहता हूं। अगर मैं संसाधन का संदर्भ देता हूं जैसे कि यह स्थानीय रूप से उपलब्ध था:
Background={StaticResource MainBackgroundBrush}
लगभग सब कुछ वांछित के रूप में काम करता है। अपवाद यह है कि विजुअल स्टूडियो के डिजाइनर उलझन में आते हैं और मुझे बताते हैं कि "स्टेटिक रिसोर्स संदर्भ 'मेनबैकग्राउंड ब्रश' नहीं मिला"। यह प्रभावी रूप से मुझे डिजाइनर का उपयोग करने से रोकता है।
एक परियोजना में "त्वचा" ResourceDictionary
को परिभाषित करने के लिए मैं क्या कर सकता हूं, मुख्य अनुप्रयोग में त्वचा का संदर्भ देता है, और उसके बाद मॉड्यूल प्रोजेक्ट में अपने संसाधनों का उपयोग करता है?
हालांकि यह तकनीकी रूप से अपने प्रश्न बिल्कुल उत्तर न मिले, अभिव्यक्ति मिश्रण 2 डबल अविवेक देखने समस्याएं आ रही हैं और बाहर renders बस मेरे अनुभव में इन विशिष्ट मामलों में नहीं मिल रहा है। – scwagner
वीएस -2010 बीटा 1 में आप अभी भी डिज़ाइनर का उपयोग कर सकते हैं यदि उसे संसाधन नहीं मिल रहा है। यह आपको एक चेतावनी देता है और फिर विशेषता को अनदेखा करता है। –