मेरे पास नियंत्रण पर अवलोकन योग्य चयन प्रकार की एक संलग्न संपत्ति है। अगर मैं संग्रह से आइटम जोड़ता या हटाता हूं, तो यूई अपडेट नहीं होता है। हालांकि अगर मैं संग्रह को एक नए के साथ बदलता हूं तो ViewModel ui अद्यतन करता है।पर्यवेक्षण योग्यता निर्भरता संपत्ति अद्यतन नहीं होती है जब संग्रह में आइटम हटा दिया जाता है
क्या कोई मुझे निर्भर करता है कि मुझे निर्भरता ऑब्जेक्ट के भीतर क्या करना है ताकि यह संग्रह के भीतर परिवर्तनों को संभाल सके?
निर्भरता वस्तु का एक हिस्सा नीचे सूचीबद्ध है:
public class RadCalendarBehavior : DependencyObject
{
private static void OnSpecialDaysChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
var calendar = d as RadCalendar;
if (e.NewValue != null)
{
calendar.DayTemplateSelector = new SpecialDaySelector((ObservableCollection<DateTime>)e.NewValue, GetSpecialDayTemplate(d));
}
}
public static ObservableCollection<DateTime> GetSpecialDays(DependencyObject obj)
{
return (ObservableCollection<DateTime>)obj.GetValue(SpecialDaysProperty);
}
public static void SetSpecialDays(DependencyObject obj, ObservableCollection<DateTime> value)
{
obj.SetValue(SpecialDaysProperty, value);
}
public static readonly DependencyProperty SpecialDaysProperty =
DependencyProperty.RegisterAttached("SpecialDays", typeof(ObservableCollection<DateTime>), typeof(RadCalendarBehavior), new UIPropertyMetadata(null, OnSpecialDaysChanged));
}
}
मैं समझता हूँ कि मुझे लगता है कि संग्रह बदल गया है रजिस्टर करने की आवश्यकता है, लेकिन मैं कैसे निर्भरता संपत्ति
धन्यवाद। क्या विशेष Days_CollectionChanged के भीतर निर्भरता ऑब्जेक्ट का संदर्भ प्राप्त करना संभव है? – GoalMaker
कौन सा निर्भरता वस्तु? आप RadCalendar का मतलब है? आसानी से नहीं ... वैसे भी, मुझे यकीन नहीं है कि यह समझ में आएगा: क्या होगा यदि RadCalendar के कई उदाहरण एक ही संग्रह से बंधे हैं? –
मुझे लगता है कि आपका क्या मतलब है। मैं रैड कैलेंडर को किसी विशेष दिन को संग्रहित करने के लिए किसी विशेष दिन को हाइलाइट करने की कोशिश नहीं कर रहा था, इसलिए मैंने सोचा कि मैं इसे नया स्पेशलडे चयनकर्ता बनाकर और कैलेंडर नियंत्रण के डे टेम्पलेट चयनकर्ता को सेट करके कर सकता हूं। – GoalMaker