Как я могу выбрать конкретную точку в LineSeries
В настоящее время я пытаюсь выбрать точку в LineSeries с помощью инструментария в приложении 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 при клике непосредственно по точке (пока я могу это сделать, нажимая на линию или график... но это не то, что я ищу)
У вас есть идея для меня?
1 ответ
Вы можете определить свои события в LineSeries.DataPointStyle:
<chartingToolkit:LineSeries.DataPointStyle>
<Style>
<EventSetter Event="Control.MouseDown" Handler="StartDrag"/>
</Style>
</chartingToolkit:LineSeries.DataPointStyle>
Кроме того, не забудьте установить IsSelectionEnabled
ложно.