.NETでプロットするための
多くのライブラリがあります。 Microsoftのソリューションを支持する選択肢は、.NET Framework 4に組み込まれているため、サードパーティのライブラリを必要としないという事実に感銘を受けました。 欠点が1つありますが、Windows Formsフォームでのみ操作できます。WPFフォームでは、コンポーネントを使用したフルタイムの作業は提供されません。 このため、「チャートコンポーネントをフォームにドラッグする」という言葉で始まるすべてのマニュアルは、
森の中を歩いても問題の解決にはまったく役立ちませんでした。
最初に、WPFフォームでWindowsフォームコンポーネントを使用する方法を決定する必要がありました。 これを行うには、
MSDNの指示に従って判断して、 WindowsFormsIntegrationおよび
System.Windows.Formsへのリンクを追加する必要があります。 また、XAMLフォームドキュメントの<Window>要素と<WindowsFormsHost>要素に名前空間を追加する必要があります。これらの要素は、その後、必要なWindowsフォームコンポーネントをホストします。
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:wfi="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration" xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"> <StackPanel> <WindowsFormsHost></WindowsFormsHost> </StackPanel> </Window>
これで、Windows Formsコンポーネントを使用する準備がすべて整いましたが、コンポーネントをフォームに実装する作業はすべて手動で行う必要があります。
System.Windows.Forms.DataVisualization.Chartingプロジェクトに接続し、名前空間をXAMLドキュメントに追加し、コンポーネント自体をフォームに追加します。
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" ... xmlns:dvc="clr-namespace:System.Windows.Forms.DataVisualization.Charting; assembly=System.Windows.Forms.DataVisualization"> <StackPanel> <WindowsFormsHost><dvc:Chart x:Name="chart" /></WindowsFormsHost> </StackPanel> </Window>
Microsoftの素晴らしいプロジェクトがあります。WindowsFormsのChartコンポーネントで作業する多くの例が含まれています。 ただし、Windows Formsコードのコンポーネントを生成する環境は、開発者が行ったコンポーネントの設定に基づいてInitializeComponent()メソッド自体で生成されるため、すぐに起動することはできません。 WPFフォームのコンポーネントコンフィギュレータを呼び出す方法が見つからなかったため、例のコードを使用する前に、手動で2、3行のコードを追加する必要があります。
using System.Windows.Forms.DataVisualization.Charting; ... private void Window_Loaded(object sender, RoutedEventArgs e) {
その結果、素晴らしいスケジュールが得られ、最も重要なことには、サードパーティのライブラリはありません。
