如何跨多个项目重用相同的XAML UI主题(样式,ControlTemplates等)

时间:2013-01-07 16:02:04

标签: .net wpf visual-studio-2010 theming

我开始研究“Visual Studio做事的方式”,并创建了一个WPF沙箱项目。

我确信我的公司希望为多个项目重复使用相同的UI主题。

所以我创建了这个应用程序项目,并希望创建另一个项目来包含UI主题和样式文件。举个例子,我把它命名为“CompanywideThemingProject”。

Visual Studio为我提供了许多项目模板,例如“WPF应用程序”,“类库”,“控制台应用程序”等。我想要做的就是创建一些XAML词典,可能还有一些带有一些帮助函数的.cs文件用于颜色操作,但我怀疑这可以被认为是“WPF应用程序”。类库描述似乎也不适用,因为我不想创建.dll文件(或者至少我认为我没有)。

目标是拥有一个集中的,版本化的Visual Studio项目,我可以在不同应用程序的多个Visual Studio解决方案中“导入”,这样我就可以确保所有应用程序的视觉样式是一致的。

知道我应该如何构建VS项目/解决方案吗?

感谢阅读!

1 个答案:

答案 0 :(得分:3)

我通常创建一个类库,其中包含我需要的所有内容:

  • 自定义控件
  • 资源词典
  • 各种资源,如图片
  • 自定义.cs文件(例如自定义转换器)

请注意,出于某种原因,Visual Studio 2010不会建议您在类库中添加ResourceDictionary

说实话,我绝对不知道为什么它不会要求我添加它,但我最终使用了一种解决方法:或者:

  • 手动创建.xaml文件,然后将其引用到Visual Studio
  • 创建一个WPF用户控件,然后删除.xaml.cs文件并将xaml用作ResourceDictionary

这一切都适合我,它适用于拥有包含常用控件/ UI材料的集中式项目