DependencyObject.ClearValue Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
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
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í.