ChartingToolKit WPF

WPF
  1. год назад
    Добавлено год назад UsilaDobry

    Доброго дня.
    Пробую нарисовать столбчатый график с помощью библиотеки ChartingToolKit.
    в разметке

    <chartingToolkit:Chart Name="ChartColumn"
                                                       Grid.Column="0"
                                                       Title="Статистика пробега"
                                                       FontFamily="Bookman Old Style"
                                                       FontWeight="Bold"
                                                       Foreground="{StaticResource ControlForeground}"
                                                       BorderBrush="{StaticResource ControlActiveBorderBrush}">
                                <chartingToolkit:ColumnSeries DependentValuePath="Value"
                                                                  IndependentValuePath="Key"
                                                                  ItemsSource="{Binding}"></chartingToolkit:ColumnSeries>
    </chartingToolkit:Chart>

    в коде

    private void ShowColumnChart()
            {
                var статистикаБег = Repository.Select<СтатистикаБег>()
                    .FirstOrDefault(s => s.Пользователь.Статус == true);
    
                List<KeyValuePair<string, float>> valueList = new List<KeyValuePair<string, float>>();
                if (статистикаБег != null)
                {
                    if (статистикаБег.ЯнварьПробег != null)
                        valueList.Add(new KeyValuePair<string, float>("Январь", статистикаБег.ЯнварьПробег.Value));
                    if (статистикаБег.ФевральПробег != null)
                        valueList.Add(new KeyValuePair<string, float>("Февраль", статистикаБег.ФевральПробег.Value));
                    if (статистикаБег.МартПробег != null)
                        valueList.Add(new KeyValuePair<string, float>("Март", статистикаБег.МартПробег.Value));
                    if (статистикаБег.АпрельПробег != null)
                        valueList.Add(new KeyValuePair<string, float>("Апрель", статистикаБег.АпрельПробег.Value));
                    if (статистикаБег.МайПробег != null)
                        valueList.Add(new KeyValuePair<string, float>("Май", статистикаБег.МайПробег.Value));
                    if (статистикаБег.ИюньПробег != null)
                        valueList.Add(new KeyValuePair<string, float>("Июнь", статистикаБег.ИюньПробег.Value));
                    if (статистикаБег.ИюльПробег != null)
                        valueList.Add(new KeyValuePair<string, float>("Июль", статистикаБег.ИюльПробег.Value));
                    if (статистикаБег.АвгустПробег != null)
                        valueList.Add(new KeyValuePair<string, float>("Август", статистикаБег.АвгустПробег.Value));
                    if (статистикаБег.СентябрьПробег != null)
                        valueList.Add(new KeyValuePair<string, float>("Сентябрь", статистикаБег.СентябрьПробег.Value));
                    if (статистикаБег.ОктябрьПробег != null)
                        valueList.Add(new KeyValuePair<string, float>("Октябрь", статистикаБег.ОктябрьПробег.Value));
                    if (статистикаБег.НоябрьПробег != null)
                        valueList.Add(new KeyValuePair<string, float>("Ноябрь", статистикаБег.НоябрьПробег.Value));
                    valueList.Add(new KeyValuePair<string, float>("Декабрь", статистикаБег.ДекабрьПробег.Value));
                }
    ChartColumn.DataContext = valueList;
    }

    при вызове этого метода в строке передачи коллекции в DataContext появляется ошибка
    "Не удается изменить логический дочерний узел данного узла, так как в это время выполняется переход по дереву."
    Что это значит?

  2. С этим вопросом я разобрался. Передал коллекцию в columnSeries.ItemSourse и всё заработало.

или зарегистрируйтесь чтобы ответить