2016-04-25 2 views

ответ

2

According to MSDN,

  • Disabled

    ScrollBar не появляется, даже если видовой экран не может отобразить все содержимое. Размерность контента устанавливается на соответствующий размер родительского элемента ScrollViewer. Для горизонтального ScrollBar ширина содержимого устанавливается на ViewportWidth ScrollViewer. Для вертикального ScrollBar высота содержимого устанавливается на ViewportHeight из ScrollViewer.

  • Hidden

    ScrollBar не появляется, даже если видовой экран не может отобразить все содержимое. Размер объекта ScrollViewer не применяется к контенту.

У вас есть это. Когда вы отключите горизонтальную или вертикальную полосу прокрутки, вы говорите ей, чтобы она не показывала полосу прокрутки в этом измерении, и, чтобы действовать как Border или Grid в этом измерении: содержимое имеет размер для контейнера - если контент готов к размеру. В приведенном ниже примере я использую TextBlock с «TextWrapping =« Wrap ». Если бы я использовал контент фиксированного размера, не было бы наблюдаемой разницы между двумя ScrollViewers. Фиксированный размер содержимого может быть следующее:

<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

спасибо ... это прекрасный пример ... :) –

Смежные вопросы