2017-02-26 15 views
0

我想要获取在UserControl中显示的图表。在Window中执行时,它工作正常。在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时,图表不显示。改变这个假错误,它的工作。

相关问题