如何在Silverlight Xaml中声明ObservableCollecion

如何在Silverlight Xaml中声明ObservableCollecion,silverlight,xaml,namespaces,.net-assembly,Silverlight,Xaml,Namespaces,.net Assembly,我想在Silverlight Xaml中为ObservableCollection类型的对象添加声明。这就是我所做的 1.添加如下xmlns声明: xmlns:col="clr-namespace:System.Collections.ObjectModel;assembly=System.Windows" <col:ObservableCollection x:TypeArguments="sys:String" x:Key="AnaBase"> <

我想在Silverlight Xaml中为ObservableCollection类型的对象添加声明。这就是我所做的

1.添加如下xmlns声明:

xmlns:col="clr-namespace:System.Collections.ObjectModel;assembly=System.Windows"
    <col:ObservableCollection x:TypeArguments="sys:String" x:Key="AnaBase">
        <sys:String>string1</sys:String>
        <sys:String>string2</sys:String>
        <sys:String>string3</sys:String>
    </col:ObservableCollection>
2.添加如下所示的ObservableCollection声明:

xmlns:col="clr-namespace:System.Collections.ObjectModel;assembly=System.Windows"
    <col:ObservableCollection x:TypeArguments="sys:String" x:Key="AnaBase">
        <sys:String>string1</sys:String>
        <sys:String>string2</sys:String>
        <sys:String>string3</sys:String>
    </col:ObservableCollection>

string1
string2
弦3
3.上面的代码在Vs2010编辑器中运行良好,因为它不报告任何错误

问题是,当我尝试构建这样的xaml时,它总是输出错误,例如 “标记'ObservableCollection'在XML命名空间'clr命名空间:System.Collections.ObjectModel;assembly=System.Windows'中不存在。”
在我看来,编辑和构建VS中的名称空间解析器以不同的方式工作。谁能给我解释一下这种现象吗?非常感谢。

答案:

我终于找到了答案。Silverlight 4不支持泛型。这就是为什么在XAML的Intellisense中无法看到ObservableCollection。

Priyank,非常感谢您的回复。但不幸的是,这个答案在我的情况下不起作用。因为在Silverlight中,类ObservableCollection是在System.Windows.dll中定义的,而不是在System.dll中定义的。