Skip to content

Latest commit

 

History

History
69 lines (59 loc) · 2.17 KB

kb-chartview-display-trackball-right-click.md

File metadata and controls

69 lines (59 loc) · 2.17 KB
title page_title description type slug position tags ticketid res_type
Display Trackball Info on Right Mouse Click
Show RadCartesianChart Trackball when Right Mouse Button is Pressed
How to display the ChartView trackball on right mouse button click.
how-to
kb-chartview-display-trackball-right-click
0
mouse,click,press,trackball
1415833
kb

Environment

Product Version 2019.2 624
Product RadChartView for WPF

Description

How to display the ChartView trackball on right mouse button click.

Solution

Subscribe to the PositionChanging event of the ChartTrackBallBehavior and reset the last position if the mouse right button wasn't not clicked. Then subscribe to the MouseRightButtonDown event of RadCartesianChart and set the Position property of the behavior manually.

[XAML]

{{region kb-chartview-display-trackball-right-click-0}} telerik:RadCartesianChart.Behaviors <telerik:ChartTrackBallBehavior PositionChanging="ChartTrackBallBehavior_PositionChanging" x:Name="trackballBehavior" /> </telerik:RadCartesianChart.Behaviors> {{endregion}}

[C#]

{{region kb-chartview-display-trackball-right-click-1}} public partial class MainWindow : Window { private bool isManualPositionChange = false;

    public MainWindow()
    {
        InitializeComponent();
        this.trackballBehavior.Position = new Point(100, 321);
    }

    private void ChartTrackBallBehavior_PositionChanging(object sender, Telerik.Windows.Controls.ChartView.TrackBallPositionChangingEventArgs e)
    {
        if (e.NewPosition != e.PreviousPosition && !isManualPositionChange)
        {
            e.NewPosition = e.PreviousPosition;
        }           
        this.isManualPositionChange = false;
    }

    private void RadCartesianChart_MouseRightButtonDown(object sender, MouseButtonEventArgs e)
    {
        isManualPositionChange = true;
        this.trackballBehavior.Position = e.GetPosition(this.chart);
    }
}

{{endregion}}