2010-10-13 55 views
1

我有以下xaml。帶圖像和ScaleTransform的Silveright ScrollViewer

<ScrollViewer HorizontalAlignment="Stretch" Margin="107,0,0,0" Name="scrollViewer1" VerticalAlignment="Stretch" HorizontalScrollBarVisibility="Visible"> 
    <Image Name="image1" Stretch="None" MouseWheel="image1_MouseWheel" RenderTransformOrigin="0,0"> 
    </Image> 
</ScrollViewer> 

背後的代碼如下。

// initialise. 
private TransformGroup group = new TransformGroup(); 
private ScaleTransform st = new ScaleTransform(); 
group.Children.Add(st); 
image1.RenderTransform = group 

// mouse event. 
TransformGroup group = (TransformGroup)image1.RenderTransform; 
ScaleTransform scale = (ScaleTransform)group.Children.Last(); 
double zoom = e.Delta > 0 ? .2 : -.2; 
scale.ScaleX += zoom; 
scale.ScaleY += zoom; 

如何讓滾動條考慮圖像現在是不同的大小。 滾動條保持不變,我無法弄清楚如何改變它們。

感謝

回答

0

你試過在ScrollViewer中調用InvalidateScrollInfo

+0

是的。可滾動區域仍然不正確。一旦內容按照我的代碼進行縮放,我不是太大就是太小。 – Jim 2010-10-13 11:21:12