WPF动态数据显示不显示线图

时间:2014-07-26 20:07:21

标签: c# wpf plot

我写了一个简单的应用程序,我想绘制它计算的一些数据。我在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')

1 个答案:

答案 0 :(得分:0)

使用ObservableDataSource而不是CompositeDataSource。只要添加值,就会引发DataChanged事件,图表应自行更新。

如果您必须向XAML添加水平/垂直轴,我不会放心。