我正在开发一个 Windows 8 Metro 应用程序,并有一个 GridView,其中显示了数百个不同宽度的项目。我正在使用 VirtualizingStackPanel 来帮助改善内存消耗。我需要将一个项目滚动到 GridView 的中心。使用 GridView.ScrollIntoView 或 VirtualizingStackPanel.SetHorizontalOffset 会将项目滚动到屏幕边缘,而不是中心。
这篇文章讨论了一个类似的问题,但在 WPF 方面。问题在于 a) 由于一些对象不存在,因此无法为 Metro 应用程序编译;b) 逻辑滚动的实现似乎依赖于等宽的项目。
这个问题的最佳解决方案是什么?框架中是否有一些可用的东西可以使这变得简单?