我很好奇,但我想知道为什么这个模板中的滚动查看器是这样配置的:
<!-- 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包含在父对象中?
发布于 2011-07-11 22:00:16
把它拿出来看看会发生什么。
没有很好的理由在样式中这样做,因为它将隐式地应用于所有ScrollViewer控件。然而,我注意到Silverlight中的ScrollViewers有奇怪的表示行为。有时滚动条部分会绘制在父容器的外部和上方。正是因为这个原因,我以前不得不填充ScrollViewer的页边距。查看器的内容将在父级中正确边框,但滚动条本身将溢出右边缘。
无论如何,如果你移除了它,一切看起来都很好,那就把它去掉吧。
发布于 2011-07-11 22:07:57
来自MSDN:
允许对边距维度使用
负值,但应谨慎使用(并注意,负边距可能因不同的类布局实现而有不同的解释)。负边距通常在该方向上裁剪对象的内容。
https://stackoverflow.com/questions/6657090
复制相似问题