次の方法で共有


DataContextChangedEventArgs クラス

定義

DataContextChanged イベントのデータを提供します。

public ref class DataContextChangedEventArgs sealed
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class DataContextChangedEventArgs final
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class DataContextChangedEventArgs
Public NotInheritable Class DataContextChangedEventArgs
継承
Object Platform::Object IInspectable DataContextChangedEventArgs
属性

注釈

FrameworkElement.DataContext プロパティには組み込みの動作があり、その値は、DataContext 値が設定されている FrameworkElement のすべての FrameworkElement 子要素に継承されます。 この動作により、関連する一連の要素が同じコンテキストを使用して異なるソース プロパティにバインドできるようになります。これは、項目テンプレート、データ テンプレート、およびその他のデータ バインディング シナリオに特に役立ちます。 DataContext は継承されるため、継承された値を使用して別の DataContextChanged イベントを発生させる FrameworkElement ごとに可能性があります。 そのイベントは、継承された DataContext 値が変更されたことを要素が検出すると、親要素ではなく継承要素からソース化されます。 この動作が必要ない場合は、親ソースで DataContextChanged イベントを処理する必要があります。ここで、イベントが最初に発生します。 ハンドラー ロジックの一部として、イベント データの Handled プロパティの値を DataContextChangedEventArgstrue設定します。 このアクションにより、イベントが子要素にルーティングされなくなります。

注意

DataContextChanged にはルーティング動作がありますが、真のルーティング イベントではありません ( RoutedEvent 識別子がありません)。 また、親から子にルーティングされますが、真のルーティング イベントは子から親にルーティングされます。 Windows Presentation Foundation (WPF) に精通している場合、DataContextChanged は WPF イベント ルーティング定義によってトンネリング ルーティング イベントと見なされる可能性があります。

プロパティ

Handled

DataContext 値を継承し、値が変更されたことを検出する子要素から別の DataContextChanged イベントを発生させる必要があるかどうかを示す値を取得または設定します。

NewValue

DataContextChanged イベントが発生した要素の新しい DataContext 値を取得します。

適用対象

こちらもご覧ください