c# - Why doesn't the SourceUpdated event trigger for my Image Control in WPF? -


मेरे पास एक WPF परियोजना में एक विंडो पर एक छवि नियंत्रण है

XAML:

< प्री> & lt; छवि स्रोत = "{बाध्यकारी NotifyOnSourceUpdated = True, NotifyOnTargetUpdated = True}" बाध्यकारी.सोर्सअपडेटेड = "bgMovie_SourceUpdated" बाध्यकारी। लक्ष्य UPdated = "bgMovie_TargetUpdated" / & gt;

कोड में मैं छवि का स्रोत बदल रहा हूं

सी #:

  myImage = new bitmapImage (); myImage.BeginInit (); MyImage.UriSource = नया उरी (मार्ग); myImage.EndInit (); This.bgMovie.Source = myImage;  

लेकिन bgMovie_SourceUpdated ईवेंट कभी भी ट्रिगर नहीं किया गया है।

क्या मैं गलत कर रहा हूँ पर कोई प्रकाश डाला?

मान को सीधे स्रोत संपत्ति के लिए जोड़कर, आप "unbinding" कर रहे हैं ... आपका छवि नियंत्रण अब डेटाबेस में नहीं है, इसका स्थानीय मान है।

4.0 में आप SetCurrentValue विधि का उपयोग कर सकते हैं:

  This.bgMovie.SetCurrentValue (Image.SourceProperty, myImage);  

दुर्भाग्य से यह विधि 3.5 में उपलब्ध नहीं है, और कोई आसान विकल्प नहीं है ...

वैसे भी, आप वास्तव में क्या करने की कोशिश कर रहे हैं? यदि आप इसे स्वयं मैन्युअल रूप से सेट कर रहे हैं तो स्रोत संपत्ति को बाध्य करने का क्या मतलब है? यदि आप स्रोत संपत्ति में परिवर्तन करते समय पता लगा सकते हैं, तो आप निर्भरता प्रॉपर्टी डिस्क्रिप्टर। एडवॉल्यू चेंजेड विधि का उपयोग कर सकते हैं:

  var prop = DependencyPropertyDescriptor.FromProperty (Image.SourceProperty, टाइपफ (छवि)); Prop.AddValueChanged (this.bgMovie, SourceChangedHandler); ... शून्य स्रोत परिवर्तनीयहैंडलर (ऑब्जेक्ट प्रेषक, इवेंटएआरजीएस ई) {}  

Comments