首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >绑定WPFToolkit图表时的System.NullReferenceException

绑定WPFToolkit图表时的System.NullReferenceException
EN

Stack Overflow用户
提问于 2012-03-26 19:10:07
回答 1查看 1.2K关注 0票数 0

只要我在视图模型上的属性包含数据,WPFToolkit就会抛出异常,但当它为空时就不会了!

查看:

代码语言:javascript
运行
复制
<UserControl x:Class="ChartView"
    xmlns:DV="clr-namespace:System.Windows.Controls.DataVisualization;assembly=System.Windows.Controls.DataVisualization.Toolkit"
    xmlns:DVC="clr-namespace:System.Windows.Controls.DataVisualization.Charting;assembly=System.Windows.Controls.DataVisualization.Toolkit"
<Grid>
    <DVC:Chart>
        <DVC:Chart.Series>
            <DVC:ScatterSeries ItemsSource="{Binding Data}"
                               DependentValueBinding="{Binding Path=Value}"
                               IndependentValueBinding="{Binding Path=Key}" />
        </DVC:Chart.Series>
    </DVC:Chart>
</Grid>

VIEWMODEL

代码语言:javascript
运行
复制
public class ChartViewModel  
{
    public ObservableCollection<KeyValuePair<int, int>> Data { get; set; }

    public ChartViewModel()
    {
        Data = new ObservableCollection<KeyValuePair<int, int>>();

        //If I uncomment this, the error is thrown upon binding
        //Data.Add(new KeyValuePair<int, int>(1, 10));
    }
}

堆栈跟踪的顶部是:

代码语言:javascript
运行
复制
at System.Windows.Controls.DataVisualization.Charting.ScatterSeries.UpdateDataPoint(DataPoint dataPoint) in C:\dd\WPF_1\src\wpf\src\ControlsPack\WPFToolkit\DataVisualization\Charting\Series\ScatterSeries.cs:line 179
at System.Windows.Controls.DataVisualization.Charting.DataPointSeriesWithAxes.OnDataPointActualIndependentValueChanged(DataPoint dataPoint, Object oldValue, Object newValue) in C:\dd\WPF_1\src\wpf\src\ControlsPack\WPFToolkit\DataVisualization\Charting\Series\DataPointSeriesWithAxes.cs:line 257
at System.Windows.Controls.DataVisualization.Charting.DataPointSeries.OnDataPointActualIndependentValueChanged(Object sender, RoutedPropertyChangedEventArgs`1 args) in C:\dd\WPF_1\src\wpf\src\ControlsPack\WPFToolkit\DataVisualization\Charting\Series\DataPointSeries.cs:line 1322
at System.Windows.Controls.DataVisualization.Charting.DataPoint.OnActualIndependentValuePropertyChanged(Object oldValue, Object newValue) in C:\dd\WPF_1\src\wpf\src\ControlsPack\WPFToolkit\DataVisualization\Charting\DataPoint\DataPoint.cs:line 657
at System.Windows.Controls.DataVisualization.Charting.DataPoint.OnActualIndependentValuePropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) in C:\dd\WPF_1\src\wpf\src\ControlsPack\WPFToolkit\DataVisualization\Charting\DataPoint\DataPoint.cs:line 629
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-27 16:45:18

这个解决方案非常牵强。在我的App.xaml.cs中,我为了本地化而改变了语言(我想用逗号作为小数点),我这样做:

代码语言:javascript
运行
复制
using System.Windows.Markup;
using System.Globalization;


var window = new MainWindowView();
window.Language = XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag);
window.Show();

显然,WPFToolkit不喜欢这样。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9871022

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档