应用流向时,从窗口查找控制位置

时间:2015-02-08 12:13:39

标签: c# wpf point frameworkelement

我在窗口内有一个控件。我从右到左设置控件的流向。我试图从窗口计算控制位置。

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

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

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

2 个答案:

答案 0 :(得分:0)

我遇到了同样的问题。当FlowDirection是RTL时,我通过“反转”计算的值来解决它。这意味着修复位置从窗口的X坐标。 像这样:

double correctX = control.X - locationfromWindow.X;

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

答案 1 :(得分:0)

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

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

它从左上角计算点。并且对我来说非常适合