2013-03-27 18 views
5

私は良いチャートコントロールを探していて、 "Modern UI (Metro) Charts for Windows 8, WPF, Silverlight"を見つけました。 このコントロールは本当にうまく見えますが、 2010および4.0。元のソースはVisual Studio 2012と4.5で書かれているので、クラスファイルで新しいプロジェクトを作成しようとしました。すべてがうまくいく。クラスをコンパイルしてデバッグすることができます。しかし結果は空のウィンドウです。 私は間違いがどこにあるかわかりません。私はいくつかの写真を投稿、なぜファイルが変わらないのthatsのとおりです。.net 4.0用の「Windows 8、WPF、Silverlightの現代的なUI(メトロ)チャート」

4.0サンプルをコピーし the working sample

ワーキングサンプル copied 4.0 sample

ワーキングサンプルスヌープ the working sample Snoop

コピー4。 0サンプルスヌープ copied 4.0 sample Snoop

答えて

0

は、私はそれがVS2010で動作するように取得するには二つのことをしなければなりませんでした。最初は、ChartBase用のDataContextを設定するときにデータバインドが行われていないことでした。その結果、プロットするデータはありませんでした。私はその後をループし、すべてのデータバインディングを設定し、コンテンツをロードすることLoadDataTemplateを使用するようにChartBase.OnSeriesSourceChangedを変更することを修正するには:

private void OnSeriesSourceChanged(IEnumerable oldValue, IEnumerable newValue) 
{ 
    this.Series.Clear(); 
    if (newValue != null) 
    { 
     foreach (object item in newValue) 
     { 
      if (SeriesTemplate != null) 
      { 
       ChartSeries series = LoadDataTemplate<ChartSeries>(SeriesTemplate, item); 
       if (series != null) 
       { 
        // set data context 
        series.DataContext = item; 
        this.Series.Add(series); 
       } 
      } 
     } 
    } 
    UpdateGroupedSeries(); 
} 

private static T LoadDataTemplate<T>(DataTemplate template, object dataContext) 
    where T : FrameworkElement 
{ 
    DependencyObject element = template.LoadContent(); 
    T view = element as T; 
    view.DataContext = dataContext; 

    var enumerator = element.GetLocalValueEnumerator(); 
    while (enumerator.MoveNext()) 
    { 
     var bind = enumerator.Current; 

     if (bind.Value is BindingExpression) 
     { 
      view.SetBinding(bind.Property, ((BindingExpression)bind.Value).ParentBinding); 
     } 
    } 

    return view; 
} 

第二に、私は正しいGeneric.xamlファイルを含むにプロジェクトを変更しなければなりませんでした。 De.TorstenMandelkow.MetroChart.WPF/Themesの下にあるものを使用してください。 BaseChartStyleを含める必要があります。

HTH

2

新しいメトロチャートは本当に良いです!あなたが言及したように、彼らはWindows 8と.net 4.5をターゲットにしていますが、Windows 7でもVS 2010で.net 4.0を実行できるようにすることができます。開始方法の簡単なチュートリアルが必要な場合は、http://thusithamabotuwana.wordpress.com/2014/02/02/charting-with-wpf/をご覧ください。

関連する問題