【问题标题】:Linked Themes/Generic.xaml Files will not work in visual studio 2008链接的主题/Generic.xaml 文件在 Visual Studio 2008 中不起作用
【发布时间】:2009-10-15 14:17:34
【问题描述】:

我有一个正在做的项目,我需要在 silverlight 和 WPF 程序集之间共享代码,问题是即使 wpf 程序集是该文件的所有者 并且silverlight程序集只有一个文件链接,所有的构建动作都是页面,一切都是正确的。如果我将silverlight组件设为所有者,则silverlight可以工作而wpf不会,并且目前wpf是所有者,我根本没有收到任何错误,它只是永远不会像找不到控件那样设置控件样式..

注意:两个项目存在于同一个解决方案中。

此方案构建并运行良好

wpf 项目

|__主题

  |__Generic.xaml
  |__SomeControl.cs

此方案构建并运行,但不会显示控件 如果我将它们从链接更改为正常,它将正常工作。

我只想分享这个源代码,而不是让同一个文件有多个版本。

银光计划

|__主题

  |__"Linked"Generic.xaml
  |__"Linked"SomeControl.cs

对不起,我的老生常谈的树视图表示

+++++++更新+++++++++

我注意到在使用任何链接文件时,无论它是 silverlight 还是 WPF 链接文件不会仅在根目录中构建到资源中的 Themes 文件夹中。 我使用反射器来查看我的资源在编译程序集(包括链接文件)后的最终位置,并且它们最终位于根目录中,因此可以这么说。如果这确实是非预期行为,是否有办法防止或解决此问题。

我真的很想弄清楚这一点,因为它已经让我发疯了一段时间。

【问题讨论】:

  • XAML 是资源字典、页面还是应用程序定义?
  • 它是 Generic.xaml 资源字典文件。如果它们未链接并直接指向文件,则位于主题中,它可以正常工作,但是一旦您链接一个或另一个,它只会在直接指向它的那个中起作用,链接的那个将不起作用。 Build Action 是“Page”

标签: wpf silverlight templates resourcedictionary generic.xaml


【解决方案1】:

Silverlight XAML 和 WPF XAML 没有相同的命名空间 - 因此它们不能直接重用。


我的错误 - 你是对的 - 现在 Silverlight 3 的命名空间是相同的:

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml

XAML 的属性窗格中的构建操作是什么?

【讨论】:

猜你喜欢
  • 2011-01-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-12
  • 2013-10-04
相关资源
最近更新 更多