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
- Наследование
- Атрибуты
Комментарии
Свойство FrameworkElement.DataContext имеет встроенное поведение, при котором его значение наследует все дочерние элементы FrameworkElementэлемента FrameworkElement , где задано значение DataContext . Такое поведение позволяет набору связанных элементов использовать один и тот же контекст для привязки к разным свойствам источника, что особенно полезно для шаблонов элементов, шаблонов данных и других сценариев привязки данных. Так как DataContext наследует, каждый элемент FrameworkElement , использующий наследуемое значение, может вызвать другое событие DataContextChanged . Это событие получается из наследующего элемента, а не из родительского элемента, когда элемент обнаруживает, что его наследуемое значение DataContext изменилось. Если такое поведение не требуется, следует обработать событие DataContextChanged в родительском источнике, где оно будет происходить первым. В рамках логики обработчика задайте для свойства Handled в DataContextChangedEventArgs
данных true
события значение . Это действие предотвратит маршрутизацию события к дочерним элементам.
Примечание
DataContextChanged имеет поведение маршрутизации, но не является истинным маршрутизируемым событием (у него нет идентификатора RoutedEvent ). Кроме того, он маршрутизирует от родительского к дочернему, в то время как истинные перенаправленные события направляются от дочернего к родительскому. Если вы знакомы с Windows Presentation Foundation (WPF), определения маршрутизации событий WPF могут считать DataContextChanged событием туннелирования маршрутизации.
Свойства
Handled |
Возвращает или задает значение, которое влияет на то, должно ли выполняться другое событие DataContextChanged из дочерних элементов, наследующих значение DataContext и обнаруживающих изменение значения. |
NewValue |
Возвращает новое значение DataContext для элемента, в котором произошло событие DataContextChanged . |