2010-06-14 51 views
1

簡單問題,使用滑動條控件輕鬆縮放Silverlight 3中的圖像

SilverLight 3應用程序(無工具包)。 我想使用圖像和滑塊。 圖像在加載時顯示爲適合屏幕顯示,然後滑塊在其值改變時必須放大和縮小圖像。我不想使用其他任何東西,比如deepzoom。如何才能做到這一點?

急,在此先感謝,

回答

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 

而無需工具,U可以做到這一點,但它不能正常工作(它永遠不會更新的ScrollViewer)...嘗試以下之一:

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

希望它有幫助:)....

+0

Can; t找到LayoutTransformer,我需要下載SilverLight工具包嗎? 請詳細說明 – Zee99 2010-06-14 09:36:16

+0

是............下載並安裝 – Malcolm 2010-06-14 09:39:38

+0

感謝Malcom,在開發人員機器上安裝工具包是否需要在最終安裝Silverlight應用程序的生產計算機上進行任何其他安裝或修改? – Zee99 2010-06-14 13:11:05