gpt4 book ai didi

c# - 检测用户控件中的 DataContext 更改

转载 作者:行者123 更新时间:2023-11-30 12:09:52 25 4
gpt4 key购买 nike

我正在实现一个 UserControl,我想检测代码中的 DataContext 是否发生了变化。 FrameworkElement.DataContext.Get 不是虚拟的,因此我无法覆盖它。我可以用 new 隐藏它,但我相信有更好的方法来做到这一点。在 WPF 中有类似 DataContextChanged 事件的东西。我们可以用 Windows Phone 做类似的事情吗?

最佳答案

在您的用户控件构造函数中添加:

this.SetBinding(BoundDataContextProperty, new Binding());

然后添加这些:

public static readonly DependencyProperty BoundDataContextProperty = DependencyProperty.Register(
"BoundDataContext",
typeof(object),
typeof(MyUserControl),
new PropertyMetadata(null, OnBoundDataContextChanged));

private static void OnBoundDataContextChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
// e.NewValue is your new DataContext
// d is your UserControl
}

关于c# - 检测用户控件中的 DataContext 更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20025116/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com