带有Image和ScaleTransform的Silverlight ScrollViewer

时间:2010-10-13 08:17:25

标签: silverlight scrollviewer

我有以下xaml。

<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;

如何让卷轴考虑到图像现在的大小不同。 滚动条保持相同的大小,我无法弄清楚如何更改它们。

由于

2 个答案:

答案 0 :(得分:1)

您需要Silverlight Toolkit中的LayoutTransformer。而不是在Image上设置RenderTransform,而是将其放在LayoutTransformer中。

答案 1 :(得分:0)

您是否尝试在滚动查看器上调用InvalidateScrollInfo