Привязка коллекции к диаграмме WPF Toolkit - PullRequest
3 голосов
/ 06 февраля 2012

Вот мои цели:

  • Используя WPF Toolkit, создайте простую столбцовую диаграмму с линейной осью Y и осью X диапазона DateTime.
  • Привязать коллекцию объектов к диаграмме. Каждый объект имеет свойства DateTime (точка данных оси X) и Int32 (точка данных оси Y).

Ниже мой текущий XAML. XAML ниже содержит оси, которые я хочу, однако диаграмма не будет отображать никаких данных:

 <chartingToolkit:Chart Grid.Column="1" Grid.Row="1" Grid.RowSpan="2" Name="ColumnChart" Title="Records Loaded By Date" 
    VerticalAlignment="Top" Height="262">
            <chartingToolkit:Chart.Axes>
                <chartingToolkit:DateTimeAxis  Interval="1" IntervalType="Days"  x:Name="myDateTimeAxis"
                        Orientation="X" Title="Date">
                    <chartingToolkit:DateTimeAxis.AxisLabelStyle>
                        <Style TargetType="chartingToolkit:DateTimeAxisLabel">
                            <Setter Property="StringFormat" Value="{}{0:MM/dd}"/>
                        </Style>
                    </chartingToolkit:DateTimeAxis.AxisLabelStyle>
                </chartingToolkit:DateTimeAxis>
                <chartingToolkit:LinearAxis Orientation="Y" ShowGridLines="True" x:Name="myYAxis"
                            Title="Transactions Loaded"/>
            </chartingToolkit:Chart.Axes>
            <chartingToolkit:Chart.Series>
                <chartingToolkit:ColumnSeries DependentValuePath="TransactionLoadCount" 
        IndependentValuePath="Date" ItemsSource="{Binding Path=LoadStats}" 
        IsSelectionEnabled="True">
                </chartingToolkit:ColumnSeries>
            </chartingToolkit:Chart.Series>
        </chartingToolkit:Chart>

Примечание: Когда я удаляю секцию XML <chartingToolkit:Chart.Axes>...</chartingToolkit:Chart.Axes>, данные ПОЯВЛЯЮТСЯ , но не в том формате, который мне нравится.

Почему диаграмма не отображает данные моей коллекции?

1 Ответ

0 голосов
/ 28 мая 2014

Поскольку вы выяснили это и разместили в комментариях, я остановлюсь на других вещах, которые нужно искать, когда возникнет эта проблема. Примечание для читателей, которые пришли сюда, проблема заключалась в том, что список, связанный с элементом управления, должен содержать> 1 DateTime в коллекции, чтобы отобразить диаграмму.Это ошибка в библиотеке WPF Toolkit. Это может быть исправлено в текущих / будущих версиях WPF Toolkit.

Если это не помогло устранить проблему:

  1. Следите за выходным окном на наличие ошибок выражений при загрузке элемента управления.Если контекст данных диаграммы задан правильно, привязка источника элементов к недоступной коллекции вызовет проблемы.
  2. Убедитесь, что значения DateTime, которые должны использоваться на оси DateTime, имеют значения, которые охватывают как минимум2 дня или любой другой интервал времениЕсли это применимо, попробуйте установить максимальное или минимальное значение.
  3. Используйте процесс исключения, чтобы определить, является ли его ось X или Y причиной проблемы.Закомментируйте XAML оси X и посмотрите, правильно ли отображает ось Y элемент управления.Если это так, закомментируйте ось Y и раскомментируйте XAML оси X и посмотрите, правильно ли он отображается.Если нет, вы знаете, что ваша проблема связана с одной из осей (которая не была закомментирована).
  4. Проверьте правильность вашего StringFormat.Здесь я считаю, что вы можете просто использовать `Value =" MM / dd "
  5. Убедитесь, что вы правильно написали свои свойства для IndependentValuePath и DependentValuePath.

Я нашел ихбыть самыми большими проблемами при составлении графиков, так что это контрольный список, который нужно соблюдать при отладке проблем.Надеюсь, это ответит на многие общие вопросы.Если ответа недостаточно, ответьте сами. OP.

...