2016-07-19 2 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입니다.

더 좋은 방법이 있나요? 애니메이션이 훨씬 더 바람직합니다.

답변

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 라이브러리의 확장을 제공합니다.

관련 문제