2

我有以下内容:

<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);

...这更加hacky。

一定会有更好的办法。非常感谢任何帮助!

4

1 回答 1

0

要使用 GridView 滚动到特定视图,您只需访问绑定到 Grid View 项的对象并调用ListViewBase.ScrollIntoView(Object)

于 2013-05-14T19:16:58.830 回答