Я использую 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>
И визуальное впечатление здесь:
Проблема заключается в обработке вертикальной и горизонтальной прокрутки.
При точном вводе все работает как требуемый : когда вы двигаете пальцем вверх и вниз, вы прокручиваете список (папки).Если вы двигаете пальцем горизонтально, вы прокручиваете GridView (файлы).
Проблема возникает при использовании колесика мыши или сенсорной панели с жестом прокрутки двумя пальцами: когда указатель находится на каком-либо элементе или файле соответственно, он не влияет на ListView.Все жесты влияют только на вид сетки.
Я пытался отключить и включить режимы вертикальной и горизонтальной прокрутки, свойство IsVertical / HorizontalModeChanningEnabled, а также эффекты видимости полосы прокрутки и полосы прокрутки.
Я нашел эти вопросы, связанные с этой проблемой, но смог найти решение этой конкретной проблемы, которую я только что расшифровал:
Было бы замечательно, если у кого-то есть идеи или даже решения.