2016-07-06 53 views

回答

2
  • 可綁定圖表API:DependencyProperties,基於的ObservableCollection-列表和數據輸入。綁定一切。在XAML中配置。與競爭對手相比,性能好,但不如半可綁或不可綁定。性能差異尤其在使用數百個系列和數百萬個數據點時顯示出來。

    • 半綁定圖表API:DependencyProperties,在列表ObservableCollections。數據輸入是基於數組的,並且必須在代碼隱藏中完成。所以你可以綁定UI設置和圖表對象,但只是用代碼提供數據。非常好的表現。

    • 非可綁定圖表API:沒有DependencyProperties,沒有任何列表或數據輸入中的ObservableCollections。常規屬性和代碼隱藏用法。最佳性能和多線程功能。如我們的demo application所示,可以實時監控超過10億個點。

與可綁定的圖表API,您可以配置圖表,並結合這樣

<Window x:Class="BindingExamplePointLineSeries.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:lcub="http://schemas.arction.com/bindablecharting/ultimate/" 
    x:Name="thisTest" 
    Title="MainWindow" Height="350" Width="525"> 
<Grid> 
    <lcub:LightningChartUltimate> 
     <lcub:LightningChartUltimate.ViewXY> 
      <lcub:ViewXY> 
       <lcub:ViewXY.YAxes> 
        <lcub:AxisY/> 
       </lcub:ViewXY.YAxes> 
       <lcub:ViewXY.XAxes> 
        <lcub:AxisX/> 
       </lcub:ViewXY.XAxes> 
       <lcub:ViewXY.PointLineSeries> 
        <lcub:PointLineSeries Points="{Binding ElementName=thisTest, Path = Points}" PointsVisible="True"/> 
       </lcub:ViewXY.PointLineSeries> 
      </lcub:ViewXY> 
     </lcub:LightningChartUltimate.ViewXY> 
    </lcub:LightningChartUltimate> 
</Grid> 

public partial class MainWindow : Window 
{ 
    public MainWindow() 
    { 
     InitializeComponent(); 

     Random rand = new Random(); 
     SeriesPointCollection points0 = new SeriesPointCollection(); 
     for (int i = 0; i < 10; i++) 
     { 
      SeriesPoint p = new SeriesPoint(); 
      p.X = i; 
      p.Y = rand.NextDouble() * 10.0; 
      points0.Add(p); 
     } 
     Points = points0; 
    } 

    public static readonly DependencyProperty PointsProperty = 
     DependencyProperty.Register(
      "Points", 
      typeof(SeriesPointCollection), 
      typeof(MainWindow) 
    ); 

    public SeriesPointCollection Points 
    { 
     get { return GetValue(PointsProperty) as SeriesPointCollection; } 
     set { SetValue(PointsProperty, value as Object); } 
    } 
} 

,然後你會得到你的數據綁定圖表: WPF data binding chart

+0

好爆分歧的差異。我只注意到你的套件中有獨立的綁定項目,我會開始瀏覽它們。感謝這個簡單的例子。 –