当一个Panel有子控件被添加进来或移除出去时会触发什么事件?或者有什么方法可以在子空间添加进来之后以及移除出去之前对子空间做修改?

解决方案 »

  1.   

    可以自己写个类继承Panel重写OnVisualChildrenChanged方法。
      

  2.   

    其实这个不麻烦把。比如你用的StackPanel,你写个类继承StackPanel然后重写OnVisualChildrenChanged来实现你的逻辑。然后XAML上统一把StackPanel换成你这个类就行了。其他行为完全没变啊。。
      

  3.   

    你可以用反编译器去看下Panel的源码。他的Children有改变的时候貌似应该是只调用了这个方法,没定义其他事件。