Поделиться через


DataContextChangedEventArgs Класс

Определение

Предоставляет данные для события DataContextChanged .

public ref class DataContextChangedEventArgs sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class DataContextChangedEventArgs final
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class DataContextChangedEventArgs final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class DataContextChangedEventArgs
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class DataContextChangedEventArgs
Public NotInheritable Class DataContextChangedEventArgs
Наследование
Object Platform::Object IInspectable DataContextChangedEventArgs
Атрибуты

Требования к Windows

Семейство устройств
Windows 10 (появилось в 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (появилось в v1.0)

Комментарии

Свойство FrameworkElement.DataContext имеет встроенное поведение, при котором его значение наследует все дочерние элементы FrameworkElementэлемента FrameworkElement , где задано значение DataContext . Такое поведение позволяет набору связанных элементов использовать один и тот же контекст для привязки к разным свойствам источника, что особенно полезно для шаблонов элементов, шаблонов данных и других сценариев привязки данных. Так как DataContext наследует, каждый элемент FrameworkElement , использующий наследуемое значение, может вызвать другое событие DataContextChanged . Это событие получается из наследующего элемента, а не из родительского элемента, когда элемент обнаруживает, что его наследуемое значение DataContext изменилось. Если такое поведение не требуется, следует обработать событие DataContextChanged в родительском источнике, где оно будет происходить первым. В рамках логики обработчика задайте для свойства Handled в данных события DataContextChangedEventArgs значение true. Это действие предотвратит маршрутизацию события к дочерним элементам.

Примечание

DataContextChanged имеет поведение маршрутизации, но не является истинным маршрутизируемым событием (у него нет идентификатора RoutedEvent ). Кроме того, он маршрутизирует от родительского к дочернему, в то время как истинные перенаправленные события направляются от дочернего к родительскому. Если вы знакомы с Windows Presentation Foundation (WPF), определения маршрутизации событий Windows Presentation Foundation (WPF) могут рассматривать DataContextChanged как событие туннелирования маршрутизации.

Свойства

Handled

Возвращает или задает значение, которое влияет на то, должно ли выполняться другое событие DataContextChanged из дочерних элементов, наследующих значение DataContext и обнаруживающих изменение значения.

NewValue

Возвращает новое значение DataContext для элемента, в котором произошло событие DataContextChanged .

Применяется к

См. также раздел