使用滑块控件轻松缩放Silverlight 3中的图像

时间:2010-06-14 08:25:42

标签: silverlight image-zoom

简单的问题,

SilverLight 3应用程序(无工具包)。 我想使用图像和滑块。 在加载时图像显示适合屏幕,然后滑块必须在其值更改时放大和缩小图像。我不想使用其他任何东西,比如deepzoom。怎么办呢?

紧急,提前致谢,

1 个答案:

答案 0 :(得分:0)

下面的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>

在slidervaluechangedevent上:

    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>

在slidervaluechangedevent上:

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

希望它有所帮助:)....