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

...これはさらにハッキーです。

もっと良い方法があるはずです。どんな助けでも大歓迎です!

4

1 に答える 1

0

GridView で特定のビューにスクロールするには、Grid View アイテムにバインドしてListViewBase.ScrollIntoView(Object)を呼び出すオブジェクトにアクセスするだけです。

于 2013-05-14T19:16:58.830 に答える