WPF MVVM Chartplotter:动态绑定多个行

时间:2015-12-10 22:02:05

标签: c# .net wpf xaml mvvm

我试图让WPF Chartplotter与一些WPF MVVM一起工作。作为我感兴趣的目标,我选择了TeamCity Tests Performance。目前的绘图仪看起来像这样:

        <dd:ChartPlotter Grid.Row="1">
            <dd:ChartPlotter.HorizontalAxis>
                <dd:HorizontalIntegerAxis />
            </dd:ChartPlotter.HorizontalAxis>
            <dd:ChartPlotter.VerticalAxis>
                <dd:VerticalIntegerAxis/>
            </dd:ChartPlotter.VerticalAxis>

            <dd:VerticalAxisTitle Content="Performance in Minutes" FontSize="10" />
            <dd:HorizontalAxisTitle Content="Build by ID" FontSize="10" />

            <dd:LineGraph DataSource="{Binding TestRunsPerformance, IsAsync=True}" Stroke="Green" StrokeThickness="2">
                <dd:LineGraph.Description>
                    <dd:PenDescription DescriptionString="Test" />
                </dd:LineGraph.Description>
            </dd:LineGraph>

            <dd:LineGraph DataSource="{Binding TestSlowRunsPerformance, IsAsync=True}" Stroke="Red" StrokeThickness="2">
                <dd:LineGraph.Description>
                    <dd:PenDescription DescriptionString="TestSlow" />
                </dd:LineGraph.Description>
            </dd:LineGraph>
        </dd:ChartPlotter>
    </Grid>

所以我基本上有两个测试类别,每个我在绘图仪中显示一个LineGraph,它绑定​​到ViewModel中的EnumerableDataSource。不幸的是我无法测试它,但我确定它会以这种方式工作,因为一个LineGraph到目前为止工作。 这很酷,但现在我想用影响最大的单元测试制作第二张图表。但为此,我不能在XAML中创建LineGraph并绑定,但我需要类似LineGraph Collection的东西并动态设置一些LineGraphs。既然我也在学习MVVM,那将会很麻烦如果我真的需要在Code中做到这一点。 不幸的是,到目前为止我发现的所有例子都是这样做的,例如:Dynamic Line chart in C# WPF Application

我还找到了一些示例,使其适用于Canvas:Is it possible to bind a Canvas's Children property in XAML?,但这些是UIElements,而不是PlotterElements。

我正在尝试甚至是在做什么,或者我做了一些根本错误的事情?

0 个答案:

没有答案