2015-02-08 29 views
0

我在window.i内设置了一个控件,使用从右到左设置控件的流动方向。我尝试从窗口计算控件位置。当应用流动方向时,从窗口找到控制位置

Point locationfromWindow = control.TranslatePoint(new Point(0, 0), control); 

使用上面的代码,我发现了这一点,但它不同于设置的流动方向从左到右的控制。

控制的流向是从窗口值影响位置吗?如何解决这个问题

回答

0

我有同样的问题。当FlowDirection是RTL时,我通过“反转”计算的值来解决这个问题。这意味着修复locationfromWindow的X坐标。 类似这样的:

double correctX = control.X - locationfromWindow.X; 

如果有人有更好的解决方案,请告诉。

0

上面的代码从右上角计算位置。如果我们需要从左上角计算一些这样的事情

Point pt = TranslatePoint(new Point(0, 0), control); 
pt.Offset(-control.ActualWidth, 0); 

它从左上角计算点。并完美地为我工作