2010-11-11 55 views
1

我有一個scatterview項目,它具有以垂直順序提到的順序的以下內容。在ScatterViewItem中組織控件的佈局

  1. TextBlock中,它會顯示1-3行文字 - TextBlock1

  2. 圖像 - 大小會根據圖像分辨率,但我會設置一個最小的高度,寬度在屬性。

  3. TextBlock的 - 這將顯示1-10行文本 - TextBlock2

  4. 表面切換按鈕

現在,用戶可以擴展這個項目,因此,我已經把這個在視框中。的XAML代碼如下:

<DockPanel LastChildFill="False"> 
    <TextBlock Name="ItemTitle" DockPanel.Dock="Top" HorizontalAlignment="Left" VerticalAlignment="Top" Width="120" Margin="10" TextWrapping="Wrap" Visibility="Visible" Padding="2" /> 
    <s:SurfaceToggleButton DockPanel.Dock="Bottom" Checked="ItemInfo_Checked" Unchecked="ItemInfo_Unchecked" Margin="5,5,5,5" HorizontalAlignment="Center" VerticalAlignment="Center">Display more info</s:SurfaceToggleButton> 
    <Viewbox DockPanel.Dock="Bottom" Stretch="Uniform" MinHeight="100"> 
     <StackPanel> 
      <Image Name="ItemImage" Margin="5,5,5,5" Visibility="Visible" /> 
      <TextBlock DockPanel.Dock="Bottom" Name="ItemDesc" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="10" TextWrapping="Wrap" Visibility="Visible" Padding="2" /> 
     </StackPanel> 
    </Viewbox> 
</DockPanel> 

以在所得顯示器的問題是:

  1. 的TextBlock2示出相對於所述物品的其餘部分在非常小的尺寸的文字。

  2. 由於TextBlock2以小尺寸顯示文本並且在堆疊面板內部不與左邊的TextBlock1對齊。

我使用Viewbox,以便用戶縮放項目時,它將增加文本和圖像的大小。

有沒有更好的方法來做到這一點?可以使用DataTemplates來幫助解決這個問題或其他的東西嗎?

回答

0

將圖像和文本塊元素用單獨的視框包起來