gpt4 book ai didi

windows-8 - XAML 如何让 Canvas 的 Child 填充整个 Canvas?

转载 作者:行者123 更新时间:2023-12-01 07:19:57 25 4
gpt4 key购买 nike

如果我有这个 XAML:

<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<StackPanel Orientation="Horizontal">
<Grid Background="Gray" Margin="5"
Height="200" Width="200">
<Rectangle Fill="Blue" />
</Grid>
<Canvas Background="Gray" Margin="5"
Height="200" Width="200">
<Rectangle Fill="Blue" />
</Canvas>
<StackPanel Background="Gray" Margin="5"
Height="200" Width="200">
<Rectangle Fill="Blue" />
</StackPanel>
</StackPanel>

只有 Grid 被蓝色矩形填充,但我希望 Canvas 以相同的方式操作并填充蓝色矩形?

我准备制作自定义 Canvas ,但不确定如何去做。

有什么建议?

最佳答案

你可以尝试这样的事情:

<Canvas x:Name="myCanvas" Background="Gray" Margin="5"
Height="200" Width="200">
<Rectangle Fill="Blue"
Height="{Binding ElementName=myCanvas, Path=ActualHeight}"
Width="{Binding ElementName=myCanvas, Path=ActualWidth}" />
</Canvas>

这将告诉矩形从命名元素的实际尺寸中获取它的尺寸。

只有 Grid 被填充的原因是因为它是唯一一个告诉它的 child 应该是什么尺寸的。 StackPanel 从其所有子元素的组合大小中获取它的大小,而 Canvas 是您告诉它的大小,但不会调整任何子元素的大小。

关于windows-8 - XAML 如何让 Canvas 的 Child 填充整个 Canvas?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14781300/

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