DependencyObject.ClearValue Metoda

Definice

Vymaže místní hodnotu vlastnosti.

Přetížení

ClearValue(DependencyProperty)

Vymaže místní hodnotu vlastnosti. Vlastnost, která má být vyčištěna, je určena DependencyProperty identifikátorem.

ClearValue(DependencyPropertyKey)

Vymaže místní hodnotu vlastnosti jen pro čtení. Vlastnost, která má být vymazána, je určena parametrem DependencyPropertyKey .

ClearValue(DependencyProperty)

Vymaže místní hodnotu vlastnosti. Vlastnost, která má být vyčištěna, je určena DependencyProperty identifikátorem.

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)

Parametry

dp
DependencyProperty

Vlastnost závislosti, která má být vymazána, identifikovaná DependencyProperty odkazem na objekt.

Výjimky

Došlo k pokusu o volání ClearValue(DependencyProperty) na zapečetěné DependencyObject .

Příklady

Následující příklad provede iteraci všech vlastností, které mají místní hodnoty nastavené u objektu, a pak volání ClearValue pro vymazání hodnot každé takové vlastnosti.

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

Poznámky

Vymazání hodnoty vlastnosti voláním ClearValue nemusí nutně poskytnout vlastnost závislosti výchozí hodnotě, která je zadána v metadatech vlastností závislosti. Vymazání vlastnosti pouze konkrétně zruší, že byla použita místní hodnota. Další informace najdete v tématu Priorita hodnoty vlastností závislosti.

Viz také

Platí pro

ClearValue(DependencyPropertyKey)

Vymaže místní hodnotu vlastnosti jen pro čtení. Vlastnost, která má být vymazána, je určena parametrem 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)

Parametry

key
DependencyPropertyKey

Klíč pro vlastnost závislosti, která se má vymazat

Výjimky

Došlo k pokusu o volání ClearValue(DependencyProperty) na zapečetěné DependencyObject .

Poznámky

DependencyPropertyKeyUrčuje vlastnost závislosti jen pro čtení pro operace systému vlastností. Třídy, které definují vlastnosti závislosti jen pro čtení, by neměly vystavovat tento klíč s veřejným přístupem. Veřejně vystavený klíč by poskytoval cestu veřejného kódu, který se odvolal znak vlastnosti jen pro čtení, pokud metody jako ClearValue nebo SetValue by mohly být volány vně třídy nebo sestavení s odkazem na klíč.

Vymazání hodnoty vlastnosti voláním ClearValue nemusí nutně poskytnout vlastnost závislosti výchozí hodnotě, která je zadána v metadatech vlastností závislosti. Vymazání hodnoty se konkrétně vymaže jenom v případě, že je možné použít místní hodnotu. Další informace najdete v tématu Priorita hodnoty vlastností závislosti.

Viz také

Platí pro