Всплывающее окно изменения wpf oxyplot при нажатии точки данных

Я использую oxyplot с wpf и хочу изменить всплывающее окно, если будет нажата точка данных. OxyplotDataPointClick

Можно ли изменить? Я видел несколько примеров, которые показывают, как получить точку щелчка, но ничего об изменении стиля.

Благодарю вас


person thardes2    schedule 22.02.2016    source источник


Ответы (1)


Всплывающее окно называется Tracker в исходном коде OxyPlot. Вы можете определить его ControlTemplate в XAML через OxyPlot.Wpf.PlotView.DefaultTrackerTemplate как:

<oxy:PlotView Model="{Binding SomePlotModel}">
  <oxy:PlotView.DefaultTrackerTemplate>
    <ControlTemplate>
       <!-- Put your content here-->
    </ControlTemplate>
   </oxy:PlotView.DefaultTrackerTemplate>
</oxy:PlotView>

Если для каждой серии данных требуется отдельный трекер, используйте OxyPlot.Wpf.PlotView.TrackerDefinitions. Например, если у вас есть LineSeries с TrackerKey="LineSeriesXyzTrackerKey", то определяет свой трекер как:

<oxy:PlotView Model="{Binding SomePlotModel}">
  <oxy:PlotView.TrackerDefinitions>
    <oxy:TrackerDefinition TrackerKey="LineSeriesXyzTrackerKey">
      <oxy:TrackerDefinition.TrackerTemplate>
        <ControlTemplate>
        <!-- Put your content here-->
        </ControlTemplate>
      </oxy:TrackerDefinition.TrackerTemplate>
    <oxy:TrackerDefinition TrackerKey="SomeOtherTrackerKey">
      <oxy:TrackerDefinition.TrackerTemplate>
        <ControlTemplate>
        <!-- Put your content here-->
        </ControlTemplate>
      </oxy:TrackerDefinition.TrackerTemplate>
  </oxy:TrackerDefinition>
</oxy:PlotView.TrackerDefinitions>

DataContext для ControlTemplate — это TrackerHitResult, вы можете посмотреть, какие свойства доступны здесь: https://github.com/oxyplot/oxyplot/blob/master/Source/OxyPlot/PlotController/Manipulators/TrackerHitResult.cs

Некоторые примеры: Как я могу показать точки графика в Oxyplot для линейного графика? http://discussion.oxyplot.org/topics/592-wpf-tracker-multiple-value/

person Peter    schedule 25.02.2016
comment
Ты сегодня лучший парень :-) - Спасибо! - person thardes2; 26.02.2016