में बदल दिया गया है, मैं विंडो में टेक्स्टबॉक्स को उस वर्ग के भीतर निहित संपत्ति में बांधना चाहता हूं जो व्यूमोडेल का एक चर है और यह सुनिश्चित करता है कि INotifyPropertyChanged's PropertyChanged ईवेंट कक्षा से अभिभावक तक फैलता है।INotifyProperty subclass
मुझे एक उदाहरण के साथ वर्णन करते हैं:
(विंडो के DataContext ViewModel का एक उदाहरण के लिए सेट है)
public class ViewModel {
private OtherClass classInstance = new OtherClass();
public int Attribute {
get { return classInstance.Attribute; }
}
}
public class OtherClass : INotifyPropertyChanged {
private int _attribute;
public int Attribute {
get { return _attribute; }
set {
_attribute = value;
PropertyChanged("Attribute");
}
}
...
}
इस उदाहरण में समस्या यह है कि, जब गुण परिवर्तन, बाध्य टेक्स्टबॉक्स बाध्यकारी अद्यतन नहीं करता है क्योंकि मुझे लगता है कि यह ViewModel की PropertyChanged ईवेंट को सुन रहा है और अन्य क्लास के उदाहरण की नहीं।
इस स्थिति को हल करने के तरीके पर कोई विचार? मैं अन्य क्लास के इन्सोटिफ़ प्रॉपर्टी को चेन करने के बारे में सोच रहा था, उसके माता-पिता के लिए बदल गया, लेकिन एक बेहतर तरीका होना चाहिए।
ड्रॉप मृत सरल उदाहरण उदाहरणों का सबसे अच्छा उदाहरण हैं :) – Moulde
यह कुछ व्यावहारिक नहीं है यदि SomeSubClass में गुणों का ढेर होता है। क्या आप वास्तव में उन सभी संपत्तियों को डुप्लिकेट करने जा रहे हैं? – Sean
@ सेन - मुझे यकीन नहीं है कि "उन सभी गुणों को डुप्लिकेट" से आपका क्या मतलब है। उदाहरण में यह सिर्फ संयोग है कि नाम माता-पिता और बच्चे पर परिभाषित किया गया है। यह अंतर्निहित प्रश्न में कोई फर्क नहीं पड़ता है। मुख्य रूप से, आप प्रॉक्सी वैरिएबल का उपयोग करने की कोशिश करने के बजाय सीधे बाल वर्ग गुणों से जुड़ सकते हैं। उस अर्थ में, शून्य डुप्लिकेशन होगा। – Josh