1

我正在编写一个 SolidWorks 插件,我只能在 Winforms Elementhost 中托管 WPF。现在我想使用来自 Mahapps.Metro 的 Flyout,它取决于托管在 MetroWindow 中。有什么方法可以从 WPF 用户控件中使用 Flyout?我正在使用 .NET 4.6.2、Mahapps.Metro 1.6 和 SolidWorks 2018。

4

2 回答 2

2

看起来我在这里这里找到的信息已经过时了。我刚刚安装了 NuGet 包 Mahapps.Metro 和 Mahapps.Metro.Iconpacks,一切都按预期工作。

如果有人也尝试在 SolidWorks 插件中执行此操作,请确保手动加载新版本的 System.Windows.Interactivity,因为 Solid 正在从应用程序基础目录加载旧版本,这与 Mahapps.Metro 不兼容!

于 2018-03-06T14:03:54.487 回答
0

在使用 Solidworks 的 .NET 插件时要非常小心。如果您的应用程序使用一些第三方 UI 库,则需要将这些引用的程序集复制到宿主应用程序 (sldworks.exe) 目录。出于某种原因,域应用程序是托管 exe 而不是 dll 的应用程序。CLR 将在 sldworks.exe 的目录中查找引用,但没有找到,应用程序会抛出一些令人讨厌的异常,这将使您的 SOLIDWORKS 崩溃。

于 2018-03-16T21:26:40.353 回答