在列表框中显示Oxyplot图表的动态列表

时间:2015-07-16 16:58:19

标签: c# wpf mvvm listbox oxyplot

在wpf应用程序中使用oxyplot显示图表时:

<oxy:PlotView Title="My Chart" Model="{Binding SomePlotModel}"></oxy:PlotView>

将显示图表。

但是如果你想在ListBox中显示多个图表

<ListBox >
    <ListBoxItem>
        <oxy:PlotView Title="My Chart1" Model="{Binding SomePlotModel1}"></oxy:PlotView>
    </ListBoxItem>
    <ListBoxItem>
        <oxy:PlotView Title="My Chart2" Model="{Binding SomePlotModel2}"></oxy:PlotView>
    </ListBoxItem>
</ListBox>

图表不会显示。为什么?如何使用Oxyplot显示动态图表列表?

1 个答案:

答案 0 :(得分:0)

宽度和高度! PlotBase的Oxyplot第583行

((IPlotModel)this.ActualModel).Render(this.renderContext, this.canvas.ActualWidth, this.canvas.ActualHeight);

如果在ListBox中转储绘图,除非设置,否则绘图的画布宽度和高度为零。 这适用于我的例子:

<ListBox >
<ListBoxItem>
    <oxy:PlotView Title="My Chart1" Model="{Binding SomePlotModel1}"  Width="200" Height="200"></oxy:PlotView>
</ListBoxItem>
<ListBoxItem>
    <oxy:PlotView Title="My Chart2" Model="{Binding SomePlotModel2}"  Width="200" Height="200"></oxy:PlotView>
</ListBoxItem>