我有一个很多部分的问题:
(1)Silverlight没有公开DataContextChanged事件有充分的理由吗?这似乎是,如果有人在微软刚换能避免一大堆的麻烦internal,以public在FrameworkElement的类(像WPF一样).
(2)通过在一个配置或另一个配置中使用DependencyProperties,我找到了一种或两种不同的方法来攻击DataContextChanged事件.但我不能让他们可靠地工作.到目前为止,我的测试似乎表明他们触发了被攻击的DataContextChanged事件,这对我连接它的第一个类来说很好,但是不要为任何其他类触发.还有其他人遇到过这个问题吗?或者更好的是,他们是否一直在努力?
(3)我之所以想要知道我的DataContext何时发生变化,是因为有些UI操作在XAML中很难实现,但在代码隐藏方面却很简单; 对于其中许多事情,我需要处理由我的ViewModel引发的事件; 因此我需要知道我的ViewModel何时发生了变化,所以我可以连接事件处理程序.这是对世界的准确看法吗?或者事实是我想要在代码中处理这类事情,这是一个非常好的迹象,表明我的想法在某种程度上已经脱离了轨道?我不是MVVM纯粹主义者:我只是想快速从这里获得良好的代码,我并不特别在意我是如何到达那里的.十多年来,代码隐藏已经为我提供了相当好的服务,我完全放弃它.但是我的实用主义在这一点上让自己变得更难吗?