【问题标题】:Getting position of UserControl获取用户控件的位置
【发布时间】:2011-04-27 17:19:46
【问题描述】:

我无法在 Silverlight 的画布上获取 UserControl 的位置。通常,我会使用此代码来获取对象的位置,并且效果很好:

  GeneralTransform gt = this.TransformToVisual(Application.Current.RootVisual as UIElement);
  Point offset = gt.Transform(new Point(0, 0));
  double controlTop = offset.Y;
  double controlLeft = offset.X;

我有一个 UserControl,它有一个转换其位置的方法。当我尝试使用上面的代码获取新位置时,它只返回对象开始的初始位置。有没有办法获得以编程方式添加到主画布的 UserControl 的新位置?我已经尝试将此代码放在主页以及 UserControl 本身中(并通过方法公开它)。

【问题讨论】:

    标签: c# silverlight user-controls position silverlightcontrols


    【解决方案1】:

    按照 sod 定律,我已经研究了几个小时,终于在发布问题后直接解决了它。

    事实证明,您必须给 UserControl 一个名称并引用该名称而不是 this。所以,它将是ucName.TransformToVisual...。之前,我通过this 方法或通过实际对象本身来引用它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-08-19
      • 2017-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多