2016-07-19 5 views
0

私は、ユーザーが階層データをドリルダウンできるようにするためにハブを使用しています。 Hubは水平方向にスクロールし、各HubSectionにはさまざまな項目のListViewが含まれています。新しく追加されたHubSectionにスクロールするにはどうすればよいですか?

ユーザーがアイテムをタップすると、右側に新しいHubSectionが追加されます。新しいHubSectionを完全に表示するために、ハブをスクロールしてください。遅延は、それが最終的に正しい位置にスクロールしない意味の追加

myHub.Sections.Add(myNewHubSection); 
myHub.ScrollToSection(myNewHubSection); 

ので、私はこの問題は、新しいHubSectionがまだレンダリングされていないことであるとします:

、これは動作しません。こう

myHub.Sections.Add(myNewHubSection); 
await Task.Delay(1000); 
myHub.ScrollToSection(myNewHubSection); 

また、HubSectionsを測定して手動でas detailed hereのアニメーションを試してみましたが、同じ理由で失敗しました。新しいHubSectionはまだ追加されてもサイズがゼロです。

これを行うにはより良い方法がありますか?アニメ化された方がはるかに好ましいでしょう。

答えて

0

myNewHubSection.Loadedを購読してmyHub.ScrollToSection()をトリガーできますか?

0

セクションへのスクロールを呼び出す前に、手動で "UpdateLayout()"を呼び出すことができます。これにより、レンダリングしてスクロールすることができます。アニメーション作品のために

は、このブログの記事は良いチュートリアルを持っている:あなたは何とかオフセットを知ることができれば

また

http://blogs.u2u.be/diederik/post/2015/02/23/An-animated-ScrollToSection-for-the-Universal-Hub-Control.aspx

、あなたはWinRTXamlToolkitからScrollViewerExtensionsを使用することができます。また、新しいハブ・セクションがロードされるのを待つために使用できる、AwaitableUIライブラリーの拡張も提供されています。

関連する問題