Простое увеличение изображения в Silverlight 3 с помощью ползунка - PullRequest
1 голос
/ 14 июня 2010

Простой вопрос,

Приложение SilverLight 3 (без инструментария).Я хочу использовать изображение и слайдер.Изображение отображается по размеру экрана при загрузке, а затем ползунок должен увеличивать и уменьшать изображение при изменении его значения.Я не хочу использовать что-то еще, например, deepzoom.Как это можно сделать?

Срочно, Заранее спасибо,

1 Ответ

0 голосов
/ 14 июня 2010

Код xaml, приведенный ниже:

<ScrollViewer x:Name="scroll"   HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto"  HorizontalAlignment="Stretch" VerticalAlignment="Stretch" >
<layout:LayoutTransformer x:Name="layout"  Background="{x:Null}" >
                                <layout:LayoutTransformer.LayoutTransform>
                                    <ScaleTransform x:Name="contentScale" ScaleX="1.0" ScaleY="1.0" />
                                </layout:LayoutTransformer.LayoutTransform>

                                <Image x:Name="img"   Source="../pin.PNG"  >

                                </Image>
                            </layout:LayoutTransformer>
                        </ScrollViewer>

И на ползунке изменить значение:

    this.contentScale.ScaleX = this.contentScale.ScaleY = e.NewValue;
    this.layout.ApplyLayoutTransform();

В инструментарии LayoutTransformer есть ссылка:

System.Windows.Controls.Layout.Toolkit

Не имея инструментария, вы можете сделать это, но он не будет работать должным образом (он никогда не обновит средство просмотра скролла) ... попробуйте его ниже:

<ScrollViewer x:Name="scroll"   HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto"  HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Themes:ThemeManager.StyleKey="TreeScrollViewer">

                                <Image x:Name="img"   Source="../charge_chargeline.PNG"  >
                                    <Image.RenderTransform>
                                        <ScaleTransform x:Name="contentScale" ScaleX="1.0" ScaleY="1.0" />
                                    </Image.RenderTransform>
                                </Image>

                        </ScrollViewer>

И на событии slidervaluechange:

    `this.contentScale.ScaleX = this.contentScale.ScaleY = e.NewValue`;

Надеюсь, это поможет:) ....

...