WPF与滑块更改的ScrollViewer尺寸缩放
问题描述:
我现在有以下代码: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。
答
应用变尺度在图像,而不是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" />
因此,这使得图像放大和缩小,但如果我在图像上画,那些没有相对于图像缩放。 –