2010-11-11 54 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

将图像和文本块元素用单独的视框包起来