Silveright ScrollViewer с изображением и ScaleTransform - PullRequest
1 голос
/ 13 октября 2010

У меня есть следующий 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 ]

1 голос
/ 13 октября 2010

Вам необходим LayoutTransformer из Silverlight Toolkit . Вместо установки RenderTransform для вашего изображения, поместите его в LayoutTransformer.

0 голосов
/ 13 октября 2010

Вы пытались позвонить InvalidateScrollInfo на просмотрщик прокрутки?

...