使用来自未引用的dll的DataType在XAML中工作,为什么?

时间:2016-07-08 21:24:22

标签: c# wpf xaml c++-cli

我有d和A,它们都是用C ++ Cli编写的。 A和B都有名称空间SomeNamespace.MyNamespace。 我将C#Application编译为类库I调用dll C. 引用B和C,C引用B。

现在,在dll C中的一个XAML资源中,我声明了以下内容:

xmlns:myNamespace="clr-namespace:SomeNamespace.MyNamespace;assembly=A"

这使我可以访问A中的数据类型,即使A未被引用。所以,我能够做到以下几点:

<DataTemplate DataType="{x:Type myNamespace:SomeClassFromA}">
    <TextBlock Text="This works!"/>
</DataTemplate>

我应该继续使用吗?任何潜在的问题?

修改

我偶然遇到了这个。这似乎是一个黑客,所以我在这里发布了一个问题。目前,我使用接口,A中的每个类都有一个字符串属性DataTemplateKey来知道它使用的是哪个DataTemplate。但是,如果我可以在未来的.Net版本中可靠地使用它,那么它将使我当前的代码更加清晰。

修改2

我现在遇到编译时错误:类型引用无法找到名为的公共类型...

所以,现在它没有用。

0 个答案:

没有答案