如何在 UWP 中将画布的 x、y 坐标更改为右下角?

Posted

技术标签:

【中文标题】如何在 UWP 中将画布的 x、y 坐标更改为右下角?【英文标题】:How to change x, y co-ordinates of canvas to bottom-right corner in UWP? 【发布时间】:2022-01-12 11:07:30 【问题描述】:

UWP 画布的坐标系从控件左上角的 (0,0) 开始。如何更改坐标以便 (0, 0) 出现在画布的右下角?

【问题讨论】:

【参考方案1】:

(0, 0) 总是指Canvas 的左上角。

如果你想让子控件出现在右下角,你应该根据Canvas的大小和控件本身来计算坐标:

Button child = new Button  Content = "Click me!", Height = 33, Width = 78;
Canvas.SetTop(child, canvas.Height - child.Height);
Canvas.SetLeft(child, canvas.Width - child.Width);
canvas.Children.Add(child);

XAML:

 <Canvas x:Name="canvas" Width="200" Height="200" Background="Yellow" />

如果你没有明确设置控件的大小,你可以等到它被渲染后才知道它的大小:

Button child = new Button  Content = "Click me!" ;
canvas.Children.Add(child);
child.Loaded += (s, e) =>

    Canvas.SetTop(child, canvas.Height - child.ActualHeight);
    Canvas.SetLeft(child, canvas.Width - child.ActualWidth);
;

【讨论】:

以上是关于如何在 UWP 中将画布的 x、y 坐标更改为右下角?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用画布和javascript同时绘制线条在鼠标指针顶部显示x和y坐标

如何在Java或Groovy中将列表值动态更改为另一个列表

如何从左上角到右下角排列坐标?

如何在 Pandas 中将数据格式更改为“%Y%m%d”?

如何在 sql server 2008r2 中将行名更改为列名

JS中canvas画布绘制中如何实现缩放,位移,旋转