Так что я использую диаграмму WPFToolKit как ColumnSeries. Когда я первоначально загружаю экран, значения данных правильно заполняются в диаграмме. Однако, когда я пытаюсь обновить данные, данные диаграммы не обновляются.C# WPFToolKit Chart не обновляется при обновлении контекста данных
Я уже пробовал решение, приведенное здесь Update and refresh wpf chart, где я называю свои столбцы и обновляю DataContext для колонок вместо диаграммы, но это дало тот же результат.
Вот XAML для моей диаграммы
<chartingToolkit:Chart Height="262" HorizontalAlignment="Left" Margin="120,0,0,213" Name="Chart_Payout" Title="Payout Threshold Results" VerticalAlignment="Bottom" Width="360">
<chartingToolkit:ColumnSeries Name ="ColumnSeries_Payout" DependentValuePath="Value" IndependentValuePath="Key" ItemsSource="{Binding}" Title="Payout" />
</chartingToolkit:Chart>
Вот метод я использую, чтобы обновить мой график
private void FillPayoutChart()
{
chartValues.Clear();
chartValues.Add(new KeyValuePair<string, decimal>("$" + Payout_In.ToString("#,##0.00") + " In", Payout_In));
chartValues.Add(new KeyValuePair<string, decimal>("", 0));
chartValues.Add(new KeyValuePair<string, decimal>("$" + Payout_Out.ToString("#,##0.00") + " Out", Payout_Out));
ColumnSeries_Payout.DataContext = chartValues;
}
Payout_In и Payout_Out являются десятичные, объявленные в классе WPF окна. Когда окно открыто, диаграмма успешно заполняется информацией. Однако, когда я пытаюсь обновить эту информацию после загрузки окна, диаграмма не освежает новый контекст данных.
Любые указания относительно того, что мне нужно сделать, чтобы обновить контекст данных в значениях диаграммы?
Где вы называете 'FillPayoutChart()' from? Вы пытались поставить точку останова рядом с 'chartValues.Clear()', чтобы увидеть, действительно ли «FillPayoutChart()» попадает? – devuxer
Я вызываю его в конструкторе окна, а также кнопку для обновления. Как я уже сказал, он работает в первый раз, когда он вызывается, когда окно действительно загружается. Однако, как только я вызываю его после загрузки окна, он заполняет новый контекст данных, но фактически не обновляет диаграмму, которую видит пользователь. Конечно, это вызов метода. –