我有以下内容:
<GridView.ItemsPanel>
<ItemsPanelTemplate>
<WrapGrid Orientation="Vertical"
MaximumRowsOrColumns="10" />
</ItemsPanelTemplate>
</GridView.ItemsPanel>
我想滚动到特定项目,但无法找到方法。
到目前为止,我有:
int itemIndex = ...;
var scrollBar = TheGridView.GetFirstDescendantOfType<ScrollViewer>();
scrollBar.ScrollToHorizontalOffset((double)itemIndex / NumberRows);
...但这感觉奇怪的是hacky,并且意味着我必须以编程方式计算行数。
const int IndividualItemHeight = /* Nasty Hard-Coded thing */;
numberOfRows = (int)((TheGridView.ActualHeight - TheGridView.Padding.Top -
TheGridView.Padding.Bottom) / IndividualItemHeight);
......这更加黑客。
必须有更好的方法。任何帮助非常感谢!