2017-11-18 401 views
-1

我現在有以下代碼:WPF與滑塊更改的ScrollViewer尺寸縮放

<ScrollViewer DockPanel.Dock="Top"> 
      <InkCanvas Name="InkCanvasOnImage" Height="203"> 
       <InkCanvas.LayoutTransform> 
        <ScaleTransform ScaleX="{Binding ElementName=ZoomSlider,Path=Value}" ScaleY="{Binding ElementName=ZoomSlider,Path=Value}"></ScaleTransform> 
       </InkCanvas.LayoutTransform> 
      </InkCanvas> 
     </ScrollViewer> 

     <Slider DockPanel.Dock="Top" Name="ZoomSlider" Value="1" Minimum="0.3" Maximum="3" Height="20" /> 

當我調整滑塊,整個的ScrollViewer是變化的大小,且上下在應用移動滑塊。我想要的只是InkCanvas內部放大和縮小的圖像。我是否使用了正確的WPF控件,或者我在某處搞錯了?我的理解是,我正在改變InkCanvas的縮放比例,而不是滑動條的ScrollViewer Dimensions。

回答

1

應用變尺度在圖像,而不是InkCanvas

<ScrollViewer DockPanel.Dock="Top"> 
      <InkCanvas Name="InkCanvasOnImage" Height="203"> 

       <Image Source="AddImageSourceHere"> 
        <Image.LayoutTransform> 
         <ScaleTransform ScaleX="{Binding ElementName=ZoomSlider,Path=Value}" ScaleY="{Binding ElementName=ZoomSlider,Path=Value}"></ScaleTransform> 
        </Image.LayoutTransform> 
       </Image> 

      </InkCanvas> 
     </ScrollViewer> 

     <Slider DockPanel.Dock="Top" Name="ZoomSlider" Value="1" Minimum="0.3" Maximum="3" Height="20" /> 
+0

因此,這使得圖像放大和縮小,但如果我在圖像上畫,那些沒有相對於圖像縮放。 –