Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
合并来自不同项目的XAML资源和样式时出现问题_Xaml_Styles_Resourcedictionary - Fatal编程技术网

合并来自不同项目的XAML资源和样式时出现问题

合并来自不同项目的XAML资源和样式时出现问题,xaml,styles,resourcedictionary,Xaml,Styles,Resourcedictionary,我正在创建许多WPF应用程序,它们都与一个中心WPF应用程序相关,并且需要共享相同的样式和资源。首先,我在我的主项目中创建了一个文件夹,并添加了一些XAML样式,所有这些样式都用于以我想要的样式显示UI。 后来,我创建了另一个应用程序,但希望共享相同的样式,因此我将样式移动到第三个项目中,将该项目添加到主应用程序中,并将引用添加到样式项目中。 问题是他们不会认可我的风格项目。我用项目名称作为样式的前缀,但这根本不起作用 现在,我可以在ResourceDictionary的path部分中输入xam

我正在创建许多WPF应用程序,它们都与一个中心WPF应用程序相关,并且需要共享相同的样式和资源。首先,我在我的主项目中创建了一个文件夹,并添加了一些XAML样式,所有这些样式都用于以我想要的样式显示UI。 后来,我创建了另一个应用程序,但希望共享相同的样式,因此我将样式移动到第三个项目中,将该项目添加到主应用程序中,并将引用添加到样式项目中。 问题是他们不会认可我的风格项目。我用项目名称作为样式的前缀,但这根本不起作用

现在,我可以在ResourceDictionary的path部分中输入xaml文件的整个相对路径,这是可行的。但是,如果我将项目移动到另一个文件夹,则该操作将失败。我想你可能会问我为什么要这么做,原因有很多,比如简单地重构我的项目结构。因此,通过引用而不是文件来处理资源会更容易

我知道答案是几英寸远,但我无法从另一个项目中找到任何与样式相关的内容


到目前为止,我从这个网站得到了很好的反馈,任何帮助都将不胜感激。

好的,我已经使用了它!基本上,将样式添加到单独项目中的一组资源字典中,然后将该项目添加到解决方案中,并在主项目中引用它。我做到了这一点,但需要从我的主项目中的资源中引用xaml资源文件

我尝试使用完整路径名,但尽管这样做有效,但这不是一个很好的解决方案,因为如果我移动我的项目并重新链接它,文件将因为无效而失效

我使用的有效语法如下所示:

<ResourceDictionary Source="/StyleResource;component/MSResources/TabControl.xaml" />

其中,StyleResources是保存共享样式的项目的名称,MSResources是保存xaml文件的样式项目中的文件夹,最后的文件名很明显。 我还没有读过关于“组件”的参考资料,但它是有效的,所以我会在以后看它并更新这篇文章