Бизнес-приложение Silverlight - навигация / стилизация в приложении - PullRequest
0 голосов
/ 12 июля 2011

Более любопытно, чем что-либо, но мне интересно, кто-нибудь знает, почему этот прокручиватель в этом шаблоне настроен следующим образом:

  <!-- Page ScrollViewer Style -->
<Style x:Key="PageScrollViewerStyle" TargetType="ScrollViewer">
    <Setter Property="BorderBrush" Value="Transparent"/>
    <Setter Property="BorderThickness" Value="0,1,0,1"/>
    <Setter Property="Margin" Value="-58,-5,-58,-5"/>
    <Setter Property="Padding" Value="35,-10,33,-10"/>
    <Setter Property="VerticalScrollBarVisibility" Value="Auto"/>
    <Setter Property="HorizontalScrollBarVisibility" Value="Auto"/>

В частности, меня интересуют атрибуты Margin и Padding. Что здесь делается, вместо того, чтобы просто помещать ScrollViewer в родительский объект?

Ответы [ 2 ]

0 голосов
/ 12 июля 2011

Из MSDN:

Отрицательные значения для размеров полей допускаются, но их следует использовать с осторожностью (и имейте в виду, что отрицательные поля могут интерпретироваться по-разному в разных реализациях макетов классов).Отрицательные поля обычно обрезают содержимое объекта в этом направлении.

0 голосов
/ 12 июля 2011

Возьми и посмотри, что получится.

Нет веской причины делать это в стиле, потому что он будет применяться ко всем элементам управления ScrollViewer неявно. Однако я заметил, что ScrollViewers в Silverlight ведут себя странно. Иногда часть полосы прокрутки будет рисоваться снаружи и над родительским контейнером. Из-за этой причины мне раньше приходилось дополнять поля ScrollViewer. Содержимое средства просмотра будет правильно отображено в родительском элементе, но сами полосы прокрутки будут перекрывать правый край.

Во всяком случае, если вы удалите его, и все выглядит хорошо, не включайте его.

...