【问题标题】:Silverlight toolkit and multi series chart bindingSilverlight 工具包和多系列图表绑定
【发布时间】:2013-01-07 15:41:16
【问题描述】:

我正在努力弄清楚为什么我在多个系列柱形图上的绑定不起作用。从我能够通过网络上的示例看到的内容来看,我看不出我所做的逻辑有任何问题,但也许我错过了一些东西。据我所知,它是受支持的。

这是我的图表控件:

<toolkit:Chart x:Name="myChart" Margin="10">
            <toolkit:ColumnSeries 
            Title="Orion"
            IndependentValueBinding="{Binding Date}"
            DependentValueBinding="{Binding Orion}"
            AnimationSequence="FirstToLast">
            </toolkit:ColumnSeries>
            
            <toolkit:ColumnSeries                 
            Title="Access Card"
            IndependentValueBinding="{Binding Date}"
            DependentValueBinding="{Binding AccessCard}"
            AnimationSequence="FirstToLast">
            </toolkit:ColumnSeries>

            <toolkit:ColumnSeries                 
            Title="Time Keeper"
            IndependentValueBinding="{Binding Date}"
            DependentValueBinding="{Binding TimeKeeper}"
            AnimationSequence="FirstToLast">
            </toolkit:ColumnSeries>

        </toolkit:Chart>

这是我正在尝试实现的一些测试代码:

private void OrionWebService_ChartComilerCompleted(object sender, ChartCompilerCompletedEventArgs e)
  {
     List<ChartClass> mytest = new List<ChartClass>();
     mytest.Add(new ChartClass
                   {
                      Date = Convert.ToDateTime("01/01/2013 12:00:00 PM"),
                      Orion = 3.0,
                      AccessCard = 4.0,
                      TimeKeeper = 6.0
                   });

     mytest.Add(new ChartClass
                   {
                      Date = Convert.ToDateTime("01/02/2013 12:00:00 PM"),
                      Orion = 6.0,
                      AccessCard = 4.0,
                      TimeKeeper = 8.0
                   });

     ((ColumnSeries)myChart.Series[0]).ItemsSource = mytest;
     BusyIndicator.IsBusy = false;
  }

图表类

    public class ChartClass
   {
      public DateTime Date { get; set; }
      public double Orion { get; set; }
      public double AccessCard { get; set; }
      public double TimeKeeper { get; set; }
   }

现在我只是通过了一些测试数据,最终虽然我试图在日期范围内的每一天实现一个具有 3 个垂直列的图表。类似于下图:

由于某种原因,尽管当控件加载时,除了一个 Labeled Orion 之外,它没有为任何列填充任何数据。如果我从 xaml 中删除 Orion 系列并仅定义 TimeKeeper 和 AccessCard,则 TimeKeeper 系列可以工作但不显示 AccessCard 数据。它似乎只绑定到第一个定义的系列,而忽略了图表中所有其他系列的绑定。 silverlight 工具包是否不支持我正在尝试做的事情?

谁能帮帮我?或者至少为我指出一个例子的方向。我似乎无法发现我所做的事情有什么问题。

提前致谢。

【问题讨论】:

    标签: silverlight graph charts toolkit


    【解决方案1】:

    抱歉,我发现问题是在 Code behind 中引起的,因为我只定义了 series[0] 的项目源,而不是其他项目源。问题用以下代码解决:

    ((ColumnSeries)myChart.Series[0]).ItemsSource = mytest;
    ((ColumnSeries)myChart.Series[1]).ItemsSource = mytest;
    ((ColumnSeries)myChart.Series[2]).ItemsSource = mytest;
    

    不漂亮,但我的图表现在工作正常

    【讨论】:

      猜你喜欢
      • 2013-06-12
      • 1970-01-01
      • 2010-12-08
      • 1970-01-01
      • 2011-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多