UWP:如何从重叠内容中排除 GridView 滚动条?
UWP: How can I exclude GridView scrollbar from overlapping content?
我向 UWP Page
添加了一个 GridView
组件,类似于:
<Page>
<GridView ItemsSource="{x:Bind CdList}">
...
</GridView>
</Page>
当我更改 window 大小时,我注意到 GridView
的垂直滚动条部分 hides/overlaps GridView
中最右边的项目 GridView
适当包装项目:
是否有任何 GridView
属性 可以让 GridView
在 项目被滚动条重叠之前将其右 包装起来?
GridView
的主体由 ScrollViewer
和显示项目内容的 ItemsPresenter
组成。所以滚动条属于ScrollViewer
,也就是“覆盖”在内容信息上
由于这两个控件不在同一层级,所以没有API防止滚动条“重叠”内容。
作为解决方法,我们可以使用GridView.Padding
为滚动条保留space。因为在默认控件模板中,Padding
属性 绑定到 ItemsPresenter
.
<GridView Padding="0,0,16,0">
<!--Other code-->
</GridView>
P.S。默认垂直滚动条宽度为16
我向 UWP Page
添加了一个 GridView
组件,类似于:
<Page>
<GridView ItemsSource="{x:Bind CdList}">
...
</GridView>
</Page>
当我更改 window 大小时,我注意到 GridView
的垂直滚动条部分 hides/overlaps GridView
中最右边的项目 GridView
适当包装项目:
是否有任何 GridView
属性 可以让 GridView
在 项目被滚动条重叠之前将其右 包装起来?
GridView
的主体由 ScrollViewer
和显示项目内容的 ItemsPresenter
组成。所以滚动条属于ScrollViewer
,也就是“覆盖”在内容信息上
由于这两个控件不在同一层级,所以没有API防止滚动条“重叠”内容。
作为解决方法,我们可以使用GridView.Padding
为滚动条保留space。因为在默认控件模板中,Padding
属性 绑定到 ItemsPresenter
.
<GridView Padding="0,0,16,0">
<!--Other code-->
</GridView>
P.S。默认垂直滚动条宽度为16