2010-04-19 4 views
0

나는 내 페이지를 확장하는 스택 판넬에 사용자 컨트롤 (15 개, 각 레코드 당 하나)이있다. 사용자가 브라우저를 스크롤 할 필요없이 scrollviewer 패널을 스크롤 할 수 있도록 스크롤바에 이것을 넣습니다.Silverlight 앵커 태그 기능?

내 스택 패널에서 특정 사용자 정의 컨트롤로 프로그래밍 방식으로 스크롤하는 방법을 알고 있습니다. 각 레코드를 맨 위의 드롭 다운에서 선택하여 스크롤 뷰어가 해당 사용자 컨트롤로 스크롤되도록합니다.

의견이 있으십니까? scrollviewer에는 ScrollToVerticalOffset() 메서드가 있지만 스택 패널에서 이러한 컨트롤의 오프셋을 계산하는 방법을 알지 못합니다.

감사합니다.

답변

0

I는 다음과 같이 일하는 것이 상상 :

void ScrollToUserControl(UserControl uc) 
{ 
    double amountToScroll = 0; 
    for (int i = 0; i < stackPanel.Children.Count; i++) 
    { 
     if (stackPanel.Children[i] == uc) 
      break; 

     amountToScroll += stackPanel.Children[i].ActualHeight; 

    } 

    scrollViewer.UpdateLayout(); 
    scrollViewer.ScrollToVerticalOffset(amountToScroll); 
} 
+0

이 완벽했다! 많은 감사! – Eric