2012-03-17 2 views
1

У меня есть следующий код XAML:Ничего не видно в моей диаграмме, что-то не так с моей привязкой к данным?

    <amq:SerialChart Grid.Column="0" Grid.Row="0" DataSource="{Binding Data}" CategoryValueMemberPath="Date" 
         AxisForeground="White" 
         PlotAreaBackground="Black" 
         GridStroke="DarkGray"> 
         <amq:SerialChart.Graphs> 
          <amq:LineGraph ValueMemberPath="Downfall" Title="Downfall" Brush="Blue" /> 
         </amq:SerialChart.Graphs> 
        </amq:SerialChart> 

И мой код выглядит следующим образом:

namespace DownfallControl 
{ 
    public partial class MainPage : PhoneApplicationPage 
    { 
     private ObservableCollection<DownfallLog> Data = new ObservableCollection<DownfallLog>() 
     { 
      new DownfallLog() { Date = new DateTime(2012, 2, 2), Downfall = 90.1 }, 
      new DownfallLog() { Date = new DateTime(2012, 2, 3), Downfall = 89.6 }, 
      new DownfallLog() { Date = new DateTime(2012, 2, 4), Downfall = 85.6 } 
     }; 

     public MainPage() 
     { 
      InitializeComponent(); 
     } 

     private void MainPage_Loaded(object sender, RoutedEventArgs e) 
     { 
      this.DataContext = this; 

      Data.Add(new DownfallLog() { Date = new DateTime(2012, 2, 6), Downfall = 85.6 }); 
     }   
    } 

    public class DownfallLog 
    { 
     public double Downfall; 
     public DateTime Date; 
    } 
} 

Любой ключ, почему ничего не появляется?

ответ

1

ObservableCollection должен быть публичным и собственностью, так что:

private ObservableCollection<DownfallLog> Data = new ObservableCollection<DownfallLog>() 
    { 
     new DownfallLog() { Date = new DateTime(2012, 2, 2), Downfall = 90.1 }, 
     new DownfallLog() { Date = new DateTime(2012, 2, 3), Downfall = 89.6 }, 
     new DownfallLog() { Date = new DateTime(2012, 2, 4), Downfall = 85.6 } 
    }; 

должен быть таким:

public ObservableCollection<DownfallLog> Data {get;set;} 

Вы можете инициализировать коллекцию в конструкторе.

Они должны быть свойства, а также:

public class DownfallLog 
    { 
     public double Downfall {get;set;} 
     public DateTime Date {get;set;} 
    } 
+0

ли изменение: http://pastebin.com/cX0hXvRn еще не повезло :( – Jason94

+0

@ Jason94: см редактировать – thumbmunkeys