我正在扩展 Microsoft 调整大小Adorner
示例,并且需要能够在拖动左下拖动手柄后重新定位元素。
因此,如果我的表单上有一个 150 宽、35 高的文本框,并且左下拖动手柄将宽度更改为 200 宽,则文本框的右侧保持不变,但左侧边缘向左移动。
所以我需要知道 UIElement 的左上角坐标。我已经尝试过 Canvas.GetLeft 和 Canvas.GetTop 但它们返回的 NaN 令人困惑。
我刚刚尝试了 VisualTreeHelper.GetOffset ,它确实返回了一个偏移量,但是当你尝试在元素的排列方法中使用它时,它消失了,大概是因为偏移量中的值太高了。
在 Wpf 之前的日子里,坐标系非常简单,我认为 wpf 让事情变得过于复杂。