DependencyObject.GetLocalValueEnumerator DependencyObject.GetLocalValueEnumerator DependencyObject.GetLocalValueEnumerator DependencyObject.GetLocalValueEnumerator Method

정의

DependencyObject에 대해 로컬로 값을 설정한 종속성 속성을 확인하기 위한 특수 열거자를 만듭니다.Creates a specialized enumerator for determining which dependency properties have locally set values on this DependencyObject.

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

반환

특수 로컬 값 열거자입니다.A specialized local value enumerator.

예제

다음 예제에서는 개체에 설정 된 로컬 값을 갖는 모든 속성 반복 호출 ClearValue 이러한 각 속성의 값을 선택 취소 합니다.The following example iterates all properties that have local values set on an object, then calls ClearValue to clear the values of each such property.

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

설명

A 로컬 값 의해 설정 된 종속성 속성 값이 SetValue속성 시스템의 다른 측면을 대신 합니다.A local value is any dependency property value that was set by SetValue, as opposed to other aspects of the property system.

LocalValueEnumerator 를 호출 하 여 얻은 GetLocalValueEnumerator 로컬로 설정 된 속성을 열거할 수 값을 DependencyObject 인스턴스.The LocalValueEnumerator obtained by calling GetLocalValueEnumerator can be used to enumerate properties that have a locally set value on a DependencyObject instance. 이러한 각 속성에서 열거자에 표시 됩니다는 LocalValueEntry 특정 참조 하는 속성이 있는 개체 DependencyProperty 및 해당 값입니다.Each such property is represented in the enumerator by a LocalValueEntry object, which has properties that reference the specific DependencyProperty and its values. 이 기술은 로컬에서 설정한 열거의 값 수 또는 다른 로컬 값을 처리 최적화에 대 한 같은 속성 값을 확인 한 DependencyObject 된 변경 합니다.This technique of enumerating over the locally set values can be used for optimization or for other handling of local values, such as to determine which property values of a DependencyObject would change if they were cleared.

중요

반환 된 LocalValueEnumerator 있을 LocalValueEntry 은 읽기 전용 종속성 속성 또는 값이 계산 되는 속성 시스템에서 종속성 속성에 대 한 레코드입니다.The returned LocalValueEnumerator might contain LocalValueEntry records for dependency properties that are read-only, or dependency properties where values are calculated by the property system. 레이아웃을 통해 설정 된 너비가 visual 프레임 워크 요소는 로컬 값을 보고 하는 예를 들어 ActualWidth합니다.For example, a visual framework element that has an established width through layout will report a local value for ActualWidth. 다시 설정 하기 위해 로컬 값을 얻는 경우를 확인 합니다 ReadOnly 의 각 속성 식별자의 값 LocalValueEntry 되었는지 확인 하는 DependencyProperty 문제의 읽기 전용이 아닌지.If you are getting local values in order to reset them, check the ReadOnly value on the property identifier of each LocalValueEntry to verify that the DependencyProperty in question is not read-only.

적용 대상

추가 정보