在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显示动态图表列表?
答案 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>