OxyPlot XAML 未知系列数

OxyPlot XAML unknown series count

有没有办法在XAML中绑定OxyPlot的系列,如果我不知道,我会有多少系列?

我知道,我可以创建一个 PlotModel,也许我可以绑定一个系列集合。但我真正想要的是,如果我可以将系列绑定到双打列表。

可能的 ItemSources 示例:

ObservableCollection<Tupel<double, List<double>>> ItemSource1 { get; set; }

ObservableCollection<Tupel<double, double>> ItemSource2 { get; set; }

可能Xaml代码:

<oxy:Plot>
 <oxy:LineSeries ItemSource="{Binding ItemSource}" />
</oxy:Plot>

我在示例中没有找到这样的用例。有人可以给我小费吗?

Is there a way, to bind the series of a OxyPlot in XAML, if I don't know, how many series I will have?

没有,没有。

Does someone have maybe a tipp for me?

正如您已经发现的那样,您可以在视图模型中创建一个 PlotModel,然后绑定到该视图模型并向其添加系列。

the official docs 中提供了代码示例:

public class MainViewModel
{
    public MainViewModel()
    {
        this.MyModel = new PlotModel { Title = "Example 1" };
        this.MyModel.Series.Add(new FunctionSeries(Math.Cos, 0, 10, 0.1, "cos(x)"));
    }

    public PlotModel MyModel { get; private set; }
}

XAML:

<oxy:PlotView Model="{Binding MyModel}"/>

如果您不想使用 PlotModel,您可以创建一个 attached behaviour 来添加系列。