我正在创建许多WPF应用程序,这些应用程序都涉及一个中央WPF应用程序,需要共享相同的样式和资源。首先,我在我的主项目中创建了一个文件夹,并添加了一些XAML样式,这些样式都以我想要的样式显示UI。 后来,我创建了另一个应用程序但想要共享相同的样式,所以我将样式移动到第三个项目,将该项目添加到主应用程序并添加对样式项目的引用。 问题是不会识别我的样式项目。我将样式与项目名称作为前缀,但根本不起作用。
我现在已经到了可以在ResourceDictionary的Path部分输入xaml文件的完整相对路径并且可以工作的地步。但是,如果我将项目移动到另一个文件夹,那么这将失败。我想你可能会问为什么我会这样做而且有原因,比如简单地重构我的项目结构。因此,通过引用而不是文件来更容易地处理资源。
我知道答案是几英寸远,但我找不到任何与另一个项目的样式相关的内容。
到目前为止,我从本网站获得了很好的反馈,非常感谢任何帮助。
答案 0 :(得分:1)
我尝试使用完整路径名,但是虽然有效,但这不是一个很好的解决方案,因为如果我移动我的项目并重新链接它,该文件将因为无效。
我使用的语法如下:
<ResourceDictionary Source="/StyleResource;component/MSResources/TabControl.xaml" />
其中StyleResources是包含我的共享样式的项目的名称,MSResources是样式项目中包含xaml文件的文件夹,最后的文件名很明显。 我还没有读过关于“组件”参考的内容,但它确实有效,所以我稍后会看一下并更新这篇文章。