5

我想知道如何确定控件何时对用户可见,何时不可见?

假设我正在编写一个扩展 a 的自定义控件TextBox,我想知道什么时候可以看到在可见更改时触发的处理程序内执行一些自定义逻辑。

怎么做?如何确定控件是否对用户可见?例如,扩展 a 的自定义控件TextBox可以在 a 内部Button并且Button可以接收Visibility.Collapsed,因此它的所有内部嵌套控件都是不可见的,这就是我想知道的。无论为 Visibility 属性设置什么值,如何确定是否可见?

4

1 回答 1

10

你应该使用UIElement.IsVisibleChanged事件。它发生在 IsVisible只读依赖属性的值更改并指示元素在 UI 上的可见性时。
UIElement.LayoutUpdated- 可用于重新计算控件可见性的事件。

更新。 似乎完全重复:
在 WPF 中,如何确定控件是否对用户可见?

于 2013-02-25T11:23:14.573 回答