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)
Параметры
Свойство зависимостей, которое необходимо очистить, идентифицируется ссылкой 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)
Параметры
Ключ для очистки свойства зависимостей.
Исключения
Попытка вызвать ClearValue(DependencyProperty) запечатанный DependencyObject.
Комментарии
Определяет DependencyPropertyKey свойство зависимости только для чтения для операций системы свойств. Классы, определяющие свойства зависимостей только для чтения, не должны предоставлять этот ключ с открытым доступом. Открытый ключ предоставляет открытый путь кода, который отрицает символ свойства только для чтения, если такие методы, как ClearValue или SetValue могут вызываться за пределами класса или сборки, ссылаясь на ключ.
Очистка значения свойства путем вызова ClearValue не обязательно дает свойству зависимостей значение по умолчанию, указанное в метаданных свойства зависимостей. Очистка значения только специально очищает любое локальное значение. Дополнительные сведения см. в разделе "Приоритет свойства зависимостей".