本文介绍了Silveright ScrollViewer 与 Image 和 ScaleTransform的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下 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;

如何让滚动条考虑到图像现在的大小不同.滚动条的大小保持不变,我不知道如何更改它们.

How do I get the scroller to take into account that the image is now a different size.The scroll bars remain the same size, and I cannot work out how to change them.

谢谢

推荐答案

您需要 Silverlight Toolkit.不要在图像上设置 RenderTransform,而是将其放在 LayoutTransformer 中.

You need the LayoutTransformer from the Silverlight Toolkit. Instead of setting a RenderTransform on your Image, put it inside a LayoutTransformer.

这篇关于Silveright ScrollViewer 与 Image 和 ScaleTransform的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-16 23:04