我有一个生产我的可执行文件的主项目。在App.xaml中,我定义了一些基本样式。现在,我想在其他项目中分别在其他库(Dll)中使用此样式。我在stackoverflow中阅读了关于这个问题的所有问题,但它对我不起作用。会不会是因为我想使用主项目引用的库中的样式而遇到这个问题?
谢谢,亚历克斯
发布于 2017-03-23 17:50:43
您应该将这些样式移动到一个单独的Resource Dictionary,它可以被多个项目/应用程序使用。
创建资源字典并将其添加到项目中,然后在App.xaml中引用它:
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="\shared\MyResources.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>发布于 2017-03-23 19:46:39
创建一个新的WPF用户控件库,向此项目添加一个ResourceDictionary,并将样式从App.xaml移动到此ResourceDictionary。然后,从WPF应用程序和要在其中使用这些样式的任何其他应用程序中添加对此新项目的引用( Visual Studio中的项目->添加引用),并将ResourceDictionary合并到App.xaml中
<Application x:Class="WpfApplication1.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="MainWindow.xaml">
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/WpfControlLibrary1;component/ResourceDictionary1.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application>显然,您需要将"WpfControlLibrary1“和"ResourceDictionary1”分别更改为新项目和ResourceDictionary的实际名称。
通过这种方式,您可以将常用样式移动到可在许多不同应用程序中使用的独立程序集。
https://stackoverflow.com/questions/42971397
复制相似问题