如何确定何时控件对用户可见?

时间:2013-02-25 11:19:25

标签: wpf

我想知道如何确定控件何时可以访问用户?何时没有?

让我说我正在编写一个扩展TextBox的自定义控件,我想知道在可见更改时触发的处理程序中何时可以看到一些自定义逻辑。

怎么做?如何判断控件是否对用户可见?例如,扩展TextBox的自定义控件可能位于Button内,Button可以接收Visibility.Collapsed,因此所有内部嵌套控件都将是invisibe,这就是我想要的知道。如何设置是否可见而不管Visibility属性的值是什么?

1 个答案:

答案 0 :(得分:9)

您应该使用UIElement.IsVisibleChanged事件。当IsVisible的值更改为只读依赖项属性并在UI上指示元素可见性时,会发生此问题。
UIElement.LayoutUpdated - 可用于重新计算控件可见性的事件。

更新。 似乎它完全相同:
In WPF, how can I determine whether a control is visible to the user?