gpt4 book ai didi

WPF:Viewbox 和 TranslatePoint

转载 作者:行者123 更新时间:2023-12-04 21:48:12 29 4
gpt4 key购买 nike

  • 我有一个带有 Canvas Child 的 Viewbox,
  • 我有要填充的 Viewbox 的 Stretch 属性,
  • 我更改了 Viewbox 的宽度和高度,
  • 我需要获取 Canvas 中子项相对于 Viewbox 父项的位置
    我试过 :

    点 p = viewboxInstance.TranslatePoint(new Point(Canvas.GetLeft(child), Canvas.GetTop(child)), viewboxInstanceParent);

  • 它得到错误的坐标!
    有解决方案或解决方法吗?

    谢谢

    最佳答案

    ViewBox不会更改其子项的任何属性,包括 Canvas左值和上值。您需要使用 child 的实际坐标,而不仅仅是附加的属性值。

    您可以调用TranslatePoint只要是 UIElement 就直接在 child 身上.要引用子元素的左上角,您可以使用 (0, 0),它是 Point 的默认值。所以new Point()足够。

            Point p = child.TranslatePoint(new Point(), viewboxInstanceParent);

    祝你好运,

    编辑:
    下面是这段代码的运行视频: ViewboxChildPosition

    关于WPF:Viewbox 和 TranslatePoint,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2501267/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com