2

好的,这就是我想要做的。我需要在单个图表控件中使用多个列表图表。使用 Sheog 在这篇文章中的回答没有任何问题:

https://stackoverflow.com/a/10604545/1836291

问题是直到运行时我才知道需要多少图表。所以我的想法是将其放入项目控件并将数据模板设置为 LineSeries,如下所示:

                       <ItemsControl x:Name="pieChart">
                            <ItemsControl.ItemsPanel>
                                <ItemsPanelTemplate>
                                    <chartingToolkit:Chart DataContext="{Binding}"  Title="Pie Series Demo" Margin="0" Background="#FF48474B" Height="400"/>
                                </ItemsPanelTemplate>
                            </ItemsControl.ItemsPanel>
                            <ItemsControl.ItemTemplate>
                                <DataTemplate>
                                    <chartingToolkit:LineSeries DependentValuePath="Value" IndependentValuePath="Key" ItemsSource="{Binding}" IsSelectionEnabled="True" />
                                </DataTemplate>
                            </ItemsControl.ItemTemplate>
                        </ItemsControl>

还有我的数据:

        List<KeyValuePair<string, int>> valueList = new List<KeyValuePair<string, int>>();
        valueList.Add(new KeyValuePair<string, int>("Developer", 60));
        valueList.Add(new KeyValuePair<string, int>("Misc", 20));
        valueList.Add(new KeyValuePair<string, int>("Tester", 50));
        valueList.Add(new KeyValuePair<string, int>("QA", 30));
        valueList.Add(new KeyValuePair<string, int>("Project Manager", 40));


        List<KeyValuePair<string, int>> valueList2 = new List<KeyValuePair<string, int>>();
        valueList2.Add(new KeyValuePair<string, int>("Developer", 40));
        valueList2.Add(new KeyValuePair<string, int>("Misc", 40));
        valueList2.Add(new KeyValuePair<string, int>("Tester", 40));
        valueList2.Add(new KeyValuePair<string, int>("QA", 40));
        valueList2.Add(new KeyValuePair<string, int>("Project Manager", 20));

        var dataSourceList = new List<List<KeyValuePair<string, int>>>();
        dataSourceList.Add(valueList);
        dataSourceList.Add(valueList2);

        pieChart.DataContext = dataSourceList;

我的感觉是问题出在我的数据绑定的某个地方,但是我对此知之甚少,无法对其进行故障排除。

好吧,我发现了这个:

以编程方式创建 ColumnSeries WPF 工具包图表

它实际上工作得很好,但是我仍然想知道如何在 XAML 中做到这一点。

谢谢,

4

0 回答 0