|
<chart:SfChart.PrimaryAxis>
<chart:NumericalAxis ActualRangeChanged="NumericalAxis_ActualRangeChanged">
..
</chart:NumericalAxis>
</chart:SfChart.PrimaryAxis> |
|
bool isLoaded = false;
int autoScrollingDeltaValue = 3;
public MainWindow()
{
InitializeComponent();
Loaded += MainWindow_Loaded;
}
private void MainWindow_Loaded(object sender, RoutedEventArgs e)
{
isLoaded = true;
(chart.PrimaryAxis as NumericalAxis).Minimum = chart.PrimaryAxis.VisibleRange.End - autoScrollingDeltaValue;
}
private void NumericalAxis_ActualRangeChanged(object sender, ActualRangeChangedEventArgs e)
{
if (e.IsScrolling || !isLoaded)
return;
e.VisibleMinimum = (double)e.ActualMaximum - autoScrollingDeltaValue;
} |
|
<chart:SfChart Grid.Row="1" TouchDown="chart_TouchDown"
x:Name="chart" IsManipulationEnabled="True"> |
|
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void chart_TouchDown(object sender, TouchEventArgs e)
{
if (e.OriginalSource is FrameworkElement)
{
var context = (e.OriginalSource as FrameworkElement).DataContext;
if (context is ZoomingToolBarItem)
{
MouseButtonEventArgs args = new MouseButtonEventArgs(Mouse.PrimaryDevice, 0, MouseButton.Left);
args.RoutedEvent = UIElement.MouseLeftButtonDownEvent;
args.Source = (context as ZoomingToolBarItem);
(context as ZoomingToolBarItem).RaiseEvent(args);
}
}
}
} |