2017-04-05 6 views
-1

WinRT_XamlToolkit_Chartライブラリを使用して、UWPプログラムのDataTemplateからグラフをロードしようとしています。 {Binding Property}構文を使用してチャートのタイトルとデータをバインドしていますが、チャートオブジェクトのデータメンバーとしてプロパティをロードしていません。あなたがDataPointクラスを提供しなかったし、あなたがChartコントロールにバインドするデータソースを構築する方法を示していなかったので、私は、私のXAMLデータをUWPにバインドするWinRT_XamlToolKit_Chart

<Charting:Chart HorizontalAlignment="Center" 
       VerticalAlignment="Center" 
       Width="600" 
       Height="400" 
       DataContext="{Binding}" 
       Title="{Binding Title}"> 
    <Charting:LineSeries Title="{Binding Title}" 
         Margin="0" 
         IndependentValuePath="Name" 
         DependentValuePath="Amount" 
         IsSelectionEnabled="True" 
         ItemsSource="{Binding Data}" 
         /> 
</Charting:Chart> 

C#のオブジェクト

public class DataChartNode : ExperimentNode 
{ 
    public DataChartNode(String title, String type) 
    { 
     Type = type; 
     Title = title; 
     Category = "Data Analysis"; 
    } 

    public DataChartNode(String type) 
    { 
     Type = type; 
     Category = "Data Analysis"; 
     Name = type; 
     Title = "Hello"; 
     Length = 0; 
     Data = new List<DataPoint>(); 
    } 

    public DataChartNode() { } 

    public string Type { set; get; } 
    public string Title { set; get; } 
    public int Length { set; get; } 
    public List<DataPoint> Data { set; get; } 
} 

答えて

0

の両方が含まれています私はあなたが参照できるXAMLコードスニペットでうまくいくデータソースコードを作成した簡単なデモを書きました。

XAMLコード(あなたと同じ)

<Charting:Chart 
    Title="{Binding Title}" 
    Width="600" 
    Height="400" 
    HorizontalAlignment="Center" 
    VerticalAlignment="Center" 
    DataContext="{Binding}"> 
    <Charting:LineSeries 
     Title="Title" 
     Margin="0" 
     DependentValuePath="Amount" 
     IndependentValuePath="Name" 
     IsSelectionEnabled="True" 
     ItemsSource="{Binding Data}" /> 
</Charting:Chart> 

コード

public sealed partial class MainPage : Page 
{ 
    private Random _random = new Random(); 
    public MainPage() 
    { 
     this.InitializeComponent(); 
     var data = new List<DataPoint>();   
     for (int i = 0; i < 3; i++) 
     { 
      data.Add(new DataPoint { Name = "Name" + i, Amount = _random.Next(10, 100) });    
     } 
     DataChartNode charnode = new DataChartNode() 
     { 
      Title = "Hello", 
      Data = data 
     };   
     this.DataContext = charnode;  
    } 
} 
public class DataChartNode 
{ 
    public string Type { set; get; } 
    public string Title { set; get; } 
    public int Length { set; get; } 
    public List<DataPoint> Data { set; get; } 
} 
public class DataPoint 
{ 
    public string Name { get; set; } 
    public int Amount { get; set; }  
} 

後ろのそれに何かあれば見つけることの背後にあるコードを確認してください。

関連する問題