0

私の要件は、グリッド ビューをスクロールするときにグリッド ビューと共に移動するグリッドを持つことです。WinRT XAML Toolkit を使用して、Gridview の子孫http://winrtxamltoolkit.codeplex.com/ - VisualTreeHelperExtensions を取得しました。

これは、GridView 内でスクロールバーを取得するために必要なコードです。

    var scrollViewer = itemGridView.GetFirstDescendantOfType<ScrollViewer>();
    var scrollbars = scrollViewer.GetDescendantsOfType<ScrollBar>().ToList();
    var horizontalBar = scrollbars.FirstOrDefault(x => x.Orientation == Orientation.Horizontal);
    horizontalBar.Scroll += horizontalBar_Scroll

私の問題は - scrollViewer は常に null です。ブレークポイントを設定すると、GridView 内の ScrollViewers の数は 0 です。

グリッドビュー内のスクロールバーへの参照を取得するにはどうすればよいですか? または、グリッドビューがスクロールされるたびにグリッド要素を移動する別の方法はありますか?

4

1 に答える 1

1

この動作の理由がわかりました。私は Page コンストラクターでこのクエリを実行していました。itemGridView が完全にロードされたときにそれができました。

   itemGridView.Loaded += itemGridView_Loaded;


MSDN からの引用:

Loaded:
FrameworkElement が構築されてオブジェクト ツリーに追加され、操作の準備が整ったときに発生します。(FrameworkElement から継承)

ありがとう

于 2012-12-05T22:53:44.663 に答える