2011-02-18 9 views
8

मैं आमतौर पर टैब के अंतर्गत App.xml में शैली और नियंत्रण टेम्पलेट को परिभाषित करता हूं। तो, यूआई को डिज़ाइन करते समय, मैं विजुअल स्टूडियो 2008 में .NET3.5 के साथ डिज़ाइन व्यू में लागू शैली के साथ यूआई देख सकता हूं।डब्ल्यूपीएफ में, डिज़ाइन व्यू में UserControl पर शैली कैसे लागू करें?

हालांकि, किसी अन्य मामले में, कभी-कभी मैं केवल उपयोगकर्ता नियंत्रण केवल प्रोजेक्ट करता हूं और उस स्थिति में, कोई App.xml नहीं है, इसलिए यूआई डिज़ाइन व्यू में डिफ़ॉल्ट रूप के रूप में दिखाई देता है। रनटाइम में वास्तविक दिखना मुश्किल है।

क्या उपयोगकर्ता नियंत्रण के लिए शैली लागू करने का कोई तरीका है? यदि एप्लिकेशन प्रोजेक्ट और UserControl प्रोजेक्ट के बीच समान शैली और टेम्पलेट साझा करने का कोई तरीका है, तो यह सही होगा!

यदि कोई समाधान है तो कृपया मुझे बताएं।

+0

रूट तत्व तत्व के रूप में कोई पृष्ठ या विंडो बनाएं। विंडो में अपने संसाधन जोड़ें। स्रोत। अपनी विंडो की सामग्री के रूप में अपना UserControl जोड़ें। –

उत्तर

4

आप अपनी शैलियों को अपने नियंत्रण प्रोजेक्ट में अलग ResourceDictionary में रख सकते हैं। तो फिर तुम हर उपयोगकर्ता नियंत्रण के शीर्ष पर संसाधन ब्लॉक में Merge Dictionaries की जरूरत है:

<UserControl.Resources> 
    <ResourceDictionary> 
     <ResourceDictionary.MergedDictionaries> 
     <ResourceDictionary Source="MyControlLibraryStyles.xaml"/> 
     </ResourceDictionary.MergedDictionaries> 
    </ResourceDictionary> 
</UserControl.Resources> 

इस दृष्टिकोण के साथ समस्या यह है कि आप निश्चित रूप से कोई लाभ खो देते हैं कि ऐप्लिकेशन-स्तरीय शैलियों आप (के लिए अलग तरह स्टाइल की तरह देना होगा की है विभिन्न अनुप्रयोग) क्योंकि अब शैलियों अंतर्निहित नियंत्रण से निर्धारित हैं।

+0

बिल्कुल सही! मैं जो करना चाहता हूं वह सभी अनुप्रयोगों के लिए समान शैलियों का उपयोग कर रहा है, इसलिए अलग-अलग ऐप्स के लिए विभिन्न शैलियों का उपयोग करने का कोई लाभ खोना मेरे लिए बिल्कुल कम नहीं है। =) कूल। धन्यवाद, दाना। – Aki24x

संबंधित मुद्दे