Как я могу выбрать конкретную точку в 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 ложно.

Ссылка: Добавление событий в WPF LineSeries DataPoint

Другие вопросы по тегам