【问题标题】:Get X Y coordinates of elements within an InkCanvas in WPF在 WPF 中获取 InkCanvas 中元素的 X Y 坐标
【发布时间】:2009-09-21 00:20:01
【问题描述】:

我有一个 InkCanvas,它的子项通过 C# 以编程方式添加。它们不是用InkCanvas.LeftPropertyInkCanvas.TopProperty 设置的。我想知道是否有可能获得元素的这些默认 X 和 Y 值。目前,如果我检查InkCanvas.LeftPropertyInkCanvas.TopProperty,它将返回NaN,因为它们没有设置。这可能吗?提前感谢您的帮助。

干杯,

尼禄

【问题讨论】:

    标签: wpf coordinates inkcanvas


    【解决方案1】:

    我认为这可能是答案:

    Vector vector = VisualTreeHelper.GetOffset(element);

    它返回一个元素相对于父元素偏移的向量。更多信息可以在here找到。

    编辑:不要认为这对我想做的事情有帮助。虽然如果您最初设置元素的边距,这是一个好方法。就我而言,我认为我必须明确设置坐标。

    【讨论】:

      【解决方案2】:

      您想使用Canvas 上定义的各种静态方法来获取这些值-GetLeft()GetTop() 等。我相信LeftProperty 只是附加属性本身的定义,而不是获取这些值的方法获取价值。

      【讨论】:

      • 是的,你是对的。但是,即使我使用这些方法,这些值也是 NaN。但是,我能够找到 VisualTreeHelper 方法,该方法将返回元素相对于父元素(InkCanvas)的偏移量。这似乎工作atm。谢谢你的帮助。 :)
      猜你喜欢
      • 2012-05-13
      • 1970-01-01
      • 1970-01-01
      • 2020-04-22
      • 2021-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-14
      相关资源
      最近更新 更多