2011-01-27 132 views
2

例如,我有一个网格,其中一个单元格包含图像。因为我已经将单元格背景设置为一种颜色,所以我可以看到当用户调整浏览器大小时,网格正在调整大小,但是如何让图像调整大小?如何自动调整图像大小以适合Silverlight网格单元格中的调整大小的画布

我忘了说我的图像是在画布内部,而画布自动调整到网格单元格的大小,我的图像不会自动调整大小到画布。

+0

什么类牵着你的形象吗? `System.Windows.Controls.Image`? – vlad 2011-01-27 15:18:08

+0

它是一个标准的Silverlight图像控件,坐在网格单元格内的Canvas的子元件上 – descf 2011-01-27 16:28:16

回答

2

我已经找到了答案,这:

<Canvas Name="canvas" > 
    <Canvas.Background> 
     <ImageBrush ImageSource="/hsl;component/face-recognition.jpg" /> 
    </Canvas.Background>  
</Canvas> 
3

如果将图像直接放置在网格中,则其默认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> 

但是,根据您更新的问题...您的图像位于画布内。帆布面板旨在提供其子女的绝对定位。您无法在画布中拉伸或对齐元素。

底线 - 使用不同的面板作为容器!

相关问题