2016-04-25 56 views

回答

2

According to MSDN

  • 残疾人

    一个滚动条,甚至没有出现在视口中无法显示所有的内容。内容的维度设置为ScrollViewer父级的相应维度。对于水平滚动条,内容的宽度设置为ScrollViewer的ViewportWidth。对于垂直ScrollBar,内容的高度设置为ScrollViewer的ViewportHeight。

  • 隐藏

    一个滚动条,甚至没有出现在视口中无法显示所有的内容。 ScrollViewer的尺寸不适用于内容。

你有它。当你禁用一个水平或垂直滚动​​条,你告诉它不要在该维度上显示一个滚动条,在该维度中的行为类似于BorderGrid:内容大小为容器 - 如果内容愿意大小。在下面的例子中,我使用了带有'TextWrapping ='Wrap'的TextBlock。如果我使用了固定大小的内容,那么两个ScrollViewer之间就不会有明显的差异。固定大小的内容可能是以下几点:

<Ellipse Width="300" Height="150" Fill="DodgerBlue" /> 

当你只是隐藏一个滚动条,你就是这个滚动条不可见,但ScrollViewer仍将允许它的内容比本身宽/高。如果内容想要,内容仍然可以比ScrollViewer更宽/更高。

下面是一个简单的例子,说明了区别:

<Grid 
    > 
    <Grid.Resources> 
     <Style TargetType="TextBlock"> 
      <Setter Property="TextWrapping" Value="Wrap" /> 
      <Setter Property="Text"> 
       <Setter.Value> 
        Lorem Ipsum is simply dummy text of the printing and 
        typesetting industry. Lorem Ipsum has been the industry's 
        standard dummy text ever since the 1500s, when an unknown 
        printer took a galley of type and scrambled it to make a 
        type specimen book. 
       </Setter.Value> 
      </Setter> 
     </Style> 
    </Grid.Resources> 

    <StackPanel Orientation="Horizontal"> 
     <ScrollViewer 
      Width="200" 
      Height="100" 
      Margin="4" 
      HorizontalScrollBarVisibility="Disabled"> 
      <TextBlock /> 
     </ScrollViewer> 
     <ScrollViewer 
      Width="200" 
      Height="100" 
      Margin="4" 
      HorizontalScrollBarVisibility="Hidden"> 
      <TextBlock /> 
     </ScrollViewer> 
    </StackPanel> 
</Grid> 

OUTPUT

Output

而这里的与该固定大小的椭圆形的文本取代的输出:

enter image description here

+0

你能举个例子吗? –

+0

@KyloRen新增示例 –

+0

谢谢...这就是完美的例子... :) –