2008-10-19 67 views
4

创建的xmlns参考其他项目,我有这样定义的WPF项目:不能在XAML

 
MyApp.sln 
    MyAppWPF 
    MyApp.Domain 

在在MyAppWPF项目我的XAML文件一个我想引用定义的类MyApp.Domain项目。我有一个项目参考在MyAppWPF到MyApp.Domain。我想创建这样的引用:

 
<Window x:Class="MyAppWPF.Window1" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:local="clr-namespace:MyApp.Domain;assembly=MyApp.Domain" 
    Title="Window1" Height="305" Width="485"> 
    <Window.Resources> 
     <local:MyClass x:Key="mine" /> 
    </Window.Resources> 
</Window> 

我得到一个错误,该组件无法找到,但我可以创造我想在后面的代码来引用类的一个实例,所以我知道我已经正确引用了它。

我该怎么做?我需要一个强名,还是直接引用dll而不是使用项目引用?

+0

嗨特德 - 你有没有解决这个问题? – 2009-06-13 09:12:21

回答

2

检查

  1. 为MyClass的完全合格的名称是MyApp.Domain.MyClass
  2. MyClass的有一个默认的公共构造(不带参数),这样可以XAML实例化它。
0

如果XAML不松(是一个汇编(DLL/EXE)
确保装配有你正在寻找
(右键单击该项目的程序集的引用中编译...)。

如果XAML是松散的,请确保它正在寻找被复制到同一目录组件中的exe文件是从跑。

1

你只需把assembly=MyApp.Domain如果你动态编译松散XAML

如果您刚开始构建您的XAML,请排除该令牌,然后改为xmlns:local="clr-namespace:MyApp.Domain"

0

如果它对任何人都有帮助,只需在命名空间声明的末尾添加;assembly=即可解决我的问题,该声明引用了包含项目本身。例如:

xmlns:local="clr-namespace:YourProjectNameSpace;assembly="