例如,我有一个网格,其中一个单元格包含一张图像。因为我已将单元格背景设置为某种颜色,所以我可以看到当用户调整浏览器大小时网格正在调整大小,但如何使图像也调整大小?
我忘了说我的图像位于 Canvas 内,虽然 Canvas 会自动调整网格单元的大小,但我的图像不会自动调整 Canvas 的大小。
最佳答案
如果您的图像直接放入网格中,则其默认的 Stretch
行为(即 Stretch="Uniform"
)将确保随网格一起调整大小。尝试以下 XAML 进行验证:
<Grid x:Name="LayoutRoot" ShowGridLines="True">
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Image Source="MyImage.png"
Grid.Row="0"/>
</Grid>
但是,根据您更新的问题...您的图像位于 Canvas 内。 Canvas 面板旨在提供其子面板的绝对定位。您无法拉伸(stretch)或对齐 Canvas 内的元素。
底线 - 使用不同的面板作为容器!
关于c# - 如何自动调整图像大小以适应 silverlight 网格单元中调整大小的 Canvas ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4818140/