WPF中的转换是如何工作的?
我最近在WPF应用程序中使用了一个WPF中的转换是如何工作的?,wpf,user-controls,Wpf,User Controls,我最近在WPF应用程序中使用了一个TranslateTransform,实现了在屏幕上拖动UserControl。有一个新的错误,当你第一次把它拖到屏幕上的其他地方,当你点击控件上的“标题栏”时,它会跳回到原来显示的地方。它仍将跟随鼠标,但最初的跳跃令人不安 我不知道发生了什么,但这让我想知道。由于WPF控件没有自己的left或top属性,除非您将它们放在画布中,并且这些属性都是附加属性,因此TranslateTransform?WPF的布局和渲染过程对变换有着内在的了解。通过修改Transla
TranslateTransform
,实现了在屏幕上拖动UserControl
。有一个新的错误,当你第一次把它拖到屏幕上的其他地方,当你点击控件上的“标题栏”时,它会跳回到原来显示的地方。它仍将跟随鼠标,但最初的跳跃令人不安
我不知道发生了什么,但这让我想知道。由于WPF控件没有自己的left或top属性,除非您将它们放在
画布中,并且这些属性都是附加属性,因此TranslateTransform
?WPF的布局和渲染过程对变换有着内在的了解。通过修改TranslateTransform
的X
和Y
属性,可以使布局/渲染过程在定位关联的框架元素时考虑这些新值
换句话说:TranslateTransform
不是在修改其他属性,而是通过修改其属性触发另一个布局/渲染过程,从而影响关联的框架元素的屏幕定位
阅读了解更多信息。请在应用转换的地方添加一些代码。我对特定转换的功能不感兴趣。我对它们一般的工作方式很感兴趣,所以似乎在内部某个地方一定有某种坐标被转换影响,但程序员看不到。谢谢。WPF的布局系统有效地计算每个框架元素的坐标。你可能也想读一读。