如何在Windows Store应用程序中以编程方式滚动WrapGrid到其ItemSource中的特定项目?
本文关键字:ItemSource 到其 WrapGrid 项目 滚动 方式 Windows Store 应用程序 编程 | 更新日期: 2023-09-27 18:13:47
我有以下内容:
<GridView.ItemsPanel>
<ItemsPanelTemplate>
<WrapGrid Orientation="Vertical"
MaximumRowsOrColumns="10" />
</ItemsPanelTemplate>
</GridView.ItemsPanel>
我想滚动到一个特定的项目,但不知道如何。
到目前为止,我有:
int itemIndex = ...;
var scrollBar = TheGridView.GetFirstDescendantOfType<ScrollViewer>();
scrollBar.ScrollToHorizontalOffset((double)itemIndex / NumberRows);
…但这感觉很奇怪,这意味着我必须通过编程来计算行数。
const int IndividualItemHeight = /* Nasty Hard-Coded thing */;
numberOfRows = (int)((TheGridView.ActualHeight - TheGridView.Padding.Top -
TheGridView.Padding.Bottom) / IndividualItemHeight);
…
一定有更好的办法。任何帮助非常感激!
要使用GridView滚动到特定视图,您只需要访问绑定到Grid view项的对象并调用ListViewBase.ScrollIntoView(object)