ChartFXのWinFormsバージョンと一緒にWinFormsを使用しており、チャートをメタファイルに変換してクリップボードに配置しようとしています。以下のコードでメタファイルが正しく作成されていることは確かですが、アプリケーションにコピーして別のアプリケーションに貼り付けようとすると失敗します。
using (var memoryStream = new MemoryStream())
{
chart1.Export(FileFormat.Metafile, memoryStream);
memoryStream.Position = 0;
var metaFileImage = Image.FromStream(memoryStream);
var dataObj = new DataObject();
dataObj.SetData(DataFormats.EnhancedMetafile, metaFileImage);
Clipboard.SetDataObject(dataObj);
}
メタファイルをクリップボードに正しくコピーするにはどうすればよいですか? Clipboard.SetImage(metaFileImage); も試しました。それをビットマップに変換しました。Clipboard.SetData(metaFileImage.GetType().FullName, metaFileImage); も試しました。しかし、それは元のコードと同じことをしていますか?
面倒なことに、ChartFX のツールバーからこれを行うことができますが、コマンドが公開されていないため、ユーザーが Ctrl+C を押しても呼び出すことができません。