Не могли бы вы попробовать следующий код и посмотреть, сможете ли вы получить график для отображения, а затем работать оттуда?
MainWindow.xaml.cs
using System.Collections.Generic;
using System.Windows.Forms.DataVisualization.Charting;
using System.Windows;
namespace WpfApplication1
{
public partial class MainWindow : Window
{
Dictionary<int, double> value;
public MainWindow()
{
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.DataSource = value;
chart.Series["series"].XValueMember = "Key";
chart.Series["series"].YValueMembers = "Value";
}
}
}
MainWindow.xaml
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:winformchart="clr-namespace:System.Windows.Forms.DataVisualization.Charting;assembly=System.Windows.Forms.DataVisualization"
Title="MainWindow" Height="392" Width="525">
<StackPanel>
<WindowsFormsHost x:Name="host" Height="300">
<winformchart:Chart x:Name="MyWinformChart" Dock="Fill">
<winformchart:Chart.Series>
<winformchart:Series Name="series" ChartType="Line"/>
</winformchart:Chart.Series>
<winformchart:Chart.ChartAreas>
<winformchart:ChartArea/>
</winformchart:Chart.ChartAreas>
</winformchart:Chart>
</WindowsFormsHost>
</StackPanel>
</Window>
убедившись, что у вас есть ссылки на:
% ProgramFiles% \ Справочные сборки \ Microsoft \ Framework.NETFramework \ v4.0 \ Profile \ Client \ WindowsFormsIntegration.dll
% ProgramFiles% \ Справочные сборки \ Microsoft \ Framework.NETFramework \ v4.0 \ Profile \ Client \ System.Windows.Forms.DataVisualization.dll
% ProgramFiles% \ Справочные сборки \ Microsoft \ Framework.NETFramework \ v4.0 \ Profile \ Client \ System.Windows.Forms.dll
У меня это работает после бесстыдного копирования следующей ссылки