DependencyObject.ClearValue 方法

定義

清除屬性的區域數值。Clears the local value of a property.

多載

ClearValue(DependencyProperty)

清除屬性的區域數值。Clears the local value of a property. 要清除的屬性是由 DependencyProperty 識別項所指定。The property to be cleared is specified by a DependencyProperty identifier.

ClearValue(DependencyPropertyKey)

清除唯讀屬性的區域數值。Clears the local value of a read-only property. 要清除的屬性是由 DependencyPropertyKey 所指定。The property to be cleared is specified by a DependencyPropertyKey.

ClearValue(DependencyProperty)

清除屬性的區域數值。Clears the local value of a property. 要清除的屬性是由 DependencyProperty 識別項所指定。The property to be cleared is specified by a DependencyProperty identifier.

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 物件參考所識別。The dependency property to be cleared, identified by a DependencyProperty object reference.

例外狀況

範例

下列範例會逐一查看在物件上設定了區域值的所有屬性,然後呼叫 ClearValue 以清除每個這類屬性的值。The following example iterates all properties that have local values set on an object, then calls ClearValue to clear the values of each such property.

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 並不一定會提供相依性屬性(dependency property metadata)中所指定的預設值。Clearing the property value by calling ClearValue does not necessarily give a dependency property the default value that is specified in the dependency property metadata. 清除屬性只會明確清除可能套用的任何本機值。Clearing the property only specifically clears whatever local value may have been applied. 如需詳細資訊,請參閱相依性屬性值優先順序For more information, see Dependency Property Value Precedence.

另請參閱

適用於

ClearValue(DependencyPropertyKey)

清除唯讀屬性的區域數值。Clears the local value of a read-only property. 要清除的屬性是由 DependencyPropertyKey 所指定。The property to be cleared is specified by a 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

要清除之相依性屬性的索引鍵。The key for the dependency property to be cleared.

例外狀況

備註

DependencyPropertyKey 識別屬性系統作業的唯讀相依性屬性。A DependencyPropertyKey identifies a read-only dependency property for property system operations. 定義唯讀相依性屬性的類別不應使用公用存取公開此金鑰。Classes that define read-only dependency properties should not expose this key with public access. 公開的金鑰會提供公開的程式碼路徑,該路徑會反轉屬性的唯讀字元(如果可以在 ClearValue SetValue 類別或元件之外呼叫或),以參考索引鍵。A publicly exposed key would provide a public code pathway that negated the read-only character of the property, if methods such as ClearValue or SetValue could be called outside the class or assembly, referencing the key.

藉由呼叫來清除屬性值, ClearValue 並不一定會提供相依性屬性(dependency property metadata)中所指定的預設值。Clearing the property value by calling ClearValue does not necessarily give a dependency property the default value that is specified in the dependency property metadata. 清除此值只會明確清除任何可能已套用的本機值。Clearing the value only specifically clears whatever local value may have been applied. 如需詳細資訊,請參閱相依性屬性值優先順序For more information, see Dependency Property Value Precedence.

另請參閱

適用於