[英]Windows Store app embedded ScrollViewer not working properly
[英]ScrollViewer is not working properly with the combination of several GridViews within a ListView in an UWP App
我正在使用GridViews
表示不同文件夾的文件。 這些GridViews
一個行和水平方向的一個垂直內orderd 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(文件)。
問題就來了 ,使用鼠標滾輪或觸控板與兩個手指的手勢sroll時:當指針上的任何物品或文件respectivley,它不會影響到ListView控件。 所有手勢僅會影響gridview。
我嘗試禁用和啟用垂直和水平滾動模式,IsVertical / HorizontalModeChanningEnabled屬性以及滾動條和滾動條可見性的效果。
我找到了與該問題有關的這些問題,但是可以找到我剛剛描述的這個特定問題的解決方案:
如果有人有想法甚至解決方案,那就太好了。
當使用兩指滾動手勢使用鼠標滾輪或觸摸板時,就會出現問題:當指針位於任何項目或文件上時,它不會影響ListView。 所有手勢僅會影響gridview。
問題在於, GridView
項目在聚焦時會捕獲鼠標滾輪和雙點滾動手勢。 根據您的要求,您可以手動禁用此功能。
您可以使用內部GridView
項PointerEntered
和ViewChanged
事件來實現此效果。 當內部GridView
項滾動到頂部或底部時,將其ScrollMode
禁用,同時,當指針進入內部GridView
項時,使內部GridView
項ScrollMode
啟用。
而且我在msdn中發現了類似的問題 ,它具有您可以參考的完整答復。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.