例如,我有一个网格,其中一个单元格包含图像。因为我已经将单元格背景设置为一种颜色,所以我可以看到当用户调整浏览器大小时,网格正在调整大小,但是如何让图像调整大小?如何自动调整图像大小以适合Silverlight网格单元格中的调整大小的画布
我忘了说我的图像是在画布内部,而画布自动调整到网格单元格的大小,我的图像不会自动调整大小到画布。
例如,我有一个网格,其中一个单元格包含图像。因为我已经将单元格背景设置为一种颜色,所以我可以看到当用户调整浏览器大小时,网格正在调整大小,但是如何让图像调整大小?如何自动调整图像大小以适合Silverlight网格单元格中的调整大小的画布
我忘了说我的图像是在画布内部,而画布自动调整到网格单元格的大小,我的图像不会自动调整大小到画布。
我已经找到了答案,这:
<Canvas Name="canvas" >
<Canvas.Background>
<ImageBrush ImageSource="/hsl;component/face-recognition.jpg" />
</Canvas.Background>
</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>
但是,根据您更新的问题...您的图像位于画布内。帆布面板旨在提供其子女的绝对定位。您无法在画布中拉伸或对齐元素。
底线 - 使用不同的面板作为容器!
什么类牵着你的形象吗? `System.Windows.Controls.Image`? – vlad 2011-01-27 15:18:08
它是一个标准的Silverlight图像控件,坐在网格单元格内的Canvas的子元件上 – descf 2011-01-27 16:28:16