首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在wpf应用程序的其他库中使用App.xaml中定义的样式?

如何在wpf应用程序的其他库中使用App.xaml中定义的样式?
EN

Stack Overflow用户
提问于 2017-03-23 17:02:57
回答 2查看 1.3K关注 0票数 0

我有一个生产我的可执行文件的主项目。在App.xaml中,我定义了一些基本样式。现在,我想在其他项目中分别在其他库(Dll)中使用此样式。我在stackoverflow中阅读了关于这个问题的所有问题,但它对我不起作用。会不会是因为我想使用主项目引用的库中的样式而遇到这个问题?

谢谢,亚历克斯

EN

回答 2

Stack Overflow用户

发布于 2017-03-23 17:50:43

您应该将这些样式移动到一个单独的Resource Dictionary,它可以被多个项目/应用程序使用。

创建资源字典并将其添加到项目中,然后在App.xaml中引用它:

代码语言:javascript
运行
复制
<Application.Resources>
    <ResourceDictionary>
         <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="\shared\MyResources.xaml"/>
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Application.Resources>
票数 2
EN

Stack Overflow用户

发布于 2017-03-23 19:46:39

创建一个新的WPF用户控件库,向此项目添加一个ResourceDictionary,并将样式从App.xaml移动到此ResourceDictionary。然后,从WPF应用程序和要在其中使用这些样式的任何其他应用程序中添加对此新项目的引用( Visual Studio中的项目->添加引用),并将ResourceDictionary合并到App.xaml

代码语言:javascript
运行
复制
<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的实际名称。

通过这种方式,您可以将常用样式移动到可在许多不同应用程序中使用的独立程序集。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42971397

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档