Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Aggiornamento: novembre 2007
In questo esempio viene illustrato come utilizzare il metodo ClearValue per ripristinare il valore predefinito di una proprietà di dipendenza.
Esempio
Nell'esempio seguente vengono cancellati i valori di proprietà impostati localmente per diversi tipi di elementi Shape. Il metodo RestoreDefaultProperties definito dall'utente mostrato nell'esempio cerca e cancella tutte le proprietà di dipendenza di lettura/scrittura che sono impostate localmente. I valori locali per le proprietà sono stati stabiliti tramite la sintassi degli attributi XAML in una pagina XAML caricata (non mostrata). Dopo l'esecuzione di RestoreDefaultProperties, il valore effettivo per ogni proprietà è determinato dal valore Setter contenuto nello stile per tale tipo Shape.
Si noti che il valore predefinito di una proprietà di dipendenza non è necessariamente DefaultValue stabilito nei metadati per tale proprietà di dipendenza. Altri fattori sono ancora attivi e possono diventare l'origine per il valore effettivo della proprietà dopo la cancellazione del valore locale.
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
void RestoreDefaultProperties(object sender, RoutedEventArgs e)
{
UIElementCollection uic = Sandbox.Children;
foreach (Shape uie in uic)
{
LocalValueEnumerator locallySetProperties = uie.GetLocalValueEnumerator();
while (locallySetProperties.MoveNext())
{
DependencyProperty propertyToClear = (DependencyProperty)locallySetProperties.Current.Property;
if (!propertyToClear.ReadOnly) { uie.ClearValue(propertyToClear); }
}
}
}
Per l'esempio completo, vedere Esempio di ripristino dei valori predefiniti. L'esempio completo da cui deriva questo esempio include gli stili impliciti per ogni tipo Shape. Dopo che la chiamata a ClearValue cancella il valore locale, lo stile per ogni Shape determina i valori per le proprietà specifiche che sono state cancellate. La proprietà DefaultValue basata su metadati di queste proprietà opera con una precedenza di determinazione dei valori inferiore rispetto agli stili, quindi la proprietà DefaultValue non viene utilizzata dopo la cancellazione dei valori. Per le ulteriori informazioni sulla precedenza dei valori per le proprietà di dipendenza, vedere Precedenza del valore della proprietà di dipendenza. Eseguire Esempio di ripristino dei valori predefiniti per vedere in che modo lo stile applica il valore.
Vedere anche
Attività
Esempio di ripristino dei valori predefiniti
Concetti
Precedenza del valore della proprietà di dipendenza