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 继承,因此每个 FrameworkElement 都有可能使用继承的值触发另一个 DataContextChanged 事件。 该事件源自继承元素,而不是父元素,一旦元素检测到其继承的 DataContext 值已更改。 如果不希望此行为,则应处理父源上的 DataContextChanged 事件,在该事件将首先发生。 作为处理程序逻辑的一部分,将事件数据中 DataContextChangedEventArgsHandled 属性的值设置为 true。 该操作将阻止事件路由到子元素。

注意

DataContextChanged 具有路由行为,但不是真正的路由事件, (它没有 RoutedEvent 标识符) 。 此外,它从父级路由到子级,而真正的路由事件从子路由到父级。 如果熟悉 wpf) Windows Presentation Foundation (,则 WPF 事件路由定义可将 DataContextChanged 视为隧道路由事件。

属性

Handled

获取或设置一个值,该值影响是否应从继承 DataContext 值的子元素触发另一个 DataContextChanged 事件,并检测该值是否已更改。

NewValue

获取触发 DataContextChanged 事件的元素的新 DataContext 值。

适用于

另请参阅