DependencyObject.GetLocalValueEnumerator Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Crea un enumeratore specializzato per determinare quali proprietà di dipendenza hanno valori impostati localmente in questo DependencyObjectoggetto .
public:
System::Windows::LocalValueEnumerator GetLocalValueEnumerator();
public System.Windows.LocalValueEnumerator GetLocalValueEnumerator();
member this.GetLocalValueEnumerator : unit -> System.Windows.LocalValueEnumerator
Public Function GetLocalValueEnumerator () As LocalValueEnumerator
Valori restituiti
Enumeratore di valori locali specializzato.
Esempio
Nell'esempio seguente vengono eseguite l'iterazione di tutte le proprietà con valori locali impostati su un oggetto , quindi viene chiamato ClearValue per cancellare i valori di ogni proprietà di questo tipo.
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
Commenti
Un valore locale è qualsiasi valore della proprietà di dipendenza impostato da SetValue, anziché da altri aspetti del sistema di proprietà.
L'oggetto LocalValueEnumerator ottenuto chiamando GetLocalValueEnumerator può essere usato per enumerare le proprietà con un valore impostato localmente in un'istanza DependencyObject di . Ogni proprietà di questo tipo è rappresentata nell'enumeratore da un LocalValueEntry oggetto , che dispone di proprietà che fanno riferimento agli specifici DependencyProperty e ai relativi valori. Questa tecnica di enumerazione sui valori impostati localmente può essere usata per l'ottimizzazione o per altre operazioni di gestione dei valori locali, ad esempio per determinare quali valori di proprietà di un oggetto DependencyObject cambierebbero se fossero state cancellate.
Importante
L'oggetto restituito LocalValueEnumerator può contenere LocalValueEntry record per le proprietà di dipendenza di sola lettura o le proprietà di dipendenza in cui i valori vengono calcolati dal sistema di proprietà. Ad esempio, un elemento del framework visivo con una larghezza stabilita tramite layout segnala un valore locale per ActualWidth. Se si ottengono valori locali per reimpostarli, controllare il ReadOnly valore sull'identificatore di proprietà di ognuno LocalValueEntry per verificare che in DependencyProperty questione non sia di sola lettura.