【问题标题】: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);
      

      它从左上角计算点。非常适合我

      【讨论】:

        猜你喜欢
        • 2019-09-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-05
        • 1970-01-01
        • 2021-12-14
        相关资源
        最近更新 更多