WPF中的转换如何工作?

时间:2012-12-14 19:38:54

标签: wpf user-controls

我最近在我的WPF应用程序中使用TranslateTransform来实现在屏幕上拖动UserControl。在您第一次将其拖动到屏幕上的其他位置后,有一个新的错误,当您单击控件上的“标题栏”时,它会跳回到最初显示的位置。它仍将跟随鼠标,但最初的跳跃令人不安。

我不知道发生了什么事,但这让我感到疑惑。由于WPF控件没有自己的left或top属性,除非你将它们放入Canvas,并且那些都是附加属性,只是TranslateTransform修改了哪些属性?< / p>

1 个答案:

答案 0 :(得分:2)

WPF的布局和渲染过程具有变换的内在知识。通过修改X的{​​{1}}和Y属性,您可以使布局/渲染过程在定位关联的TranslateTransform时考虑这些新值。 / p>

换句话说:FrameworkElement不修改其他属性,但是通过修改属性,您将触发另一个布局/渲染过程,从而影响屏幕上的定位关联的TranslateTransform

阅读here了解详情。