C# Silverlight类库的打包ResourceDictionary

C# Silverlight类库的打包ResourceDictionary,c#,silverlight,xaml,resourcedictionary,xap,C#,Silverlight,Xaml,Resourcedictionary,Xap,我有一个silverlight类库(不是顶级应用程序),其中包含多个由不同silverlight应用程序共享的用户控件。我已经检查并取出了几个控件的样式和画笔,并将它们作为资源字典放在一个单独的XAML文件中,作为一个合并的资源字典放在每个控件中。现在,这在我的顶级应用程序中非常有效,只要我将资源字典作为“资源”构建操作,并以这种方式从控件引用它 我真正想做的是将这个资源字典XAML文件作为一个“内容”构建操作复制到顶级XAP中,这样XAML就可以在XAP文件中交换,而无需重建项目。每当我尝试设

我有一个silverlight类库(不是顶级应用程序),其中包含多个由不同silverlight应用程序共享的用户控件。我已经检查并取出了几个控件的样式和画笔,并将它们作为资源字典放在一个单独的XAML文件中,作为一个合并的资源字典放在每个控件中。现在,这在我的顶级应用程序中非常有效,只要我将资源字典作为“资源”构建操作,并以这种方式从控件引用它

我真正想做的是将这个资源字典XAML文件作为一个“内容”构建操作复制到顶级XAP中,这样XAML就可以在XAP文件中交换,而无需重建项目。每当我尝试设置它时,XAML文件将被复制到类库项目的输出bin中,但它永远不会被复制到我的顶级silverlight应用程序项目输出目录或最终的XAP文件中


实现这一目标的最佳方式是什么?XAML资源字典本质上是类库的依赖项,类库(用户控件的)是顶级silverlight应用程序的依赖项。

合并的字典能满足您的需要吗

最佳,

通过project->Add Existing Item->Add as link(对话框中Add按钮上的下拉项),将ControlResources.xaml(您希望在XAP中使用的ResourceDictionary)标记为链接添加到顶级XAP项目中,并将其设置为build as Content,另外。

我正在使用合并的资源字典,因此将样式和画笔保存在单独的XAML文件中,问题是该字典是我的共享Silverlight类库的一部分,而不是Silverlight应用程序。当我将构建操作设置为Content and Copy Always时,它永远不会被复制到我的应用程序XAP文件中。只是试图找到在最终XAP中打包和引用依赖类库中的资源的最佳方法。请查看指定OP处的跨项目合并资源文件。目的是能够在不重建的情况下将共享资源XAML文件从XAP文件中交换出来。Mark文章中引用的共享资源组装策略似乎无法实现这一点。要在不重建的情况下交换这个XAML,需要它是XAP中的一个内容文件(未编译成程序集)。据我所知,实现这一目标的唯一方法是在正在构建的Silverlight应用程序项目中使用一个“内容”构建项-因此,链接的项目文件项是实现这一目标的方法。这似乎是最好的方法,在silverlight应用程序中既有对silverlight类库的引用,又有对其输出文件的链接,这有点烦人。我猜这是它进入XAP的唯一途径,而不需要一些构建后的XAP重新打包黑客。在测试了更多东西之后,这种方法在运行时运行良好,但看起来不“可混合”。在Expression Blend中打开顶级silverlight应用程序时,我遇到了一大堆错误。。。Blend似乎无法跟随项目中指向控件类库的ResourceDictionary的链接。有没有关于如何让Blend发挥出色的想法?如果我无法在Blend中正确打开项目,这个解决方案将无法解决问题。