我最近在我的WPF应用程序中使用TranslateTransform
来实现在屏幕上拖动UserControl
。在您第一次将其拖动到屏幕上的其他位置后,有一个新的错误,当您单击控件上的“标题栏”时,它会跳回到最初显示的位置。它仍将跟随鼠标,但最初的跳跃令人不安。
我不知道发生了什么事,但这让我感到疑惑。由于WPF控件没有自己的left或top属性,除非你将它们放入Canvas
,并且那些都是附加属性,只是TranslateTransform
修改了哪些属性?< / p>
答案 0 :(得分:2)
WPF的布局和渲染过程具有变换的内在知识。通过修改X
的{{1}}和Y
属性,您可以使布局/渲染过程在定位关联的TranslateTransform
时考虑这些新值。 / p>
换句话说:FrameworkElement
不修改其他属性,但是通过修改其属性,您将触发另一个布局/渲染过程,从而影响屏幕上的定位关联的TranslateTransform
。
阅读here了解详情。