现代用户界面(WPF):尝试在类库

时间:2017-10-02 21:14:27

标签: wpf

我试图将MUI框架用于现有的WPF控件(WPF控件在类库中)。我查看了现代窗口的MUI示例,并尝试复制我在App.xaml中找到的resourceDictionary。

 <UserControl.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="/FirstFloor.ModernUI;component/Assets/ModernUI.xaml" />
                <ResourceDictionary Source="/FirstFloor.ModernUI;component/Assets/ModernUI.Light.xaml"/>                 
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>           
    </UserControl.Resources>

在设计时,UI似乎已经改变的问题(查看数据) enter image description here

但是在运行期间,我得到异常(xamlparse exeption),它有一个内部异常,说它无法找到文件或程序集FirstFloor.ModernUI。

我已经使用nuget包含MUI框架,dll的副本到本地是真的。

我也试过

<ResourceDictionary Source="pack://application:,,,/FirstFloor.ModernUI;component/Assets/ModernUI.xaml" /> 
<ResourceDictionary Source="pack://application:,,,/FirstFloor.ModernUI;component/Assets/ModernUI.Light.xaml"/>

并且它不起作用。

任何帮助都会受到赞赏!

1 个答案:

答案 0 :(得分:0)

pack://application:显然适用于调用应用程序。在我的例子中,编译的dll是从exectuable(第三方供应商SOLIDWORKS)调用的。我不得不将FirstFloor.ModernUI dll粘贴到解决问题的SOLIDWORKS可执行文件的文件夹中。

如果有人能提供更好的答案(不涉及这种手动干预),我会勾选答案。