WPF Toolkit: привязка диаграммы к представлению данных с использованием поставщика объектных данных

Я пытаюсь создать диаграмму, используя представление данных, которое возвращается из таблицы набора данных. Я создал объект поставщика данных на C#, который использует набор данных и адаптер таблицы, созданные с помощью мастера источников данных. Объект поставщика данных имеет метод, который возвращает представление по умолчанию для таблицы после ее заполнения.

Часть извлечения данных работает нормально, я могу видеть данные, если привязываю к ней сетку данных. Мой вопрос: как мне связать представление данных с гистограммой (или любой диаграммой)? Мои независимые данные представляют собой текстовый столбец в представлении данных, а зависимые данные представляют собой числовое значение. Когда я запускаю этот код, я получаю ошибку времени выполнения, подобную этой:

Установка свойства «System.Windows.Controls.DataVisualization.Charting.DataPointSeries.DependentValueBinding» вызвала исключение». Номер строки «17» и позиция строки «18».

Что я делаю не так?

<Window xmlns:chartingToolkit="clr-namespace:System.Windows.Controls.DataVisualization.Charting;assembly=System.Windows.Controls.DataVisualization.Toolkit"  xmlns:my="clr-namespace:Microsoft.Windows.Controls;assembly=WPFToolkit"   x:Class="GraphingTest.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:local="clr-namespace:GraphingTest"
        Title="MainWindow" Height="350" Width="525">

    <Window.Resources>
        <ObjectDataProvider ObjectType="{x:Type local:CustomDataProvider}"  x:Key="odp1">            
        </ObjectDataProvider>
        <ObjectDataProvider ObjectInstance="{StaticResource odp1}" MethodName="GetQualitativeData" x:Key="odp2">

        </ObjectDataProvider>
    </Window.Resources>
    <ScrollViewer>
    <StackPanel DataContext="{Binding Source={StaticResource odp2}}">
            <chartingToolkit:Chart  >
                <chartingToolkit:ColumnSeries DependentValueBinding="MyNumberValue" IndependentValueBinding="MyTextLabel" ItemsSource="{Binding}">

                </chartingToolkit:ColumnSeries>

            </chartingToolkit:Chart>
        </StackPanel>
    </ScrollViewer>
</Window>

Вот мой объект поставщика данных С#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using GraphingTest.MyDataSetTableAdapters;

namespace GraphingTest
{
    public class CustomDataProvider
    {
        // construct the dataset
        MyDataSet dataset;

        MyDataTableAdapter adapter;

        public CustomDataProvider()
        {

            dataset = new MyDataSet();
            adapter = new MyDataTableAdapter();
            // use a table adapter to populate the Customers table
            adapter.Fill(dataset.MyData);
        }

        public DataView GetQualitativeData()
        {


            // use the Customer table as the DataContext for this Window
            var x= dataset.MyData.DefaultView;
            return x;
        }
    }
}

person FistOfFury    schedule 20.06.2012    source источник


Ответы (1)


<chartingToolkit:ColumnSeries DependentValueBinding="MyNumberValue" IndependentValueBinding="MyTextLabel" ItemsSource="{Binding}"> 

Вероятно, должно быть:

<chartingToolkit:ColumnSeries DependentValueBinding="{Binding MyNumberValue}" IndependentValueBinding="{Binding MyTextLabel}" ItemsSource="{Binding}"> 

OR

<chartingToolkit:ColumnSeries DependentValuePath="MyNumberValue" IndependentValuePath="MyTextLabel" ItemsSource="{Binding}"> 
person a little sheep    schedule 21.06.2012