mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-03-19 16:06:35 +08:00
43 lines
2.3 KiB
XML
43 lines
2.3 KiB
XML
<UserControl x:Class="Wpf.CartesianChart.ZoomingAndPanning.ZoomingAndPanning"
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
xmlns:local="clr-namespace:Wpf.CartesianChart"
|
|
xmlns:lvc="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf"
|
|
xmlns:zoomingAndPanning="clr-namespace:Wpf.CartesianChart.ZoomingAndPanning"
|
|
mc:Ignorable="d"
|
|
d:DesignHeight="300" d:DesignWidth="300" d:DataContext="{d:DesignInstance local:ZoomingAndPanning}">
|
|
<UserControl.Resources>
|
|
<zoomingAndPanning:ZoomingModeCoverter x:Key="ZoomingModeCoverter"></zoomingAndPanning:ZoomingModeCoverter>
|
|
</UserControl.Resources>
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto"></RowDefinition>
|
|
<RowDefinition Height="Auto"></RowDefinition>
|
|
<RowDefinition Height="*"></RowDefinition>
|
|
</Grid.RowDefinitions>
|
|
<TextBlock Grid.Row="0" TextWrapping="Wrap">
|
|
Use the Chart.Zoom property to enable zooming and panning, you have some options: None, X, Y and XY, click, hold and drag the chart for panning.
|
|
</TextBlock>
|
|
<StackPanel Grid.Row="1">
|
|
<Button Click="ToogleZoomingMode">
|
|
<TextBlock>Toggle zoming mode, current is:
|
|
<TextBlock Text="{Binding ZoomingMode, Converter={StaticResource ZoomingModeCoverter}}"/>
|
|
</TextBlock>
|
|
</Button>
|
|
<Button Click="ResetZoomOnClick">Reset Zoom</Button>
|
|
</StackPanel>
|
|
<lvc:CartesianChart Grid.Row="2" Series="{Binding SeriesCollection}" Zoom="{Binding ZoomingMode}" >
|
|
<lvc:CartesianChart.AxisX>
|
|
<lvc:Axis Name="X" LabelFormatter="{Binding XFormatter}"
|
|
Separator="{x:Static lvc:DefaultAxes.CleanSeparator}"/>
|
|
</lvc:CartesianChart.AxisX>
|
|
<lvc:CartesianChart.AxisY>
|
|
<lvc:Axis Name="Y" LabelFormatter="{Binding YFormatter}"/>
|
|
</lvc:CartesianChart.AxisY>
|
|
</lvc:CartesianChart>
|
|
</Grid>
|
|
</UserControl>
|
|
|