DependencyObject.GetLocalValueEnumerator メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
どの依存関係プロパティがこの DependencyObject 上にローカルに設定された値を持つかを確認するための、専用の列挙子を作成します。
public:
System::Windows::LocalValueEnumerator GetLocalValueEnumerator();
public System.Windows.LocalValueEnumerator GetLocalValueEnumerator ();
member this.GetLocalValueEnumerator : unit -> System.Windows.LocalValueEnumerator
Public Function GetLocalValueEnumerator () As 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された依存関係プロパティ値です。
LocalValueEnumerator呼び出しGetLocalValueEnumeratorによって取得されたプロパティは、インスタンスに対してローカルに設定された値を持つプロパティをDependencyObject列挙するために使用できます。 このような各プロパティは、特定の値を参照DependencyPropertyするプロパティをLocalValueEntry持つオブジェクトによって列挙子で表されます。 ローカルに設定された値を列挙するこの手法は、最適化やその他のローカル値の処理 (クリアされた場合に変更される a DependencyObject のプロパティ値を決定するなど) に使用できます。
重要
返される LocalValueEnumerator プロパティには、読み取り専用の依存関係プロパティのレコードや、プロパティ システムによって値が計算される依存関係プロパティが含まれる LocalValueEntry 場合があります。 たとえば、レイアウトの幅が確立されているビジュアル フレームワーク要素は、ローカル値を報告します ActualWidth。 ローカル値をリセットするために取得する場合は、それぞれのLocalValueEntryプロパティ識別子の値を調ReadOnlyべて、該当する値が読み取り専用ではないことをDependencyProperty確認します。