gpt4 book ai didi

WPF:如何使 (0,0) 位于 Canvas 中心

转载 作者:行者123 更新时间:2023-12-03 05:03:44 26 4
gpt4 key购买 nike

WPF Canvas 有一个坐标系,从控件左上角的 (0,0) 开始。

例如,设置以下内容将使我的控件显示在左上角:

<Control Canvas.Left="0" Canvas.Top="0">

如何将其更改为标准cartesian coordinates

基本上:

  • (0,0) 位于中心
  • 翻转 Y

我注意到this post类似,不过没有讲坐标系平移。我尝试添加 TranslateTransform,但无法使其工作。

最佳答案

无需创建自定义面板。Canvas 就可以了。只需将其包装在另一个控件(例如边框)内,将其居中,将其大小设置为零,然后使用 RenderTransform 翻转它:

<Border>
<Canvas HorizontalAlignment="Center" VerticalAlignment="Center"
Width="0" Height="0"
RenderTransform="1 0 0 -1 0 0">
...
</Canvas>
</Border>

您可以执行此操作, Canvas 中的所有内容仍然会显示,除了 (0,0) 将位于包含控件的中心(在本例中为边框的中心),并且 +Y 将向上而不是向上下来。

同样,不需要为此创建自定义面板。

关于WPF:如何使 (0,0) 位于 Canvas 中心,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1871358/

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