2011-01-27 134 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> 

但是,根據您更新的問題...您的圖像位於畫布內。帆布面板旨在提供其子女的絕對定位。您無法在畫布中拉伸或對齊元素。

底線 - 使用不同的面板作爲容器!

相關問題