スクロールビューアーを備えたメトロスタイルのアプリがあります。ここで、ユーザーがボタンをクリックしたときの位置までスクロールしたいと思います。私は試した:
MainScrollViewer.ScrollToHorizontalOffset(x);
しかし、すぐにそこに「ジャンプ」します。xまでのスムーズなアニメーションが欲しいです。
スクロールビューアーを備えたメトロスタイルのアプリがあります。ここで、ユーザーがボタンをクリックしたときの位置までスクロールしたいと思います。私は試した:
MainScrollViewer.ScrollToHorizontalOffset(x);
しかし、すぐにそこに「ジャンプ」します。xまでのスムーズなアニメーションが欲しいです。
それを可能にするAPIはすぐに使用できません。アニメーションでターゲットにできるプロパティもありません。フレームベースのアニメーションを使用するか(基本的に、タイムラインと各CompositionTarget.Renderingイベントのどこにいるかを把握します-オフセットを更新します)、値が変更されたときにScrollToHorizontalOffsetを呼び出す添付の依存関係プロパティを作成し、そのプロパティをターゲットにする必要があります。アニメーション。
非同期を実行し、ScrollToHorizontalOffset(int x)をインクリメントするタイマーを持つメソッドを作成できます。
500msごとに10pxが追加されると言います。