多个解决方案之间的共享app.xaml

问题描述:

我即将创建多个WPF项目。 我使用样式来修改应用程序的外观和感觉,并将它们放到app.xaml中。多个解决方案之间的共享app.xaml

但现在我有问题,我需要在每个项目中都有相同的样式。 由于将app.xaml内容复制并粘贴到每个项目是一个非常糟糕的主意,我正在寻找解决方案来集中app.xaml以访问每个项目的样式。

+0

可能的重复:[使用后期构建事件将文件从一个项目复制到另一个项目](http://*.com/questions/11001822/copy-files-from-one-project-to-another-using -post-build-event-vs2010) –

+0

不,我不想使用后期构建事件并在项目之间复制文件。有一个可以参考的*项目会更好。另外一个解决方案是将外部文件放入应用程序使用的所有必要声明中。 – SyLuS

您可以在您的一个项目中创建一个通用样式文件。例如,这可能是一个GenericStyles.xml文件,其中包含您的样式和资源。

在其他项目中,您可以添加该文件为纽带:右键点击一个项目 - >添加 - >现有项... - >选择GenericStyles.xml文件 - >打开下拉菜单在上加入按钮 - >选择添加为链接

所以,现在你有一个文件,将成为所有项目的一部分。

在每个项目中的的App.xaml,你可以使用这个标记添加您的样式和资源:

<ResourceDictionary> 
    <ResourceDictionary.MergedDictionaries> 
    <ResourceDictionary Source="GenericStyles.xml"/> 
    </ResourceDictionary.MergedDictionaries> 
</ResourceDictionary> 

现在,你就必须改变只有一个文件中的“主”项目,以及其他项目会自动应用这些更改。

+1

完美。感谢您提供非常好的逐步指导。这正是我所寻找的。轻松处理由多个解决方案/项目共享的*资源文件。我会解决你的答案......但仍然没有它的声音=( – SyLuS

+0

但是资源没有在设计时链接。所以即时通讯在disigner中的错误,因为我使用BasedOn引用样式=“{StaticResource myButtonStyle}”使用触发器扩展样式颜色引用可以是DynamicResource,但BasedOn dosent允许DynamicResources运行应用程序正常工作 – SyLuS

+0

@SyLuS,可能是这样的,我没有检查所有可能的资源使用情况。 XAML设计器相当不稳定,有时会因为奇怪的原因而失败。您可能会在Visual Studio支持站点上为此打开一个问题。 – dymanoid