我有一个silverlight类库(不是顶级应用程序),其中包含由不同的silverlight应用程序共享的多个用户控件。我已经完成并为控件提取了几种样式和画笔,并将它们放在单独的XAML文件中作为资源字典,作为合并资源字典带入每个控件。现在,只要我将该资源字典作为“资源”构建操作并以这种方式从控件中引用,就可以在我的顶级应用程序中很好地工作。Silverlight类库的打包ResourceDictionary
我真的很想做的就是将这个资源字典的XAML文件作为一个“内容”构建操作,它被复制到顶层的XAP中,这样XAML就可以在XAP文件中被换出而不需要重建项目。每当我尝试设置它时,XAML文件将被复制到类库项目的输出文件夹中,但它永远不会被复制到我的顶级Silverlight应用程序项目输出目录或最终的XAP文件中。
完成此操作的最佳方法是什么? XAML资源字典本质上是类库的依赖关系,(用户控件的)类库是顶级Silverlight应用程序的依赖关系。
这似乎是最好的方法,只是有一种烦人的方式,既有Silverlight类库的引用,也有Silverlight应用程序中的其中一个输出文件的链接。猜测这是它在没有一些构建后的XAP重新包装hackery的情况下获得XAP的唯一方法。 – 2009-12-28 19:17:07
在测试了更多东西之后,此方法在运行时正常工作,但似乎不是“可混合的”。在Expression Blend中打开顶级Silverlight应用程序时,我遇到了一大堆错误......似乎Blend无法在控件类库的ResourceDictionary中追踪项目中的链接。关于如何让Blend发挥出色的任何想法?如果我无法在Blend中正确打开项目,此解决方案不会削减它。 – 2009-12-28 21:05:12