mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-03-15 14:06:47 +08:00
添加项目文件。
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Input;
|
||||
using LiveCharts;
|
||||
using LiveCharts.Helpers;
|
||||
using LiveCharts.Wpf;
|
||||
|
||||
namespace Wpf.CartesianChart.SectionsMouseMove
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for SectionMouseMoveSample.xaml
|
||||
/// </summary>
|
||||
public partial class SectionMouseMoveSample : UserControl
|
||||
{
|
||||
public SectionMouseMoveSample()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void UIElement_OnMouseMove(object sender, MouseEventArgs e)
|
||||
{
|
||||
var vm = (ViewModel) DataContext;
|
||||
var chart = (LiveCharts.Wpf.CartesianChart) sender;
|
||||
|
||||
//lets get where the mouse is at our chart
|
||||
var mouseCoordinate = e.GetPosition(chart);
|
||||
|
||||
//now that we know where the mouse is, lets use
|
||||
//ConverToChartValues extension
|
||||
//it takes a point in pixes and scales it to our chart current scale/values
|
||||
var p = chart.ConvertToChartValues(mouseCoordinate);
|
||||
|
||||
//in the Y section, lets use the raw value
|
||||
vm.YPointer = p.Y;
|
||||
|
||||
//for X in this case we will only highlight the closest point.
|
||||
//lets use the already defined ClosestPointTo extension
|
||||
//it will return the closest ChartPoint to a value according to an axis.
|
||||
//here we get the closest point to p.X according to the X axis
|
||||
var series = chart.Series[0];
|
||||
var closetsPoint = series.ClosestPointTo(p.X, AxisOrientation.X);
|
||||
|
||||
vm.XPointer = closetsPoint.X;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user