다음을 통해 공유


DependencyObject.GetLocalValueEnumerator 메서드

정의

DependencyObject에 대해 로컬로 값을 설정한 종속성 속성을 확인하기 위한 특수 열거자를 만듭니다.

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

반환

LocalValueEnumerator

특수 로컬 값 열거자입니다.

예제

다음 예제에서는 개체에 로컬 값이 설정된 모든 속성을 반복한 다음, 호출 ClearValue 하여 이러한 각 속성의 값을 지웁니다.

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

설명

로컬 값 은 속성 시스템의 다른 측면과 달리 설정된 SetValue종속성 속성 값입니다.

호출 GetLocalValueEnumerator 을 통해 얻은 값을 LocalValueEnumerator 인스턴스에 로컬로 설정한 DependencyObject 속성을 열거하는 데 사용할 수 있습니다. 이러한 각 속성은 특정 DependencyProperty 및 해당 값을 참조하는 속성이 있는 개체에 의해 LocalValueEntry 열거자에 표시됩니다. 로컬로 설정된 값을 열거하는 이 기술은 최적화 또는 로컬 값의 다른 처리에 사용할 수 있습니다. 예를 들어 해당 값이 DependencyObject 지워질 경우 변경될 속성 값을 결정하는 데 사용할 수 있습니다.

중요

반환 LocalValueEnumerator 된 항목에는 읽기 전용인 종속성 속성에 대한 레코드 또는 속성 시스템에서 값을 계산하는 종속성 속성이 포함될 LocalValueEntry 수 있습니다. 예를 들어 레이아웃을 통한 너비가 설정된 시각적 프레임워크 요소는 로컬 값을 ActualWidth보고합니다. 다시 설정하기 위해 로컬 값을 가져오는 경우 각 LocalValueEntry 값의 속성 식별자 값을 확인 ReadOnly 하여 문제의 값이 DependencyProperty 읽기 전용이 아닌지 확인합니다.

적용 대상

추가 정보