如何在线系列中选择特定点
本文关键字:选择 系列 何在线 在线 | 更新日期: 2023-09-27 18:34:32
我目前正在尝试使用 wpf 应用程序中的工具包选择行系列中的一个点。我只是想使用鼠标事件选择它,但我在上面呆了几个小时,到目前为止还没有任何成功。
这是我的 xaml 的摘录
<Grid Name="amplitude_envelope" Grid.ColumnSpan="9" Grid.Column="2" Grid.Row="6" Margin="0,0,95,0">
<chartingToolkit:Chart Title="Amplitude Envelope" Name="chart1" AllowDrop="True" >
<chartingToolkit:Chart.Series>
<chartingToolkit:LineSeries
Name="my_line"
MouseDown="StartDrag"
MouseLeave="StopDrag"
MouseMove="DragObject"
IsSelectionEnabled="True"
Title="Envelope"
DependentValuePath="Power" IndependentValuePath="Speed" >
<chartingToolkit:LineSeries.DependentRangeAxis>
<chartingToolkit:LinearAxis
Orientation="Y"
Title="Amplitude (%)"
Minimum="0"
Maximum="1.2"
Interval="0.2"
ShowGridLines="True"/>
</chartingToolkit:LineSeries.DependentRangeAxis>
</chartingToolkit:LineSeries>
</chartingToolkit:Chart.Series>
</chartingToolkit:Chart>
</Grid>
我的 DragObject 方法如下所示:
private void DragObject(object sender, MouseEventArgs e)
{
if (my_line.IsMouseCaptured)
{
LineSeries line = (LineSeries)sender;
var dp = line.SelectedItem;
}
}
我只是找不到我应该做什么才能在直接修剪一个点时调用我的 StartDrag 事件(到目前为止,我可以在单击线条或图表时执行此操作......但这不是我要找的(
你对我有什么想法吗?
您可以在 LineSeries.DataPointStyle 中定义事件:
<chartingToolkit:LineSeries.DataPointStyle>
<Style>
<EventSetter Event="Control.MouseDown" Handler="StartDrag"/>
</Style>
</chartingToolkit:LineSeries.DataPointStyle>
另外,请记住将IsSelectionEnabled
设置为 False。
参考:在 WPF 行系列数据点上添加事件