2012-01-12 7 views
6

मैं बड़े पैमाने पर सिल्वरलाइट 4 प्रोजेक्ट के विकास का हिस्सा हूं, जहां हमारे पास प्रतीकों का एक सेट होगा जिसका उपयोग जीयूआई के विभिन्न हिस्सों में किया जाना चाहिए (नीचे उदाहरण देखें)।एक बड़ी परियोजना में आइकन (xaml-paths) का पुन: उपयोग कैसे करें?

ये आइकन सीधे ब्लेंड में एकाधिक पथों से बने होते हैं, और उपयोगकर्ता नियंत्रण में एकल या अलग दृश्य राज्यों के रूप में उपयोग किए जाएंगे (उसी आइकन के साथ एक से अधिक संदर्भ में उपयोग किया जाता है)। एक आइकन के डिज़ाइन को बदलने की सुविधा के लिए, और इसे पूरे एप्लिकेशन में प्रसारित करने के लिए, इन्हें स्टोर करने का सबसे अच्छा तरीका क्या है?

मैंने उनसे शैलियों को बनाने का प्रयास किया है (दायां क्लिक करें -> शैली संपादित करें ..), लेकिन यह केवल मुझे बिना किसी पथ डेटा के खाली स्थान बनाने की अनुमति देता है। एक शब्दकोश में पथ वाले ग्रिड के लिए मैन्युअल कोड को मैन्युअल रूप से डालने से कोई मदद नहीं मिली है, मुझे क्या याद आ रही है?

मैं आसानी से एक संसाधन शब्दकोश में पथ और शैली (रंग, स्ट्रोक, भरें, आदि) जानकारी को कैसे सहेज सकता हूं, अधिमानतः एक संसाधन शब्दकोश में, ताकि मैं आसानी से अद्यतन करने के दौरान उपयोगकर्ता नियंत्रण और अन्य जगहों पर आसानी से उनका उपयोग कर सकूं?

enter image description here

उत्तर

7
<Style x:Key="MyIcon" TargetType="ContentControl"> 
     <Setter Property="ContentTemplate"> 
      <Setter.Value> 
       <DataTemplate> 
        <Path Stretch="Fill" Fill="Red" Data="F1 M 24,13C 27.1521,13 29.9945,14.3258 32,16.4501L 32,11L 35,14L 35,22L 27,22L 24,19L 29.5903,19C 28.217,17.4656 26.2212,16.5 24,16.5C 20.1969,16.5 17.055,19.3306 16.5661,23L 13.0448,23C 13.5501,17.3935 18.262,13 24,13 Z M 24,31.5C 27.8031,31.5 30.945,28.6694 31.4339,25L 34.9552,25C 34.4499,30.6065 29.738,35 24,35C 20.8479,35 18.0055,33.6742 16,31.5499L 16,37L 13,34L 13,26L 21,26L 24,29L 18.4097,29C 19.783,30.5344 21.7787,31.5 24,31.5 Z "/> 
       </DataTemplate> 
      </Setter.Value> 
     </Setter> 
    </Style> 

और फिर ContentControl प्रकार (या derivates) के साथ शैली का उपयोग:

<ContentControl Style="{StaticResource MyIcon}" Width="20" Height="20" Grid.Row="0"/> 

सभी शैलियों हो सकता है माउस मैं पुन: उपयोग करने की कोशिश कर रहा हूँ

उदाहरण कुछ संसाधन शब्दकोश के अंदर: यह काफी जानकारीपूर्ण आलेख है: http://blogs.infosupport.com/tips-for-effective-usage-of-resource-dictionaries-in-silverlight-and-wpf/

+0

यह उत्तर बेहतर है, मेरे पास बाद में उपयोगकर्ता इंटरैक्शन देने जैसी चीजों के लिए बटन का उपयोग करने की आदत है। ContentControl आपका मित्र है। –

+0

मुझे इस दृष्टिकोण से पहले समस्याएं आई हैं: विशेष रूप से मिश्रण पथ डेटा को सही तरीके से लोड नहीं करना चाहता है। दुर्भाग्य से मेरे पास एक बेहतर समाधान नहीं है। –

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