按位置和大小排列的XAML子位置

问题描述 投票:0回答:1

我想设置子元素的位置(x和y)及其大小(宽度和高度)。我找不到办法。如果设置网格的边距-我不能仅设置“左”和“上”,还必须同时设置“右”和“下”。如果我使用AbsoluteLayout而不是Grid,则它将占用大量CPU。

因此,有什么方法可以指定位置和大小(如Winforms中一样),或者UWP不够先进吗?

c# xaml uwp win-universal-app
1个回答
0
投票

这样的绝对定位是非常有问题的,因为应用程序需要在各种屏幕尺寸的设备上运行,并且用户可以随时调整其大小。如果使用绝对定位,则需要确定要确保有可用的尺寸。

对于绝对定位,您可以使用Canvas。然后,您可以使用Canvas.LeftCanvas.Right附加属性指定位置,并使用HeightWidth指定大小,例如:

<Canvas>
   <Button Canvas.Left="100" Canvas.Top="20" Width="200" Height="120" />
   <Rectangle Canvas.Left="30" Canvas.Top="50" Width="64" Height="20" Fill="Blue" />
</Canvas>

另一方面,在大多数情况下,仍首选使用相对布局控件。 Grid允许您使用星号指定行/列以及它们之间的间距和相对大小。

© www.soinside.com 2019 - 2024. All rights reserved.