2012-03-26 3 views
0

WPFToolkit에서 뷰 모델의 내 속성에 데이터가 포함되어 있지만 비어 있지 않은 경우 예외가 throw됩니다.WPFToolkit 차트 바인딩시 System.NullReferenceException

보기 :

<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> 

뷰 모델 :

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)); 
    } 
} 

스택 추적의 상단은 다음과 같습니다

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 

답변

1

이 솔루션은 아주 멀리 가져온했다. 내 App.xaml.cs를 나는 수행하여 현지화를 위해 (내가 소수점으로 쉼표를 원) 언어를 변경 :

using System.Windows.Markup; 
using System.Globalization; 


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

물론, WPFToolkit이 마음에 들지 않습니다.

관련 문제