DependencyObject.ClearValue Метод

Определение

Очищает локальное значение свойства.

Перегрузки

ClearValue(DependencyProperty)

Очищает локальное значение свойства. Очищаемое свойство задается идентификатором DependencyProperty.

ClearValue(DependencyPropertyKey)

Очищает локальное значение доступного только для чтения свойства. Очищаемое свойство задается ключом DependencyPropertyKey.

ClearValue(DependencyProperty)

Очищает локальное значение свойства. Очищаемое свойство задается идентификатором DependencyProperty.

public:
 void ClearValue(System::Windows::DependencyProperty ^ dp);
public void ClearValue (System.Windows.DependencyProperty dp);
member this.ClearValue : System.Windows.DependencyProperty -> unit
Public Sub ClearValue (dp As DependencyProperty)

Параметры

dp
DependencyProperty

Очищаемое свойство зависимостей, идентифицируемое ссылкой на объект DependencyProperty.

Исключения

Предпринята попытка вызова ClearValue(DependencyProperty) в запечатанном объекте DependencyObject.

Примеры

В следующем примере выполняется итерация всех свойств, имеющих локальные значения, заданные для объекта, а затем вызывается ClearValue для очистки значений каждого такого свойства.

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); }
        }
    }
}
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

Комментарии

Очистка значения свойства путем вызова ClearValue не обязательно дает свойству зависимости значение по умолчанию, указанное в метаданных свойства зависимостей. При очистке свойства очищается только то, какое локальное значение может быть применено. Дополнительные сведения см. в разделе Приоритет значений свойств зависимостей.

См. также раздел

Применяется к

ClearValue(DependencyPropertyKey)

Очищает локальное значение доступного только для чтения свойства. Очищаемое свойство задается ключом DependencyPropertyKey.

public:
 void ClearValue(System::Windows::DependencyPropertyKey ^ key);
public void ClearValue (System.Windows.DependencyPropertyKey key);
member this.ClearValue : System.Windows.DependencyPropertyKey -> unit
Public Sub ClearValue (key As DependencyPropertyKey)

Параметры

key
DependencyPropertyKey

Ключ очищаемого свойства зависимостей.

Исключения

Предпринята попытка вызова ClearValue(DependencyProperty) в запечатанном объекте DependencyObject.

Комментарии

Идентифицирует DependencyPropertyKey свойство зависимостей только для чтения для системных операций свойств. Классы, определяющие свойства зависимостей только для чтения, не должны предоставлять этот ключ с открытым доступом. Открытый ключ предоставляет открытый путь кода, который отрицает символ свойства только для чтения, если такие методы, как ClearValue или SetValue могут быть вызваны вне класса или сборки, ссылаясь на ключ.

Очистка значения свойства путем вызова ClearValue не обязательно дает свойству зависимости значение по умолчанию, указанное в метаданных свойства зависимостей. При очистке значения очищается только то, какое локальное значение может быть применено. Дополнительные сведения см. в разделе Приоритет значений свойств зависимостей.

См. также раздел

Применяется к