2013-10-25 12 views
0

Я попытался добавить следующие события:я не могу получить какое-либо событие щелчка на моем LineSeries

  • MouseDoubleClick
  • TouchEvent
  • MouseDown

Все они приводят к тому же событие, которое должно запускать MessagBox (только для отладки), но ничего не происходит. Наверное, у меня нет правильного события ... но кто это, если я хочу поймать событие, когда пользователь нажимает на точку в LineSeries в моей диаграмме?

<oxy:Plot Grid.Column="0" Name="Plot" Title="Errors" MouseDown="Plot_MouseDown">    
    <oxy:Plot.Axes> 
     <oxy:LinearAxis Position="Left" 
       MajorGridlineStyle="Solid" 
       MinorGridlineStyle="Dash" /> 
     <oxy:DateTimeAxis Position="Bottom" 
       MajorGridlineStyle="Solid" 
       MinorGridlineStyle="Dash" />     
    </oxy:Plot.Axes> 
    <oxy:LineSeries ItemsSource="{Binding ErrorsByMinute}" DataFieldX="DateTime" 
       DataFieldY="Value" MarkerType="Circle" MarkerFill="#336699" 
       MarkerSize="4" Color="#336699" MouseDoubleClick="Plot_MouseDown" 
       TouchEnter="LineSeries_TouchDown" MouseDown="Plot_MouseDown" /> 
</oxy:Plot>   
+0

Что такое земля? Включен ли HitTesting? Проверьте значение свойства IsHitTestVisible. –

+0

Включено, когда я нажимаю на диаграмму, я получаю ярлык. – Jason94

+0

В wpf есть два события, которые должны иметь дело с кнопками мыши. Они называются PreviewMouseLeftButtonDown и MouseLeftButtonDown. Каждое другое событие, такое как Click или DoubleClick, является просто производным от этих двух. Попробуйте с ними. :) –

ответ

1

Вы используете их не в том месте ... они должны быть на Участке, а не в LineSeries.

Попробуйте это:

<oxy:Plot Grid.Column="0" Name="Plot" Title="Errors" MouseDown="Plot_MouseDown" 
    MouseDoubleClick="Plot_MouseDown" 
    TouchEnter="LineSeries_TouchDown" 
    MouseDown="Plot_MouseDown" 
>    
    <oxy:Plot.Axes> 
     <oxy:LinearAxis Position="Left" MajorGridlineStyle="Solid" MinorGridlineStyle="Dash" /> 
     <oxy:DateTimeAxis Position="Bottom" MajorGridlineStyle="Solid" MinorGridlineStyle="Dash" />     
    </oxy:Plot.Axes> 
    <oxy:LineSeries ItemsSource="{Binding ErrorsByMinute}" DataFieldX="DateTime" DataFieldY="Value" MarkerType="Circle" MarkerFill="#336699" MarkerSize="4" Color="#336699" /> 
</oxy:Plot>