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
- Наследование
- Атрибуты
Требования к 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 . |