我想设置一个事件,以便在WPF Canvas控件上更改可见性时运行。
canvas1.VisibileChanged += new EventHandler(canvas1_VisibleChanged);
我已经尝试了上述但是没有人知道如何做到这一点吗?
干杯
答案 0 :(得分:21)
您正在寻找适用于所有UIElements的IsVisibleChanged
事件。
更多信息:IsVisible是一个只读的依赖项属性。它是一个计算值,Visibility Dependency Property会影响它。这是您应该用来检测UIElement是否可见的内容。现在,如果您真的想要检查可见性DP因任何原因而改变,那么有一种方法可以这样做:http://agsmith.wordpress.com/2008/04/07/propertydescriptor-addvaluechanged-alternative/
尽管如此,我仍然坚持只追踪IsVisibleChanged
。
答案 1 :(得分:1)
普通的WPF Canvas对象没有.VisibleChanged事件,因此您无法为其分配事件处理程序。