如何检测控件是否被移动?

时间:2011-05-10 10:01:18

标签: wpf position drag detect

假设我有一个带有自定义UserControl的窗口,UserControl里面有一个文本框。当我拖动窗口时,TextBox如何检测到它正被移动?

我尝试搜索其RenderTransform属性,当“Freezable对象或其中一个对象发生更改”时会触发Change事件。没什么结论..

编辑:

在我的情况下,我没有看到窗口,我看到的只是UserControl而且我不能再高了。

2 个答案:

答案 0 :(得分:7)

您需要订阅Window事件,因为您的文本框实际上并未移动(最有可能位于与窗口相关的位置),因此您可以订阅Window.LocationChanged事件,以便在窗户被移动了。

但是如果您的控件没有绝对位置,那么您将需要解析Window.SizeChanged,它将告诉您用户何时调整窗口大小,但它是一个离散的最终事件而不是正在进行中事件

答案 1 :(得分:3)

尝试订阅UserControl的LayoutUpdated事件。