如何实现放大wpf?创建一个用户可以在地图上上传和绘图的应用程序。使用缩放滑块,用户无法在地图上绘图。没有缩放滑块,用户可以绘制。而不是第三方控件,有没有办法实现缩放?我尝试实现它,我可以在xaml中看到滑块但是当我运行它时,滑块消失
enter image description here 任何想法都非常感谢。非常感谢。
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="273.333"/>
<ColumnDefinition Width="1026.667"/>
</Grid.ColumnDefinitions>
<Slider x:Name="uiScaleSlider" ToolTip="Determines the UI scale factor." Value="1" Minimum="0.1" Maximum="4" Margin="67,0,-67,-0.333" Grid.ColumnSpan="2"/>
<DockPanel Grid.Column="0" Grid.ColumnSpan="2" LastChildFill="True" Margin="0,0,0,-0.333">
<DockPanel.LayoutTransform>
<ScaleTransform
CenterX="0" CenterY="0"
ScaleX="{Binding ElementName=uiScaleSlider,Path=Value}"
ScaleY="{Binding ElementName=uiScaleSlider,Path=Value}"
/>
</DockPanel.LayoutTransform>
<Canvas x:Name="drawingCanvas" Margin="0,10,85,33">
<Canvas.Background>
<ImageBrush ImageSource="../Images/canvas.png" AlignmentX="Center" AlignmentY="Center" Stretch="Fill"/>
</Canvas.Background>
</Canvas>
</DockPanel>
</Grid>
</ScrollViewer>
<GridSplitter Grid.Row="1" HorizontalAlignment="Stretch" VerticalAlignment="Top" ResizeDirection="Rows" />
</Grid>
答案 0 :(得分:0)
执行此操作的最佳方法是使用ViewBox
。我在这里描述了一个类似的场景:Creating a WPF Window that allows zooming and panning