4

私は Windows 8 Metro アプリに取り組んでおり、GridView に幅の異なる数百のアイテムが表示されています。メモリ消費を改善するために VirtualizingStackPanel を使用しています。項目を GridView の中央にスクロールする必要があります。GridView.ScrollIntoView または VirtualizingStackPanel.SetHorizo​​ntalOffset を使用すると、項目が画面の中央ではなく端にスクロールされます。

この投稿では、同様の問題について説明していますが、WPF 側です。問題は、a) いくつかのオブジェクトが存在しないため、Metro アプリ用にコンパイルされないことと、b) 論理スクロールの実装がアイテムの幅が等しいことに依存しているように見えることです。

この問題の最善の解決策は何ですか? これを簡単にするフレームワークで利用できるものはありますか?

4

1 に答える 1

1

ScrollIntoView は機能しますが、次のように呼び出す必要があります。

await Dispatcher.RunAsync(CoreDispatcherPriority.Low,
                        () => { this.gridView.ScrollIntoView(yourItem); });
于 2012-09-05T10:11:00.563 に答える