在Elementhost中使用Mahapps.Metro Flyouts

时间:2018-03-01 11:55:00

标签: wpf mahapps.metro solidworks elementhost

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

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

使用solidworks的.NET加载项时要非常小心。如果您的应用程序使用某些第三方UI lib,则需要将这些引用的程序集复制到主机应用程序(sldworks.exe)目录。出于某种原因,域应用程序是托管exe而不是dll。 CLR将在sldworks.exe的目录中查找引用,但它找不到,该应用程序会抛出一些令您讨厌的SOLIDWORKS的异常异常。