2

ここで私がやろうとしていることです。1 つのチャート コントロールに複数のリスト チャートが必要です。この投稿での 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 Toolkit チャートを作成する

実際には非常にうまく機能しますが、XAMLでこれを行う方法を知りたいです。

ありがとうございました、

4

0 に答える 0