2017-01-07 10 views
-2

ローカル:SomeUserControlNameの参照なしに他の通常のコントロールのようにユーザーコントロールをXAMLで参照することはできますか?xmlns:xxxリファレンスなしのWpf UserControl

例: 代わりの

<local:MyUserControl Prop1="" Prop2=""/> 

私はそれだけで別のTextBlockなどのコントロールや他の....

だった場合、私はすでに試した同様

<MyUserControl Prop1="" Prop2=""/> 

をしたいですカスタムアセンブリxmlDefは動作していません

[assembly: XmlnsDefinition("http://schemas.microsoft.com/winfx/2006/xaml/presentation", 
    "AssemblyName")] 
+0

また、他のコンポーネントの領域と同じXML名前空間に独自のコードをダンプすることは非常に悪いことです。たとえば、すべてのユーザーコードを宣言するのが悪いのと同じ理由です。 'System'名前空間。名前空間には理由があります。 XMLネームスペース名に1文字または2文字を使用すると、そのタイプのネームスペースを使用して宣言することが非常に不便になります。例えば。 'local:'の代わりに 'l:'を使います。 –

答えて

1

XmlnsDefinitionは、外部アセンブリのXAMLコントロール用です。 XAMLコンパイラは事前にコントロールについて知っておく必要があるため、同じアセンブリ内のコントロールには使用できません。

カスタムコントロールを別のプロジェクトに移動すると、個別にコンパイルされるため、XmlnsDefinitionの参照を使用することができます。

関連する問題