2016-05-06 5 views
0

Я создам диаграмму столбчатых столбцов, которая будет отображаться в городах оси x, а по оси Y - количество полов в столбце. Как привязки диаграммы и эти данные:WPF DataVisualization Stacked Column Chart Binding

List<Cities> Cities = new List<Cities>() 
    { 
     new Cities 
     { 
      Name = "Paris", 
      Genders = new Genders() 
      { 
       Man = 350000, 
       Woman = 436000 
      } 
     }, 
     new Cities() 
     { 
      Name = "London", 
      Genders = new Genders() 
      { 
       Man = 698056, 
       Woman = 736982 
      } 
     } 
    }; 

Я пытаюсь создать Серия:

я не знаю, как связывание данных. Спасибо

+0

Это зависит от элемента управления WPF, который вы будете использовать для отображения графика. Обычно для привязки вам нужно использовать 'ObservableCollection ' для 'StackedColumnChart.Series' и привязывать к ним в вашем XAML через' ItemsSource = {{Binding Series} "' – Igor

+0

Вы показали мне, как использовать на моем примере? – bluray

+1

Хороший пример построения диаграмм на [Инструмент Sparrow Toolkit] (https://sparrowtoolkit.codeplex.com/wikipage?title=Create%20a%20Basic%20Chart&referringTitle=SparrowChart). См. WPF - метод 3 – Igor

ответ

1

вы можете попробовать скачать пробную версию LightningChart с прилагаемыми демонстрационными примерами для Winfroms, Wpf с несвязанными, полуподставляемыми и полностью скрепляемыми примерами.

Вы можете легко посмотреть на примеры кода источника, например ExampleStackedBars.

В коде позади вы можете создать поле, которое будет привязываться к свойству диаграммы BarSeriesCollection:

public static readonly DependencyProperty BarSeriesProperty = 
     DependencyProperty.Register(
      "BarSeries", 
      typeof(BarSeriesCollection), 
      typeof(ExampleStackedBars) 
     ); 

    public BarSeriesCollection BarSeries 
    { 
     get { return GetValue(BarSeriesProperty) as BarSeriesCollection; } 
     set { SetValue(BarSeriesProperty, value); } 
    } 

И после того, как создать новый экземпляр и добавить данные в коллекции:

BarSeries = new BarSeriesCollection(); 
GenerateData(); 

В XAML можно легко связать его с помощью этой строки:

<lcusb:LightningChartUltimate.ViewXY> 
      **<lcusb:ViewXY BarSeries="{Binding BarSeries}">** 
       <lcusb:ViewXY.BarViewOptions> 
        <lcusb:BarViewOptions BarSpacing="30" Grouping="ByIndexFitWidth" Stacking="Stack" IndexGroupingFitGroupDistance="20"/> 
       </lcusb:ViewXY.BarViewOptions> 
      </lcusb:ViewXY> 
     </lcusb:LightningChartUltimate.ViewXY> 
</lcusb:LightningChartUltimate> 

или установить обязательный погладить h в дереве свойств

0

Пример в Sparrow toolkit для другого типа диаграммы. Мне нужна сводная гистограмма. Мой график должен быть в х-осевых городах, и для каждого города должно быть несколько значений в столбце. Это моя диаграмма:

<charting:Chart 
      Grid.Column="0" 
      Grid.Row="0" 
      x:Name="StackedColumnChart" 
      Title="Stacked Column" 
      Margin="5"> 
     <charting:StackedColumnSeries> 
     </charting:StackedColumnSeries> 
    </charting:Chart> 

Я не знаю, что такое серия. Серия - это столбцы? Как назначить несколько значений (в моем примере полов) одному столбцу?

Смежные вопросы