Silverlight: Scrollviewer появляется только при переполнении содержимого?


Я использую Silverlight 4. У меня есть UserControl, чей LayoutRoot завернут в ScrollViewer. Я бы хотел, чтобы полоса прокрутки появлялась только в том случае, если LayoutRoot переполняет страницу. Это можно сделать автоматически, или я должен написать код, чтобы определить, будет ли содержимое переполнено и установить видимость полосы прокрутки соответственно?

1 2

1 ответ:

Вы должны быть в состоянии сделать это автоматически, используя ScrollViewer.HorizontalScrollBarVisibility и еще ScrollViewer.VerticalScrollBarVisibility свойства. Вот список всех возможных значений для этих свойств (the ScrollBarVisibility перечисление):

  • отключено
  • авто
  • скрытый
  • видимый

Я думаю, что "авто" - это то, что вы ищете:

Auto : появляется полоса прокрутки, и размер ScrollViewer применяется к содержимому, когда видовой экран не может отображение всего содержимого. Для горизонтальной полосы прокрутки ширина содержимого устанавливается равной ширине окна просмотра ScrollViewer. Для вертикальной полосы прокрутки высота содержимого устанавливается равной высоте окна просмотра ScrollViewer.

Надеюсь, это поможет!