2009-12-23 88 views
1

我有一個帶有動態內容的滾動查看器。在一個事件上,一個新的內容被顯示出來並且滾動條出現。我如何使它自動滾動以查看內容?Silverlight:使用滾動查看器自動滾動

感謝, 肖恩·麥克萊恩

+0

你知道新內容的座標嗎? – 2009-12-23 23:08:58

回答

3

使用ScrollToVerticalOffset()要做到這一點,傳遞新內容的座標。

var newContent = GetNewContent(); 

var generalTransform = newContent.TransformToVisual(
    Application.Current.RootVisual as UIElement); 

Point offset = generalTransform.Transform(new Point(0, 0)); 
double controlTop = offset.Y; 
double controlLeft = offset.X; 

scrollViewer.ScrollToVerticalOffSet(controlTop); 
scrollViewer.ScrollToHorizontalOffSet(controlLeft); 
+0

渲染大小不給位置。 – 2009-12-24 02:49:29

+0

我修復了代碼,謝謝 – 2009-12-24 09:48:52

1

您確定Scrollviewer是您需要的控件嗎?

對我來說聽起來像你應該使用ListBox(如果需要,你可以重點風格)。它有一個ScrollIntoView(item)方法可以實現你的目標。