我有一个GridView和一个ScrollViewer,以前可以沿着GridView内容水平滚动。我使用Chris Cavanagh的圆角解决方案进行了更改,其中包括在GridViewHeaderRowPresenter周围放置网格,并添加到相同级别的边框,然后用作不透明度掩码(请参见此问题以获取更多信息)。
这似乎禁用了标题的水平滚动。如果我调整浏览器窗口大小以使内容强制出现滚动条,则标题保持固定。我想象添加的XAML以某种方式禁用了标题的滚动。
这是代码当前的外观。请注意,这是针对ScrollViewer元素的样式定义,而不是直接在页面上的XAML标记中。
<ScrollViewer Focusable="false"
HorizontalScrollBarVisibility="Hidden"
VerticalScrollBarVisibility="Hidden"
DockPanel.Dock="Top"
Style="{DynamicResource HEK_ScrollViewer}">
<Grid>
<Border Name="Mask"
CornerRadius="20,20,0,0"
Background="White" />
<GridViewHeaderRowPresenter Margin="1,0,1,1"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
Columns="{Binding TemplatedParent.View.Columns, RelativeSource={RelativeSource TemplatedParent}}"
AllowsColumnReorder="{Binding TemplatedParent.View.AllowsColumnReorder, RelativeSource={RelativeSource TemplatedParent}}"
ColumnHeaderContainerStyle="{DynamicResource HEK-GridViewColumnHeaderStyle}"
ColumnHeaderContextMenu="{Binding TemplatedParent.View.ColumnHeaderContextMenu, RelativeSource={RelativeSource TemplatedParent}}"
ColumnHeaderStringFormat="{Binding TemplatedParent.View.ColumnHeaderStringFormat, RelativeSource={RelativeSource TemplatedParent}}"
ColumnHeaderTemplate="{Binding TemplatedParent.View.ColumnHeaderTemplate, RelativeSource={RelativeSource TemplatedParent}}"
ColumnHeaderTemplateSelector="{Binding TemplatedParent.View.ColumnHeaderTemplateSelector, RelativeSource={RelativeSource TemplatedParent}}"
ColumnHeaderToolTip="{Binding TemplatedParent.View.ColumnHeaderToolTip, RelativeSource={RelativeSource TemplatedParent}}">
<GridViewHeaderRowPresenter.OpacityMask>
<VisualBrush Visual="{Binding ElementName=Mask}" />
</GridViewHeaderRowPresenter.OpacityMask>
</GridViewHeaderRowPresenter>
</Grid>
</ScrollViewer>