在属性上设置绑定时是否会触发事件?

Jos*_*shG 10 .net c# wpf xaml

我有一个问题,我需要知道对我的对象的依赖属性的所有绑定.目前,每当我的datacontext发生更改时,我都会迭代依赖项属性,并寻找绑定表达式.但我发现在某些情况下(TabControls),数据上下文似乎首先被设置,然后应用XAML的绑定.

那么,有没有办法可以检测到应用于我的一个依赖属性的绑定?

Isa*_*avo 8

假设您在UserControl中,您应该能够使用Loaded事件.当"元素布局,渲染并准备好进行交互时"会触发该事件.我只能假设这意味着绑定已经完成.

然后,您可以在Loaded事件处理程序中告诉您的datacontext您绑定它.

如果您希望更改datacontext,则还需要将其与DataContextChanged事件处理程序结合使用.

  • 实际上,只要元素从可视化树加载/卸载,就会调用`Loaded`和`Unloaded`,并且在元素的生命周期中可能会多次发生(例如,主题更改会导致元素重新加载). (2认同)