2009-04-02 19 views
7

मेरे पास कई आइकन हैं जिन्हें विंडो में घोषित किया गया है। स्रोत। वे पहली बार दिखाई देने के लिए ठीक दिखते हैं (उदाहरण: मेनू पर क्लिक किया गया है, मेनूइटम आइकन काम करता है), लेकिन एक और मेनू के बाद (उदाहरण: एक संदर्भ मेनू) दिखाया गया है, मूल आइकन गायब हो जाता है और वापस नहीं आता है। ऐसा लगता है कि आखिरी तत्व जो आइकन का इस्तेमाल पहली बार करता है उसे रखने के लिए मिलता है।डब्ल्यूपीएफ: गायब होने वाले आइकन

<Window.Resources> 
    <Image x:Key="Chart_16" 
      Source="pack://application:,,,/Resources/images/chart_16.png" /> 
    ... 
<Window.Resources> 

<MenuItem Header="Summary" 
      Command="loc:AppCommands.ShowSummary" 
      Icon="{StaticResource Chart_16}" /> 

मैं एक 24bit PNG, एक इंटरलेस्ड 24bit PNG और एक 8 बिट पीएनजी लेकिन एक ही बात होता है के रूप में सहेजने की कोशिश की है। यह सिर्फ एक नहीं है, हर आइकन जो एक से अधिक स्थानों में उपयोग किया जाता है इस तरह से व्यवहार करता है।

उत्तर

9

ऐसा इसलिए है क्योंकि आपका संसाधन Image है, जो Control है। Control एस में केवल एक माता-पिता हो सकता है, इसलिए इसे फ्लाई पर प्रत्येक MenuItem में प्रभावी ढंग से पुन: अभिभावित किया जा रहा है।

आपके विकल्प हैं:

  1. Image का प्रयोग न करें और इसके बजाय ImageSource या यहां तक ​​कि एक string छवि के यूआरआइ युक्त का उपयोग करें।
  2. x:Shared XAML विशेषता के साथ संसाधन को गैर-साझा करने के लिए सेट करें। यह आवश्यकतानुसार एकाधिक Image नियंत्रण बनाएगा।
+0

धन्यवाद, एक्स: साझा विशेषता ने चाल की है। – Echilon

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