我试图按照这个例子来制作一个带有MVVM的简单条形图:
但是无法显示任何图表。这是我的视图模型,它公开KeyValuePair
ObservableCollection
:
private ObservableCollection<KeyValuePair<string, int>> _ChartParametersPairedObservableList;
public ObservableCollection<KeyValuePair<string, int>> ChartParametersPairedObservableList
{
get { return _ChartParametersPairedObservableList; }
set
{
_ChartParametersPairedObservableList = value;
OnPropertyChanged("ChartParametersPairedObservableList");
}
}
并从另一个ObservableCollection
实例化/填充集合:
private void GetChartParametersAndBuildKeyValuePairs()
{
ChartParametersObservableList = new ObservableCollection<ChartParameters>(IsesService.GetChartParameters(Country, ArticleType));
ChartParametersPairedObservableList = new ObservableCollection<KeyValuePair<string, int>>();
foreach (var item in ChartParametersObservableList)
{
ChartParametersPairedObservableList.Add(new KeyValuePair<string, int>(item.operator_name_abrv, item.countAll));
}
}
此集合按预期工作。我知道属性已更改正在工作,因为我可以从视图中将DataGrid
绑定到集合没问题。问题是当我尝试绑定到图表时。
以下是我对图表的Xaml视图:
xmlns:DVC="clr-namespace:System.Windows.Controls.DataVisualization.Charting;assembly=System.Windows.Controls.DataVisualization.Toolkit"
<DVC:Chart Canvas.Top="80" Canvas.Left="10" ItemsSource="{Binding ChartParametersPairedObservableList}" Width="400" Height="250">
<DVC:Chart.Series>
<DVC:BarSeries ItemsSource="{Binding ChartParametersPairedObservableList}"
IndependentValueBinding="{Binding Path=Key}"
DependentValueBinding="{Binding Path=Value}">
</DVC:BarSeries>
</DVC:Chart.Series>
</DVC:Chart>
不幸的是,我在运行时没有在我的图表中获得任何数据输出。我在输出窗口中遇到绑定错误。无法绑定到价值&amp;键:
BindingExpression path error: 'Key' property not found on 'object'
BindingExpression path error: 'Value' property not found on 'object'
我做错了什么?
答案 0 :(得分:0)