2017-01-07 22 views
-2

是否有可能在XAML來引用一樣,如果它是沒有一個地方的參考只是其他正常用戶控件:SomeUserControlName?WPF用戶控件沒有的xmlns:XXX參考

舉例: 而不是

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

我想做

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

一樣,如果它就像一個文本塊或其他另外的控制....

我已經嘗試過自定義組件xmlDef但不工作

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

還請注意,這是很糟糕的形式拋售自己的代碼到同一個XML命名空間已經存在其他組件領域,出於同樣的原因,這將是不好的形式宣佈在例如你的所有的用戶代碼'System'命名空間。名稱空間在那裏是有原因的。您可能會發現,如果您爲XML名稱空間名稱使用一個或兩個字母,則不會發現它爲您的類型使用和聲明名稱空間不太方便。例如。使用'l:'而不是'local:'。 –

回答

1

XmlnsDefinition旨在用於XAML控制來自外國組件。它不能用於相同程序集中的控件,因爲XAML編譯器需要事先知道控件。

移動自定義控件到一個單獨的項目將允許您使用XmlnsDefinition引用,因爲這將分別編譯。