3

デフォルトのGridViewテンプレートサンプルアプリのような何かで、GridView(ScrollViewerのViewChangedなど)でスクロールイベントを検出するにはどうすればよいですか?netflixアプリが左の赤い帯に与える効果を再現したいと思います。

GridViewをscrollviewer内に配置しようとしましたが、さまざまな解像度で画面全体に表示するようにGridViewを拡大できませんでした。

更新:これをNuGetにあるVariableGridコントロールで使用する予定です-公式のコントロールではありませんが、GridViewを継承します

4

3 に答える 3

1

これを行うための最良の方法は、コントロールのコンポーネントを読み、それにイベントを割り当てることができるようです。この例で起こっていることに基づいて

http://mikaelkoskinen.net/post/WinRT-XAML-Automatically-Scrolling-ListView-to-Bottom-and-Detecting-When-ListView-is-Scrolled.aspx

VisualTreeExtensionsを使用してスクロールバーへのアクセスを取得し、例のようにイベントScrollをキャプチャできました。グリッドのLoadedイベントが発生したとき、私は子供たちを読まなければなりませんでした。

于 2012-11-26T16:35:00.233 に答える
1

もっと簡単な方法があります。

GridViewのテンプレートを編集し、XAMLの内部を調べてScrollViewer、GridViewのコンポーネントであるを見つけます。

にサブスクライブScrollViewerできるViewChangedイベントがあります。これで、GridViewがスクロールされるたびに、このイベントが発生します。

于 2015-06-10T04:56:05.303 に答える
0

GridViewでManipulationCompletedイベントとPointerReleasedイベントを試してください。これはキーボードマウスを使用しているだけです。

于 2012-11-23T12:07:11.697 に答える