我在窗口中有一个控件。我使用从右到左设置控件的流向。我试图从窗口计算控件位置。
Point locationfromWindow = control.TranslatePoint(new Point(0, 0), control);
使用上面的代码我找到了要点,但它与控制的从左到右设置的流向不同。
控制的流向是否影响窗口值的位置?如何解决这个问题
我在窗口中有一个控件。我使用从右到左设置控件的流向。我试图从窗口计算控件位置。
Point locationfromWindow = control.TranslatePoint(new Point(0, 0), control);
使用上面的代码我找到了要点,但它与控制的从左到右设置的流向不同。
控制的流向是否影响窗口值的位置?如何解决这个问题
上面的代码从右上角计算位置。如果我们需要从左上角计算类似这样的东西
Point pt = TranslatePoint(new Point(0, 0), control);
pt.Offset(-control.ActualWidth, 0);
它从左上角计算点。非常适合我
我有同样的问题。当 FlowDirection 为 RTL 时,我通过“反转”计算的值来解决它。这意味着固定 locationfromWindow 的 X 坐标。像这样的东西:
double correctX = control.X - locationfromWindow.X;
如果有人有更好的解决方案,请告诉。