【问题标题】:Multiple Series Charts with WPFtoolkit使用 WPFtoolkit 的多个系列图表
【发布时间】:2011-02-15 10:58:12
【问题描述】:

你们中有人知道用 wpftoolkit 创建多个系列图表的方法吗?简而言之,我想要的是对相同的独立值有更多的依赖值。到目前为止,我找不到任何全面的机制来使其正常工作。任何帮助都深表感谢。

【问题讨论】:

    标签: c# wpf wpftoolkit silverlight-toolkit


    【解决方案1】:

    如果你想要一个包含两个 LineSeries 的图表

    您的 .cs 文件中可能有 2 个不同的列表,其中包含数据:

    List<KeyValuePair<DateTime, int>> llistaGastats = new List<KeyValuePair<DateTime, int>>();
    List<KeyValuePair<DateTime, int>> llistaPreu = new List<KeyValuePair<DateTime, int>>();
    

    然后您必须创建另一个列表来对这两个列表进行分组:

    var dataSourceList = new List<List<KeyValuePair<DateTime, int>>>();
    dataSourceList.Add(llistaGastats);
    dataSourceList.Add(llistaPreu);
    

    并将其分配给DataContext

    lineChart.DataContext = dataSourceList;
    

    在您的 .xaml 文件中,您应该创建一个带有两个 LineSeriesChart,并使用 ItemSource 字段获取每行的值。

    这是 .xaml:

    <chartingToolkit:Chart Name="lineChart"
                                           Title="Consum KW" 
                                           VerticalAlignment="Top" 
                                           Margin="0,58,58,0" 
                                           Height="382"
                                           Grid.Column="1">
                    <chartingToolkit:LineSeries Name="KWG"
                                                    Title="KW Gastats"  
                                                    DependentValuePath="Value" 
                                                    IndependentValuePath="Key"
                                                    ItemsSource="{Binding [0]}"
                                                    IsSelectionEnabled="True"/>
                    <chartingToolkit:LineSeries Name="KWP" 
                                                    Title="Preu KW"  
                                                    DependentValuePath="Value" 
                                                    IndependentValuePath="Key"
                                                    ItemsSource="{Binding [1]}"
                                                    IsSelectionEnabled="True" />
                </chartingToolkit:Chart>
    

    ItemsSource="{Binding [0]}" 绑定分配给 DataContext 的列表中的第一项。 ItemsSource="{Binding [1]}" 绑定第二个

    【讨论】:

      【解决方案2】:

      您可能需要考虑alternatives,根据过去的经验,WPF 工具包中的图表组件非常僵化且难以扩展。我还遇到了许多工具包中的错误问题,积极的开发似乎完全停止了。有一些非常好的免费替代品值得考虑。

      【讨论】:

      • 嗨,汤姆,感谢您的回答。除了继续使用 WPFtoolkit,我别无选择。我们几乎完成了 BI 产品开发的一半,除了使用该工具包之外别无他法。如果您对我之前的问题有任何满意的答案,即使它部分满足要求,也请与我们分享。再次感谢。
      【解决方案3】:

      Beat Kiener 在Databinding Multi-Series Charts 上有一篇很棒的文章。在其中,他实现了自己的MultiChart 类,派生自Chart

      这对你来说可能为时已晚,但至少它可以帮助其他人。

      【讨论】:

        【解决方案4】:

        为每个系列创建一个包含一列的数据表,将五个列系列(如果是柱形图和五个系列)添加到图表中,并为每个列名添加 DependentValueBinding,将 ItemsSource 设置为数据表(每列的 ItemsSource 相同系列)。

        如果您希望我添加代码,请告诉我。

        【讨论】:

          猜你喜欢
          • 2013-10-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多