防止列表视图在 ItemSource 更改时滚动到其顶部位置 Windows 8.1
Prevent the listview from scrolling to its top position when ItemSource changed Windows 8.1
那么有没有办法停止向上滚动?
我有 listview 的滚动视图,我尝试保存最后一个位置,并在 listview 中更改大小向下滚动 - 但它首先向下滚动,然后向上滚动;/也许有一些不同的事件或完全不同的方式?
您可以设置ItemsStackPanel 的ItemUpdatingScrollMode。
<ListView>
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<ItemsStackPanel ItemsUpdatingScrollMode="KeepScrollOffset" />
</ItemsPanelTemplate>
</ListView.ItemsPanel>
</ListView>
它只在滚动偏移量大于 0 时有效,所以只需滚动使用 ChangeView() 来设置它。
那么有没有办法停止向上滚动?
我有 listview 的滚动视图,我尝试保存最后一个位置,并在 listview 中更改大小向下滚动 - 但它首先向下滚动,然后向上滚动;/也许有一些不同的事件或完全不同的方式?
您可以设置ItemsStackPanel 的ItemUpdatingScrollMode。
<ListView>
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<ItemsStackPanel ItemsUpdatingScrollMode="KeepScrollOffset" />
</ItemsPanelTemplate>
</ListView.ItemsPanel>
</ListView>
它只在滚动偏移量大于 0 时有效,所以只需滚动使用 ChangeView() 来设置它。