私は次のものを持っています:
<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);
...これはさらにハッキーです。
もっと良い方法があるはずです。どんな助けでも大歓迎です!