比任何事都更好奇,但我想知道是否有人知道为什么这个模板中的scrollviewer以这种方式配置:
<!-- 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"/>
特别是我想知道边距和填充属性。这里要完成的是什么,而不仅仅是让ScrollViewer包含在父对象中?
答案 0 :(得分:0)
拿出来看看会发生什么。
没有充分的理由在样式中执行此操作,因为它将隐式应用于所有ScrollViewer控件。但是,我注意到Silverlight中的ScrollViewers具有奇怪的呈现行为。有时滚动条部分将在父容器外部和上方绘制。由于这个原因,我之前必须填写ScrollViewer的边距。查看器的内容将在父级中正确构建,但滚动条本身将溢出右边缘。
无论如何,如果你删除它并且一切看起来都很好,那就把它留下来。
答案 1 :(得分:0)
来自MSDN:
允许使用边距尺寸的负值,但应该是 谨慎使用(并注意负利润率可以 由不同的类布局实现解释不同)。 负边距通常会剪切对象的内容 方向。