Sdílet prostřednictvím


DependencyObject.ClearValue Metoda

Definice

Vymaže místní hodnotu vlastnosti.

Přetížení

ClearValue(DependencyProperty)

Vymaže místní hodnotu vlastnosti. Vlastnost, která se má vymazat, je určena identifikátorem DependencyProperty .

ClearValue(DependencyPropertyKey)

Vymaže místní hodnotu vlastnosti jen pro čtení. Vlastnost, která se má vymazat, je určena parametrem DependencyPropertyKey.

ClearValue(DependencyProperty)

Vymaže místní hodnotu vlastnosti. Vlastnost, která se má vymazat, je určena identifikátorem 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)

Parametry

dp
DependencyProperty

Vlastnost závislosti, která se má vymazat, identifikovaná odkazem na DependencyProperty objekt.

Výjimky

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

Příklady

Následující příklad iteruje všechny vlastnosti, které mají místní hodnoty nastavené na objektu, a pak volání ClearValue vymazat hodnoty 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ě dát vlastnosti závislosti výchozí hodnotu, která je zadána v metadatech vlastnosti závislosti. Vymazáním vlastnosti pouze konkrétně vymažete všechny místní hodnoty, které mohly být použity. Další informace najdete v tématu Priorita hodnoty vlastnosti závislostí.

Viz také

Platí pro

ClearValue(DependencyPropertyKey)

Vymaže místní hodnotu vlastnosti jen pro čtení. Vlastnost, která se má vymazat, 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ěnou DependencyObject.

Poznámky

A DependencyPropertyKey identifikuje vlastnost závislosti jen pro čtení pro systémové operace vlastností. Třídy, které definují vlastnosti závislostí jen pro čtení, by neměly zveřejnit tento klíč s veřejným přístupem. Veřejně vystavený klíč by poskytl cestu veřejného kódu, která negovala znak vlastnosti jen pro čtení, pokud metody jako ClearValue nebo SetValue by mohly být volány mimo třídu nebo sestavení, odkazující na klíč.

Vymazání hodnoty vlastnosti voláním ClearValue nemusí nutně dát vlastnosti závislosti výchozí hodnotu, která je zadána v metadatech vlastnosti závislosti. Vymazáním pouze konkrétní hodnoty vymažete všechny místní hodnoty, které mohly být použity. Další informace najdete v tématu Priorita hodnoty vlastnosti závislostí.

Viz také

Platí pro