2016-06-07 8 views
0

События мыши возвращают PlotController вместо plotView или plotModel.OxyPlot MouseEvents как получить доступ к PlotModel

Мой вопрос - как получить доступ к сюжетуModel изнутри события мыши? Может ли кто-нибудь сказать мне идею этого изменения от предоставления сюжетной модели в качестве источника, предоставляющего теперь plotcontroller? Как бы кто-то выбрал все серии или увеличил масштаб на основе события мыши, имеющего этот коннектор в качестве источника?

Я хотел бы добавить аннотацию, вызванную событием мыши.

var plott = new PlotModel(); 
plott.MouseDown += Plott_MouseDown; 

public void Plott_MouseDown(object sender, OxyMouseDownEventArgs e) 
    { 
     var plot = sender as PlotController; 

     I NEED TO ACCESS THE PLOTMODEL TO ADD AN ANNOTATION 

     plot.Annotations.Add(new RectangleAnnotation(){ MinimumX = e.Position.X, MinimumY = e.Position.Y }); 
    } 

ответ

0

Дайте имя вашего участка в XAML:

<oxy:PlotView x:Name="MyPlotView" .../> 

доступ к нему из кода позади:

public void Plott_MouseDown(object sender, OxyMouseDownEventArgs e) 
{ 
    MyPlotView.Model.Annotations.Add(new RectangleAnnotation(){ MinimumX = e.Position.X, MinimumY = e.Position.Y }); 
} 
+0

Спасибо за этот намек. На самом деле я знаю, что могу получить доступ к сюжету по имени из кода позади, но я использую Caliburn Micro. Точнее, сообщение Caliburn Micro. Как это сделать с этим? Есть ли способ? Для меня способ запуска какого-либо события из кода позади кажется слишком сложным. – user2799180

 Смежные вопросы

  • Нет связанных вопросов^_^