Windows Presentation Foundation 可以在无需使用 WinForms Interop 或 Win32 的情况下读取/写入 WMF/EMF 文件。
如果没有,原因是什么?
在 MSDN 上快速搜索会发现一个帖子,其中包含 Microsoft 的 PM 佩吉·古德温 (Peggi Goodwin) 的帖子:
WPF 不支持 EMF 和 WMF 图像格式。这些格式比其他图像格式更容易受到安全漏洞的影响,因此我们不打算支持它们。
我做的 !!!
我在我的真实代码中使用了 ComponentOne 的 WPF 图表,但为了使示例简单,我只是做了一个按钮。但它确实适用于复杂的 wpf 小部件。字体、透明度、AntiAlias 等一切正常。我可以粘贴到 Word 中并更改图表上的标签等。
基本上,我将 XAML 抽取到 XPS,然后将其导入回 XAML。
然后我使用了一个名为 XAMLToys 的将 XAML 转换为 WMF 的开源项目。
XAMLToys 将在 99% 的情况下失败,因为您无法序列化复杂的 XAML 对象
http://softronix.com/download/WpfToWmfClipboard.zip
对这两个项目大加赞赏
http://khason.net/blog/converting-fixeddocument-xpsdocument-too-to-flowdocument/