我写了一个简单的应用程序,我想绘制它计算的一些数据。我在Google上遇到了Dynamic Data Display
,看起来就像我需要的那样,除了我无法让情节出现。
我有以下XAML:
<Window ... xmlns:d3="http://research.microsoft.com/DynamicDataDisplay/1.0" ..>
<d3:ChartPlotter Name="plotter" Background="Cornsilk" Grid.Row="3" Grid.Column="1">
<d3:Header>
<TextBlock HorizontalAlignment="Center" FontSize="20">Very simple chart</TextBlock>
</d3:Header>
<d3:HorizontalAxisTitle>This is horizontal axis</d3:HorizontalAxisTitle>
<d3:VerticalAxisTitle>This is vertical axis</d3:VerticalAxisTitle>
<d3:Footer>
<TextBlock HorizontalAlignment="Center" FontSize="10" FontStyle="Italic">
Footer example
</TextBlock>
</d3:Footer>
</d3:ChartPlotter>
此C#链接到按钮的onClick
事件:
int[] xarr = { 2, 4, 6 };
int[] yarr = { 1, 1, 1 };
EnumerableDataSource<int> x = new EnumerableDataSource<int>(xarr);
EnumerableDataSource<int> y = new EnumerableDataSource<int>(yarr);
CompositeDataSource toplot = new CompositeDataSource(x, y);
plotter.AddLineGraph(toplot);
当我点击按钮时,注释的右上角会显示LineGraph
,但没有可见的线条。我很感激能帮到你的工作。
更新
我在调试控制台中注意到以下错误消息:
System.Windows.Data Error: 4 : Cannot find source for binding with reference 'RelativeSource FindAncestor, AncestorType='System.Windows.Controls.ItemsControl', AncestorLevel='1''. BindingExpression:Path=VerticalContentAlignment; DataItem=null; target element is 'MenuItem' (Name=''); target property is 'VerticalContentAlignment' (type 'VerticalAlignment')
答案 0 :(得分:0)
使用ObservableDataSource而不是CompositeDataSource。只要添加值,就会引发DataChanged事件,图表应自行更新。
如果您必须向XAML添加水平/垂直轴,我不会放心。