动态数据显示图表

动态数据显示图表

问题描述:

我试图重新被称为“图线传说”中的以下链接计算其它下的示例,http://research.microsoft.com/en-us/um/cambridge/projects/ddd/d3isdk/动态数据显示图表

我使用WPF不silverligth,并有越来越问题以下XAML部分的参考。

<d3:Chart.LegendContent> 
    <d3:LegendItemsPanel> 
     <d3:LegendItemsPanel.Resources> 
      <DataTemplate x:Key="Microsoft.Research.DynamicDataDisplay.LineGraph"> 
       <StackPanel Orientation="Horizontal"> 
        <CheckBox IsChecked="{Binding Path=Visibility, Converter={StaticResource VisibilityToCheckedConverter}, Mode=TwoWay}"/> 
        <Line Width="15" Height="15" X1="0" Y1="0" X2="15" Y2="15" Stroke="{Binding Path=Stroke}" StrokeThickness="2"/> 
        <TextBlock Margin="5,0,0,0" Text="{Binding Path=Description}"/> 
       </StackPanel> 
      </DataTemplate> 
     </d3:LegendItemsPanel.Resources> 
    </d3:LegendItemsPanel> 
</d3:Chart.LegendContent> 

感谢

+0

是否可以使用Silverlight控件在WPF桌面应用程序? – guilhermecgs 2013-04-30 17:41:06

与D3开始时,我遭遇了同样的困惑。据我所知,它最初是为WPF开发的,然后用作在Silverlight中构建相同功能的跳板。因此,您在网上看到的示例有一些差异和一些其他功能,您在WPF版本中不会看到这些功能。

其中之一,WPF版本中不存在类“图表”。您更可能使用“ChartPlotter”作为图表。与“Legend”和“LineLegendItem”相同,而不是“LegendContent”和“LegendItemsPanel”。这可能是在那里你试图去:

<d3:ChartPlotter> 
    <d3:Legend> 
     <d3:LineLegendItem> 
      <d3:LineLegendItem.Resources> 
       <DataTemplate StackPanel with checkbox> 
      </d3:LineLegendItem.Resources> 
     </d3:LineLegendItem> 
    </d3:Legend> 
</d3:ChartPlotter> 

我没有亲自使用这些类,所以我没有这个Silverlight的例子相匹配的第一手资料,但我希望这是足以让你离开地面并进行试验。

我强烈建议从下载on the official D3 page看看例子。我最近发现,你可以查看他们的样本背后的代码,这是烦恼地不包括在下载,online here。 (Stable> v0.3.1> src> Samples,找到您想要检查的示例)。

我没有看到有任何确切的例子,在图例中有一个复选框,但是您的方法似乎应该在您开始访问正确的类时运行。

另外,我假设你使用以下行,而不是Silverlight的一个,引用库:

xmlns:d3="http://research.microsoft.com/DynamicDataDisplay/1.0" 
+2

谢谢,@Ross。我在这里找到了解决方案:http://social.msdn.microsoft.com/Forums/en-US/wpfzhchs/thread/8b8dbcd5-e1f9-450e-b146-87d7acbee72b 它是中文,但你可以使用谷歌翻译。工作正常! – guilhermecgs 2013-05-02 16:30:20