将画布大小调整为网格大小


你好,

我有尺寸固定的网格。 其中我使用 casvas 绘制具有特定坐标、高度和宽度的形状。

现在我要将画布设置为网格的宽度和高度。

您能否告诉我如何实现它?

预先感谢!

问候
戈瓦尔丹

解决方案1

如果你想使用 xaml 制作一个带有画布的网格,你可以这样写:

<grid x:name="grid1" removed="Red" width="300" height="200">
        <canvas x:name="canv1" width="50" height="20" removed="Green"></canvas>
  </grid>

如果您想以编程方式实现相同的目标,您应该“自动”画布的宽度和高度,并拉伸画布的水平和垂直对齐方式:

C#
canv1.Width = Double.NaN
        canv1.Height = Double.NaN
        canv1.HorizontalAlignment = Windows.HorizontalAlignment.Stretch
        canv1.VerticalAlignment = Windows.VerticalAlignment.Stretch

解决方案3

对上述解决方案 1 进行更改以实现此目的。 在解决方案 1 中,已使用了并非必需的宽度和高度。 如果您想实现 Xaml 解决方案,请使用以下代码:

<Grid x:Name="grid1"   Width="300" Height="200">
    <Canvas x:Name="canv1"  Background="Red">

    </Canvas>
</Grid>

找到测试过的链接:

CodeProject01.png – Google 云端硬盘[^]

コメント

タイトルとURLをコピーしました