我創建了下面的XAML,大約(縮短爲簡潔起見):自定義類給我懸而未決的標籤錯誤
<Window ...
xmlns:Models="clr-namespace:Project.Presentation.Models;assembly=Project"
...>
<Window.Resources>
<Models:ProfileCollection x:Key="Profiles" />
</Window.Resources>
</Window>
ProfileCollection被定義爲,簡單地說:
public class ProfileCollection : ObservableCollection<Profile>
{
public ProfileCollection()
{
foreach (Profile p in Configuration.Instance.Profiles)
this.Add(p);
}
// code that handles static added/removed events
}
在此之前,在XAML and Custom Classes on MSDN中規定的要求。
然而,當我嘗試編譯我得到這個錯誤:
錯誤MC3074:標記 'ProfileCollection' 不存在XML命名空間 'CLR-Project.Presentation.Models;裝配=工程' 存在。第18行的位置7.
我也試過:
<Window ...
xmlns:SystemCollections="clr-namespace:System.Collections;assembly=mscorlib"
...>
<Window.Resources>
<SystemCollections:ArrayList x:Key="arrayList" />
</Window.Resources>
</Window>
這工作正常。
public class SomeList : ArrayList { public SomeList() { } }
嘗試使用此對象時出現同樣的錯誤。這是和以前一樣的錯誤。
<Models:SomeList x:Key="arrayList" /> <!-- MC3074 -->
'ProfileCollection'類放在命名空間'Project.Presentation.Models中嗎?另外,如果XAML和類都在'Project'程序集中,請嘗試從xmlns聲明中刪除「assembly = Project」 – sll
刪除「assembly = Project」似乎修復了它。謝謝 - 你應該發佈你的答案,我會投票! – Rob