0

我有一个使用 MVVM Light 工具包的 C# Windows Phone 7.1 项目。在应用程序的一个应用程序页面上,我有一个 Telerik 数据绑定列表框,它绑定到我的视图模型中的一个属性。起初,该属性的返回类型为:

List<string>

对于该返回类型,当我激活“创建数据绑定”对话框以分配列表框的ItemsSource属性时,该属性未显示在“路径”列表框中的候选元素列表中。但是,当我将该属性的返回类型更改为:

ObservableCollection<string>

它立即出现了。将来,如何确定特定控件的 ItemsSource 或其他数据可绑定属性的正确返回类型?

4

1 回答 1

0

你的问题有点令人困惑。两者都完全可以,并且适用于不同的场景。当您不打算更改集合时使用 list<string> ,否则使用 ObservableCollection 。

现在,您可以使用MSDN(请参阅 ItemsSource 属性以查看需要什么属性。从文档中可以看到,ItemsSorce 必须是 IEnumerable,这意味着可以使用从它派生的所有类型。

现在至于真正的问题,为什么您的属性没有出现在 IDE 中,我只能猜测微软希望您始终使用 ObservableCollection,但我不同意这一点。这就是为什么最好通过 Xaml 手动绑定到属性的原因。

于 2013-04-17T04:52:04.770 回答