Silverlight和XmlnsDefinition

时间:2010-10-25 14:02:48

标签: silverlight xaml silverlight-4.0

考虑3个集会:

  • EntryPoint(SL app)
  • ClassLibraryA
  • ClassLibraryB

ClassLibraryA中有一个类A,ClassLibraryB中有一个类B

EntryPoint引用ClassLibraryA,ClassLibraryA引用ClassLibraryB。

在ClassLibrary1的AssemblyInfo中,我有以下代码:

[assembly: XmlnsPrefix("http://schemas.test.com/sl/", "test")]
[assembly: XmlnsDefinition("http://schemas.test.com/sl/", "ClassLibraryA")]
[assembly: XmlnsDefinition("http://schemas.test.com/sl/", "ClassLibraryB", AssemblyName = "ClassLibraryB")]

AB都是FrameworkElement s

问题在于我的MainPage,当我有这个xaml:

xmlns:test="http://schemas.test.com/sl/"

以下不起作用:

<test:B x:Name="bar" /> 

虽然这有效:

<test:A x:Name="foo" />

为什么不呢?

1 个答案:

答案 0 :(得分:1)

@Snake

在ClassLibraryA的AssemblyInfo.cs中,您需要具有以下内容

[assembly: XmlnsPrefix("http://schemas.test.com/sl/", "test")]
[assembly: XmlnsDefinition("http://schemas.test.com/sl/", "ClassLibraryA")]

在ClassLibraryB的AssemblyInfo.cs中你需要有以下内容,

[assembly: XmlnsPrefix("http://schemas.test.com/sl/", "test")]
[assembly: XmlnsDefinition("http://schemas.test.com/sl/", "ClassLibraryB")]