चलो कहते हैं कि मैं एक वर्ग करते हैं:मैं सरणी बाध्यकारी अद्यतन करने के लिए INOTifyPropertyChanged का उपयोग कैसे करूं?
class Foo
{
public string Bar
{
get { ... }
}
public string this[int index]
{
get { ... }
}
}
मैं का उपयोग कर "{बाइंडिंग पथ = बार}" और इन दोनों के गुण के लिए बाध्य कर सकते हैं "{बाइंडिंग पथ = [x]}"। ठीक।
अब मान लीजिए कि मैं INotifyPropertyChanged को लागू करना चाहते हैं:
class Foo : INotifyPropertyChanged
{
public string Bar
{
get { ... }
set
{
...
if(PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs("Bar"));
}
}
}
public string this[int index]
{
get { ... }
set
{
...
if(PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs("????"));
}
}
}
public event PropertyChangedEventHandler PropertyChanged;
}
किस हिस्से में चला जाता है चिह्नित ????? (मैंने स्ट्रिंग की कोशिश की है। फोर्मेट ("[{0}]", अनुक्रमणिका) और यह काम नहीं करता है)। क्या यह डब्ल्यूपीएफ में एक बग है, क्या कोई वैकल्पिक वाक्यविन्यास है, या यह बस इतना है कि INotifyPropertyChanged सामान्य बाध्यकारी के रूप में शक्तिशाली नहीं है?
क्या आपने यह कोशिश की? PropertyChangedEventArgs ("आइटम [" + कुंजी + "]") स्ट्रिंग कुंजी के साथ मेरे लिए काम नहीं करता है। –
न ही मेरे लिए एक पूर्णांक के साथ :( – VitalyB
PropertyChangedEventArgs ("आइटम [" + कुंजी + "]") मेरे लिए काम नहीं करता है, हालांकि मुझे यकीन है कि यह पसंद है! –