防止列表视图在 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() 来设置它。