2015-06-10 10 views
0

Я использую оксиплот в моем проекте ios для построения графиков. Мне нужно обрабатывать штрихи на графике, чтобы добавлять примечания к нему. Я использую сенсорные события, но он не работает. На самом деле это работает иногда, а иногда - нет. Он работал в начале, и теперь его больше нет. Кто-нибудь знает, что может быть ошибкой.Прикосновения к линзам для оксиплотов не работают

Вот код

myLineChart.series1.TouchStarted += (sender, e) => 
     { 
      myLineChart.xCoordinate = e.Position.X; 
      myLineChart.yCoordinate = e.Position.Y; 
      if(myLineChart.series1.Points != null){ 
       timer = new System.Timers.Timer(); 
       timer.Interval = 400; 
       timer.Elapsed += (senderr, er) => { 
        InvokeOnMainThread (() => { 
         dialog = new DialogView(View,Language.AddNoteLabel,Language.NotesQuestionLabel,Language.YesButton,Language.NoButton); 
         dialog.Show(); 

         dialog.firstButton.TouchUpInside += (sender1, e1) => CreateNote(); 

         dialog.secondButton.TouchUpInside += (sender1, e1) => dialog.Dispose(); 
        }); 
        timer.Dispose(); 
       }; 
       timer.Enabled = true; 
      } 
      e.Handled = true; 
     }; 

ответ

0

Вы можете рассмотреть обрабатывать OxyPlot.Model.TouchCompleted событие.

private void HookEvents() 
{ 
    this.UnhookEvents(); 

    if (this.plot != null && this.plot.Model != null) 
    { 
     this.plot.Model.TouchCompleted += this.PlotModelTouchCompletedHandler; 
    } 
} 

private void UnhookEvents() 
{ 
    if (this.plot != null && this.plot.Model != null) 
    { 
     this.plot.Model.TouchCompleted -= this.PlotModelTouchCompletedHandler; 
    } 
} 

private void PlotModelTouchCompletedHandler (object sender, OxyTouchEventArgs e) 
{ 
    // Put your logic to add custom node here. 
}