【问题标题】:find control location from window when flow direction is applied应用流向时从窗口中查找控制位置
【发布时间】:2015-02-08 12:13:38
【问题描述】:
我在窗口中有一个控件。我使用从右到左设置控件的流向。我尝试从窗口计算控件位置。
Point locationfromWindow = control.TranslatePoint(new Point(0, 0), control);
使用上面的代码我找到了点,但它与控制的从左到右设置的流向不同。
控制的流向是否影响窗口值的位置?如何解决这个问题
【问题讨论】:
标签:
c#
wpf
point
frameworkelement
【解决方案1】:
我遇到了同样的问题。当 FlowDirection 为 RTL 时,我通过“反转”计算的值来解决它。这意味着固定 locationfromWindow 的 X 坐标。
像这样的:
double correctX = control.X - locationfromWindow.X;
如果有人有更好的解决方案,请告诉。
【解决方案2】:
上面的代码从右上角计算位置。如果我们需要从左上角计算类似这样的东西
Point pt = TranslatePoint(new Point(0, 0), control);
pt.Offset(-control.ActualWidth, 0);
它从左上角计算点。非常适合我