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