DependencyObject.GetLocalValueEnumerator Metode

Definisi

Membuat enumerator khusus untuk menentukan properti dependensi mana yang telah mengatur nilai secara lokal pada ini DependencyObject.

public:
 System::Windows::LocalValueEnumerator GetLocalValueEnumerator();
public System.Windows.LocalValueEnumerator GetLocalValueEnumerator();
member this.GetLocalValueEnumerator : unit -> System.Windows.LocalValueEnumerator
Public Function GetLocalValueEnumerator () As LocalValueEnumerator

Mengembalikan

Enumerator nilai lokal khusus.

Contoh

Contoh berikut berulang semua properti yang memiliki nilai lokal yang diatur pada objek, lalu memanggil ClearValue untuk menghapus nilai setiap properti tersebut.

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

Keterangan

Nilai lokal adalah nilai properti dependensi apa pun yang ditetapkan oleh , dibandingkan dengan SetValueaspek lain dari sistem properti.

Yang LocalValueEnumerator diperoleh dengan memanggil GetLocalValueEnumerator dapat digunakan untuk menghitung properti yang memiliki nilai yang ditetapkan secara lokal pada DependencyObject instans. Setiap properti tersebut diwakili dalam enumerator oleh LocalValueEntry objek, yang memiliki properti yang mereferensikan spesifik DependencyProperty dan nilainya. Teknik menghitung nilai yang ditetapkan secara lokal ini dapat digunakan untuk pengoptimalan atau untuk penanganan nilai lokal lainnya, seperti untuk menentukan nilai DependencyObject properti mana yang akan berubah jika dihapus.

Important

Yang dikembalikan LocalValueEnumerator mungkin berisi LocalValueEntry rekaman untuk properti dependensi yang bersifat baca-saja, atau properti dependensi di mana nilai dihitung oleh sistem properti. Misalnya, elemen kerangka kerja visual yang memiliki lebar yang ditetapkan melalui tata letak akan melaporkan nilai lokal untuk ActualWidth. Jika Anda mendapatkan nilai lokal untuk meresetnya, periksa ReadOnly nilai pada pengidentifikasi properti masing-masing LocalValueEntry untuk memverifikasi bahwa yang bersangkutan DependencyProperty tidak baca-saja.

Berlaku untuk

Lihat juga