Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WPF中的转换是如何工作的?_Wpf_User Controls - Fatal编程技术网

WPF中的转换是如何工作的?

WPF中的转换是如何工作的?,wpf,user-controls,Wpf,User Controls,我最近在WPF应用程序中使用了一个TranslateTransform,实现了在屏幕上拖动UserControl。有一个新的错误,当你第一次把它拖到屏幕上的其他地方,当你点击控件上的“标题栏”时,它会跳回到原来显示的地方。它仍将跟随鼠标,但最初的跳跃令人不安 我不知道发生了什么,但这让我想知道。由于WPF控件没有自己的left或top属性,除非您将它们放在画布中,并且这些属性都是附加属性,因此TranslateTransform?WPF的布局和渲染过程对变换有着内在的了解。通过修改Transla

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


我不知道发生了什么,但这让我想知道。由于WPF控件没有自己的left或top属性,除非您将它们放在
画布中,并且这些属性都是附加属性,因此
TranslateTransform

WPF的布局和渲染过程对变换有着内在的了解。通过修改
TranslateTransform
X
Y
属性,可以使布局/渲染过程在定位关联的
框架元素时考虑这些新值

换句话说:
TranslateTransform
不是在修改其他属性,而是通过修改其属性触发另一个布局/渲染过程,从而影响关联的
框架元素的屏幕定位


阅读了解更多信息。

请在应用转换的地方添加一些代码。我对特定转换的功能不感兴趣。我对它们一般的工作方式很感兴趣,所以似乎在内部某个地方一定有某种坐标被转换影响,但程序员看不到。谢谢。WPF的布局系统有效地计算每个
框架元素的坐标。你可能也想读一读。