2009-08-20 23 views
2

在我的項目中,我有一個程序集定義了一組WPF控件。我希望能夠在不明確引用XAML代碼中的程序集的情況下使用它們。這就是爲什麼我使用自定義XmlnsDefinition:使用Blend自定義XmlnsDefinition

[assembly: XmlnsDefinition(
    "http://schemas.microsoft.com/winfx/2006/xaml/presentation", 
    "MyProject.Common.WpfLibrary.Markup")] 
[assembly: XmlnsDefinition(
    "http://schemas.microsoft.com/winfx/2007/xaml/presentation", 
    "MyProject.Common.WpfLibrary.Markup")] 
[assembly: XmlnsDefinition(
    "http://schemas.microsoft.com/winfx/2008/xaml/presentation", 
    "MyProject.Common.WpfLibrary.Markup")] 

它在VS2008中的作用就像一個魅力。我可以直接使用標記名稱空間中定義的控件。然而,Blend似乎並不喜歡它,並且無論我嘗試使用控件,都會給我一個「無效的XA​​ML」錯誤。

您有解決方法嗎?

回答

1

對於程序集中的每個CLR名稱空間,您只應該使用XmlnsDefinitionAttribute一次。第二次和第三次分配使用XmlnsCompatibleWithAttribute。