wpf oxyplot——单击数据点时更改弹出窗口

wpf oxyplot -- change popup when datapoint is clicked

我正在将 oxyplot 与 wpf 一起使用,我想在单击数据点时更改弹出窗口。

可以改吗?我看到了几个例子,展示了如何获得点击点,但没有改变样式。

谢谢

弹出窗口在 OxyPlot 的源代码中称为 Tracker。 您可以通过 OxyPlot.Wpf.PlotView.DefaultTrackerTemplate 在 XAML 中将其 ControlTemplate 定义为:

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

如果每个系列数据需要不同的tracker,那么使用OxyPlot.Wpf.PlotView.TrackerDefinitions。例如,如果您有一个带 TrackerKey="LineSeriesXyzTrackerKey" 的 LineSeries,则将其跟踪器定义为:

<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>

ControlTemplateDataContextTrackerHitResult,您可以在此处查看可用的属性: https://github.com/oxyplot/oxyplot/blob/master/Source/OxyPlot/PlotController/Manipulators/TrackerHitResult.cs

一些例子: How can I show the plot points in Oxyplot for a line Graph? http://discussion.oxyplot.org/topics/592-wpf-tracker-multiple-value/