2015-01-31 2 views
0

Я следую this учебник о том, как создать базовую диаграмму воробья. В основном предполагает создание класса ViewModel и настройку ViewModel в DataContext для диаграммы.Предоставление DataContext для диаграммы воробья WP8 из ViewModel

ViewModel:

//Create a model 
public class Model 
{ 
    public double X { get; set; } 
    public double Y { get; set; } 

    public Model(double x,double y) 
    { 
     X = x; 
     Y = y;   
    }  
} 

// Create a ViewModel 
public class ViewModel 
{ 
    public ObservableCollection<Model> Collection { get; set; } 
    public ViewModel() 
    { 
     Collection = new ObservableCollection<Model>(); 
     GenerateDatas(); 
    } 
    private void GenerateDatas() 
    { 
     this.Collection.Add(new Model(0, 1)); 
     this.Collection.Add(new Model(1, 2)); 
     this.Collection.Add(new Model(2, 3)); 
     this.Collection.Add(new Model(3, 4)); 
    } 
} 

Часть XAML:

//Use the viewmodel in the Sparrow Chart 
<sparrow:SparrowChart> 
    <sparrow:SparrowChart.DataContext> 
      **<local:ViewModel/>** 
    </sparrow:SparrowChart.DataContext> 
     <sparrow:SparrowChart.XAxis> 
       <sparrow:LinearXAxis/> 
     </sparrow:SparrowChart.XAxis> 
     <sparrow:SparrowChart.YAxis> 
       <sparrow:LinearYAxis/> 
     </sparrow:SparrowChart.YAxis> 
     <sparrow:LineSeries PointsSource="{Binding Collection}" XPath="X" YPath="Y"/> 

Как я идти об определении локального: пространства имен, а затем включить ViewModel в нем так что он хорошо работает в DataCo NTEXT?

ответ

0

Добавить следующую строчку в XAML-код вашего окна xmlns:local="clr-namespace:Here.Comes.Your.Namespace"

В моем случае это выглядит как

<Window x:Class="MyProgram.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     xmlns:sparrow="http://sparrowtoolkit.codeplex.com/wpf" 
     xmlns:local="clr-namespace:MyProgram" 
     Title="My Program" Height="306" Width="736" MinWidth="680" MinHeight="440"> 

Также на самом деле связать коллекции вы будете использовать, чтобы передавать данные в SparrowChart, DataContext набор диаграммы с вашим экземпляр ViewModel.

/// <summary> 
/// Interaction logic for MainWindow.xaml 
/// </summary> 
public sealed partial class MainWindow 
{ 
    ViewModel myViewModel; 

    public MainWindow() 
    { 
     ... 
     myViewModel = new ViewModel(); 
     mySparrowChart.DataContext = myViewModel; 
    } 
} 

имя элемента управления SparrowChart является mySparrowChart конечно ( <sparrow:SparrowChart Name="mySparrowChart">).

Смежные вопросы