でXmlnsDefinitionを使用する方法:「WPFSample」と呼ばれるWPFのサンプルアプリケーションおよび「ReferencedAssembly」と呼ばれるクラスライブラリプロジェクトを。 "WPFSample"は "ReferencedAssembly"を参照します。私は2つのプロジェクトとソリューション持っVB.net
プロジェクトは「ReferencedAssembly」クラスのカップルが含まれています。すべてのクラスには独自の名前空間、つまり「MyClassLibrary」または「MyClassLibrary.MyOtherTypes」があります。名前空間 "MyClassLibrary"を持つサンプルクラスは "Movie"と呼ばれます。
今、私はURLを使用してXAML名前空間に.NET名前空間をマップする「http://schemas.emmbee.de/」。この目的のために、私は「WPFSample」プロジェクトでAssemblyInfo.vbに以下の行を追加し、その後それを構築:
Imports System.Windows.Markup
<Assembly: XmlnsPrefix("http://schemas.emmbee.de/", "ra")>
<Assembly: XmlnsDefinition("http://schemas.emmbee.de/", "ReferencedAssembly.MyClassLibrary")>
<Assembly: XmlnsDefinition("http://schemas.emmbee.de/", "ReferencedAssembly.MyClassLibrary.MyOtherTypes")>
XAMLで私はこのような名前空間定義を追加:私が欲しい場合は
<xmlns:ra="http://schemas.emmbee.de">
をクラス「ムービー」「http://schemas.emmbee.de」名前空間に存在しないことを、私はエラーが表示さ
<ra:Movie/>
で「ムービー」クラスを使用します。
私が代わりにこのように、名前空間の定義を追加する場合:すべてが正常に動作します
<xmlns:ra="clr-namespace:ReferencedAssembly.MyClassLibrary;assembly=ReferencedAssembly">
。
はXmlnsDefinitionの何が問題になっているのですか?