我使用GridViews表示不同文件夹的文件。具有一行和水平方向的GridViews在垂直ListView中有序。
在这里,您可以从代码中得到一个想法:
<ListView ItemSource={Binding CollectionOfFolders}>
<ListView.ItemTemplate>
<GridView>
<GridView.ItemsPanel>
<ItemsPanelTemplate>
<ItemsWrapGrid Loaded="WrapGridLoaded"
MaximumRowsOrColumns="1"
Orientation="Vertical" />
</ItemsPanelTemplate>
</GridView.ItemsPanel>
<GridView.ItemTemplate>
...
</GridView.ItemTemplate>
</GridView>
</ListView.ItemTemplate>
</ListView>这里的视觉印象是:

问题是垂直滚动和水平滚动的处理。
使用toch输入,所有东西都按照所需的工作:当您上下移动手指时,可以滚动列表视图(文件夹)。如果您的手指水平移动您的滚动通过GridView (文件)。
问题来了,当使用鼠标轮或两个手指滚动手势的触控板时:当指针在任何项目或文件上时,它不影响ListView。所有的手势都只影响网格视图。
我尝试禁用和启用垂直和水平滚动模式、Is竖向/HorizontalModeChanningEnabled属性以及滚动条和滚动轨可见性的影响。
我找出了这些与这个问题有关的问题,但我能找到一个解决这个问题的方法。
如果有人有想法,甚至有解决办法,那就太好了。
发布于 2018-05-19 08:20:41
当使用带有两个手指滚动手势的鼠标轮或触控板时,问题就出现了:当指针位于任何项目或文件上时,它不会影响ListView。所有的手势都只影响网格视图。
问题是,当GridView项聚焦时,它将捕获鼠标轮和双点滚动手势。对于您的需求,您可以手动禁用此功能。
您可以使用内部GridView项PointerEntered和ViewChanged事件来实现此效果。当内部GridView项滚动到顶部或底部使其ScrollMode被禁用时,同时当指针进入到内部GridView项时,将启用内部GridView项ScrollMode。
我在msdn中找到了类似问题,它有完整的答复,您可以参考。
https://stackoverflow.com/questions/50412732
复制相似问题