2012-02-06 80 views
3

这里是我的目标:绑定集合WPF工具包图表

  • 使用WPF工具包,创建具有线性Y轴和一个DateTime范围X轴的简单柱形图。
  • 将一组对象绑定到图表。每个对象都有一个DateTime(X轴数据点)和Int32(Y轴数据点)属性。

下面是我目前的XAML。下面的XAML有我想然而,图表将不提供任何数据轴:

<chartingToolkit:Chart Grid.Column="1" Grid.Row="1" Grid.RowSpan="2" Name="ColumnChart" Title="Records Loaded By Date" 
    VerticalAlignment="Top" Height="262"> 
      <chartingToolkit:Chart.Axes> 
       <chartingToolkit:DateTimeAxis Interval="1" IntervalType="Days" x:Name="myDateTimeAxis" 
         Orientation="X" Title="Date"> 
        <chartingToolkit:DateTimeAxis.AxisLabelStyle> 
         <Style TargetType="chartingToolkit:DateTimeAxisLabel"> 
          <Setter Property="StringFormat" Value="{}{0:MM/dd}"/> 
         </Style> 
        </chartingToolkit:DateTimeAxis.AxisLabelStyle> 
       </chartingToolkit:DateTimeAxis> 
       <chartingToolkit:LinearAxis Orientation="Y" ShowGridLines="True" x:Name="myYAxis" 
          Title="Transactions Loaded"/> 
      </chartingToolkit:Chart.Axes> 
      <chartingToolkit:Chart.Series> 
       <chartingToolkit:ColumnSeries DependentValuePath="TransactionLoadCount" 
     IndependentValuePath="Date" ItemsSource="{Binding Path=LoadStats}" 
     IsSelectionEnabled="True"> 
       </chartingToolkit:ColumnSeries> 
      </chartingToolkit:Chart.Series> 
     </chartingToolkit:Chart> 

注:当我删除XML部分<chartingToolkit:Chart.Axes>...</chartingToolkit:Chart.Axes>数据会出现但不是我喜欢的格式。

为什么图表不显示我的收集数据?

+0

http://stackoverflow.com/questions/4762455/wpf-toolkit-february-2010-release-chart-with-column-series-empty-when-itemssou 图表似乎只有在有多个集合中的项目。我正在测试一个元素的集合。 – Josh 2012-02-06 18:05:20

+0

我从来没有使用WPF的图表控件,但我最终可能会最终。请让我知道这个问题是怎么回事。 – 2012-02-06 18:16:51

+1

@jberger - 我遇到的是工具包中的一个错误。错误是:如果我的集合中存在1个元素,那么图表将不会呈现任何数据。 当我的集合包含> 1个元素时,则按预期控制渲染。所以我想解决方法是确保你的集合有多个元素。祝你好运! – Josh 2012-02-06 19:32:02

回答

0

既然你找到了它,并将它发布在评论中,我将扩展其他事情以寻找何时会发生此问题。 请注意,来到这里的读者,问题是绑定到控件的列表需要在集合中包含> 1 DateTime才能显示图表。这是WPF Toolkit库中的一个错误。这可能会在当前/未来版本的WPF Toolkit中修复。

如果没有解决您的问题:

  1. 观看你的输出窗口任何绑定表达式错误时,控制负荷。如果图表的数据上下文设置正确,将项目源绑定到不可用的集合将导致问题。
  2. 确保在DateTime轴上使用的DateTime值具有跨越至少2天的值,或者您的间隔设置为任何值。如果适用,请尝试设置最大值或最小值。
  3. 使用消除过程来确定其X轴或Y轴是否导致问题。注释掉X轴XAML并查看控件是否正确显示Y轴。如果是这样,注释掉Y轴并取消X轴XAML的注释并查看它是否正确显示。如果不是,你知道你的问题是与其中一个轴(没有注释掉)。
  4. 检查您的StringFormat是否正确。在这里,我相信你可以使用'Value =“MM/dd”
  5. 确保你正确拼写了你的属性IndependentValuePathDependentValuePath

我发现这些是图表制作过程中遇到的最大问题,因此这是调试问题时要遵循的清单。希望这会回答很多一般性问题。如果它不足以作为答案,你应该自己回答OP。