2017-03-03 1 views
6

LiveCharts에서 실제로 일어나야 할 것이 무엇인지 이해하는 데 어려움을 겪고 있습니다. 뒤에 여기LiveCharts의 기초 - 어떻게 선을 그립니까?

<Grid> 
    <Grid.Background> 
     <ImageBrush ImageSource="/CPF;component/Images/background-top-cropped2.png" Stretch="None"></ImageBrush> 
    </Grid.Background> 
    <lvc:CartesianChart Series="{Binding myData}" LegendLocation="Right" x:Name="myChart"> 
     <lvc:CartesianChart.AxisY> 
      <lvc:Axis Title="Sales" LabelFormatter="{Binding YFormatter}"></lvc:Axis> 
     </lvc:CartesianChart.AxisY> 
     <lvc:CartesianChart.AxisX> 
      <lvc:Axis Title="Month" Labels="{Binding Labels}"></lvc:Axis> 
     </lvc:CartesianChart.AxisX> 
    </lvc:CartesianChart> 
</Grid> 

그리고 코드 :

런타임시
public MainWindow() 
{ 
    InitializeComponent(); 
    DrawGraphs(); 
} 
public void DrawGraphs() 
{ 
    LineSeries mySeries = new LineSeries 
    { 
     Values = new ChartValues<int> { 12, 23, 55, 1 } 
    }; 

    myChart.Series.Add(mySeries); 
} 

, 'myChart.Series.Add (mySeries)'null 참조 예외 오류가 발생합니다 나는 여기 XAML의 블록을 가지고있다. 이 문제를 해결하는 방법을 잘 모르겠습니다.

답변

6

MVVM을 사용하지 않고 차트에 직접 시리즈를 추가하기 때문에 XAML에서 모든 바인딩이 필요하지 않습니다. 당신은 단순히이 작업을 수행 할 수 있습니다

XAML :

<Window x:Class="WpfApplication1.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
    xmlns:lvc="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf" 
    xmlns:local="clr-namespace:WpfApplication1" 
    mc:Ignorable="d" 
    Title="MainWindow" Height="350" Width="525"> 
<Grid> 
    <lvc:CartesianChart x:Name="myChart" /> 
</Grid> 

CS를 :

public partial class MainWindow : Window 
{ 
    public MainWindow() 
    { 
     InitializeComponent(); 
     DrawGraphs(); 
    } 
    public void DrawGraphs() 
    { 
     LineSeries mySeries = new LineSeries 
     { 
      Values = new ChartValues<int> { 12, 23, 55, 1 } 
     }; 

     myChart.Series.Add(mySeries); 
    } 
} 

enter image description here

관련 문제