2017-02-26 3 views
0

UserControlに表示されるグラフを取得しようとしています。ウィンドウでそれをするとき、うまく動作します。WPFプロジェクトのUserControlでwinformchartを使用します。

XAMLコード:

<WindowsFormsHost x:Name="host" Height="300" Width="300"> 
    <winformchart:Chart x:Name="MyWinformChart"> 
    <winformchart:Chart.Series> 
     <winformchart:Series Name="series" ChartType="Line"/> 
    </winformchart:Chart.Series> 
    <winformchart:Chart.ChartAreas> 
     <winformchart:ChartArea/> 
    </winformchart:Chart.ChartAreas> 
    </winformchart:Chart> 
</WindowsFormsHost> 

そして、背後にあるコード:

using System.Collections.Generic; 
using System.Windows.Controls; 
using System.Windows.Forms.DataVisualization.Charting; 

namespace DragonLink.View { 
    public partial class TXSpectrumAnalyzer : UserControl { 
     Dictionary<int, double> value; 
     public TXSpectrumAnalyzer() { 
      InitializeComponent(); 

      value = new Dictionary<int, double>(); 
      for (int i = 0; i < 10; i++) 
       value.Add(i, 10 * i); 

      Chart chart = this.FindName("MyWinformChart") as Chart; 
      chart.ChartAreas.Add("Default"); 
      chart.DataSource = value; 
      chart.Series["series"].XValueMember = "Key"; 
      chart.Series["series"].YValueMembers = "Value"; 
     } 
    } 
} 

それだけで正常に動作ウィンドウでこのコードを使用します。 誰かが、なぜこれがUserControlでは動作しないのか、あるいはwinFormチャートを表示するための別の方法があるのか​​教えていただけますか?

ありがとうございました。

答えて

0

問題を解明しました。何らかの理由で、ウィンドウにAllowsTransparencyプロパティがTrueに設定されている場合、グラフは表示されません。このti Falseを変更すると、それは働いた。

関連する問題