2011-07-05 173 views
2

如果我有一个用户控件:Foo.Bar.MyClass,我知道我可以通过声明引用它在XAML:指定XAML类的命名空间不宣而命名空间

xmlns:foobar="clr-namespace:Foo.Bar" 

,然后使用参考

<foobar:MyClass /> 

但是如果我只声明Foo命名空间:

xmlns:foo="clr-namespace:Foo" 

有没有办法让我在我的XAML中参考MyClass作为Foo:Bar.MyClass

回答

0

据我所知,这是不可能的。

您必须为在XAML中使用的类型添加程序集引用。

同样,它不可能与C#。您无法访问使用列表中未包含哪个程序集引用的类型。

+0

但是,根据示例,我实际上声明了程序集引用:'foo'。诀窍是我想索引到该名称空间,而不是声明我想要访问的每个级别。 –

+1

在C#中,你需要引用程序集,但是你不需要在'using'列表中使用它。你可以使用完整的类型名称,比如'System.Windows.Forms.MessageBox.Show(...)'。对于XAML有类似的事情会很有帮助。 – Arek