【问题标题】:Simple Bar Chart with WPF Toolkit?带有 WPF 工具包的简单条形图?
【发布时间】:2015-03-17 19:16:59
【问题描述】:

我已经尝试按照这个示例来制作带有 MVVM 的简单条形图:

Code Project MVVM Charting

但无法显示任何图表。这是我的视图模型,它公开了 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>

不幸的是,在运行时我的图表中没有任何数据输出。我在输出窗口中遇到绑定错误。无法绑定到值和键:

BindingExpression path error: 'Key' property not found on 'object'
BindingExpression path error: 'Value' property not found on 'object'

我做错了什么?

【问题讨论】:

    标签: c# wpf xaml mvvm charts


    【解决方案1】:

    通过使用适用于 Windows 8、WPF、Silverlight 的 Modern UI (Metro) Charts 解决了这个问题。

    modernuicharts

    很棒的库和现代外观,不再是 Windows 95 样式!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-05
      • 2014-03-15
      • 2018-05-10
      • 2013-10-18
      • 2010-12-17
      • 1970-01-01
      相关资源
      最近更新 更多