كيفية القيام بما يلي: استعادة القيمة الافتراضية لخاصية التبعية
يوضح هذا المثال كيفية استخدام الأسلوب ClearValue لإعادة تعيين قيمة خاصية التبعية إلى قيمته الافتراضية.
مثال
المثال التالي يقوم بالمسح المحلي لقيم الخصائص المعينة من عدة أنواع من عناصر Shape . RestoreDefaultProperties طريقة معرفة من قبل المستخدم هو مبين في المثال يرى كل قراءة وكتابة خصائص الاعتماد التي تم تعيينها محليا ، ويزيل كل واحد. تم تأسيس المحلي قيم الخصائص (باستخدام XAML السمة بناء جملة) في تحميل XAML الصفحة (غير معروضة). بعد RestoreDefaultProperties ويدير ، والقيمة الفعالة لكل الممتلكات التي تحددها Setter القيمة الموجودة في نمط التي Shape نوع.
لاحظ أن القيمة الافتراضية لخاصية التبعية ليست بالضرورة DefaultValue وثبت أن في التعريف عن تلك الممتلكات التبعية. وهناك عوامل أخرى لا تزال نشطة ، وأنها يمكن أن تصبح مصدرا لقيمة الممتلكات فعالة بعد يتم مسح القيم المحلية.
Private Sub RestoreDefaultProperties(ByVal sender As Object, ByVal e As RoutedEventArgs)
Dim uic As UIElementCollection = Sandbox.Children
For Each uie As Shape In uic
Dim locallySetProperties As LocalValueEnumerator = uie.GetLocalValueEnumerator()
While locallySetProperties.MoveNext()
Dim propertyToClear As DependencyProperty = locallySetProperties.Current.Property
If Not propertyToClear.ReadOnly Then
uie.ClearValue(propertyToClear)
End If
End While
Next
End Sub
void RestoreDefaultProperties(object sender, RoutedEventArgs e)
{
UIElementCollection uic = Sandbox.Children;
foreach (Shape uie in uic)
{
LocalValueEnumerator locallySetProperties = uie.GetLocalValueEnumerator();
while (locallySetProperties.MoveNext())
{
DependencyProperty propertyToClear = locallySetProperties.Current.Property;
if (!propertyToClear.ReadOnly) { uie.ClearValue(propertyToClear); }
}
}
}
تتضمن نماذج كاملة الضمني أنماط لكل نوع Shape . بعد أن يقوم استدعاء ClearValue بمسح القيمة المحلية ، النمط لكل Shape يحدد خاصية قيم للخصائص مسح معينة. يستند إلى بيانات التعريف DefaultValue من هذه الخصائص تعمل في الأسبقية قيمة أقل من تحديد أساليب عمله ، لذلك DefaultValue لا يُستخدم حتى بعد أن يتم مسح القيم. لمزيد من المعلومات حول الأسبقية قيمة لخصائص التبعية ، راجع أسبقية قيمة خاصية التبعية.