नहीं है मेरे पास मेरे कस्टम टेक्स्टबॉक्स पर एक अंतर निर्भरता संपत्ति है, जिसमें बैकिंग मान है। यह एक int के लिए बाध्य है? DataContext पर संपत्ति।डब्ल्यूपीएफ निर्भरता प्रॉपर्टी सेटर फ़ायरिंग नहीं कर रहा है जब PropertyChanged निकाल दिया गया है, लेकिन स्रोत मान
यदि मैं अपने डेटा कॉन्टेक्स्ट में प्रॉपर्टी चेंज इवेंट बढ़ाता हूं, और स्रोत प्रॉपर्टी का मान नहीं बदला जाता है (शून्य रहता है), तो निर्भरता प्रॉपर्टी के सेटर को निकाल दिया नहीं जाता है।
यह एक समस्या है, क्योंकि मैं प्रॉपर्टी चेंज पर कस्टम टेक्स्टबॉक्स (टेक्स्ट साफ़ करें) को अपडेट करना चाहता हूं, भले ही स्रोत प्रॉपर्टी वही रहे। हालांकि, मुझे कोई बाध्यकारी विकल्प नहीं मिला जो मैं चाहता हूं (एक अपडेटसोर्स ट्रिगर संपत्ति है, लेकिन मैं यहां लक्ष्य को अपडेट करना चाहता हूं, स्रोत नहीं)। शायद टेक्स्टबॉक्स को सूचित करने का एक बेहतर तरीका है कि इसे अपने टेक्स्ट को साफ़ करने की आवश्यकता है, मैं किसी भी सुझाव के लिए खुला हूं।
स्रोत, के रूप में अनुरोध (सरलीकृत)
DataContext (स्रोत):
private int? _foo;
public int? Foo
{
get
{
// The binding is working, because _foo is retrieved (hits a breakpoint here).
// RaisePropertyChanged("Foo") is called from elsewhere, even if _foo's value is not changed
return _foo;
}
set
{
// Breakpoint is hit on user input, so the binding is working
_foo = value;
RaisePropertyChanged("Foo");
}
}
कस्टम पाठ बॉक्स (लक्ष्य):
public double? Value
{
get
{
return (double?)GetValue(ValueProperty);
}
set
{
// When Foo is null and Value is also null, the breakpoint is not hit here
SetValue(ValueProperty, value);
// This is the piece of code that needs to be run whenever Value is set to null
if (value == null && !String.IsNullOrEmpty(Text))
{
Text = String.Empty;
}
}
}
public static readonly DependencyProperty ValueProperty = DependencyProperty.Register("Value", typeof(double?), typeof(CustomTextbox), new PropertyMetadata(null, ValueChangedHandler));
private static void ValueChangedHandler(DependencyObject dependecyObject, DependencyPropertyChangedEventArgs e)
{
// When Foo is null and Value is also null, the breakpoint is not hit here
}
क्या आप कुछ कोड पोस्ट कर सकते हैं? यह आपके मुद्दे को और अधिक आसान समझ देगा। आप अपने डेटाकॉन्टेक्स्ट में प्रॉपर्टी चेंज इवेंट को कैसे बढ़ा रहे हैं? – wpfwannabe
यह तब भी अपडेट होना चाहिए जब स्रोत समान हो। अपना कोड पोस्ट करें, समाधान स्पॉट करना आसान होना चाहिए। –
मैंने कुछ कोड पोस्ट किया। यहां संपूर्ण स्रोत को शामिल करने के लिए एप्लिकेशन बहुत जटिल है। नाम बदल दिए गए थे। –