在c# /WPF应用程序中使用MVVM Light时,确定数据绑定的正确属性返回类型



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

List<string>
当我激活Create Data Binding对话框以便分配列表框的ItemsSource属性时,使用该返回类型的属性没有显示在Path列表框中的候选元素列表中。但是,当我将该属性的返回类型更改为: 时
ObservableCollection<string>

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

你的问题有点令人困惑。两者都是完全可以的,并且可以很好地用于不同的场景。使用list当你不打算改变collection时,还有ObservableCollection。

现在,您可以使用MSDN(参见ItemsSource属性来查看哪些属性需要是哪些属性)。正如您可以从文档中看到的,itemssource必须是IEnumerable,这意味着可以使用从它派生的所有类型。

现在至于真正的问题,为什么你的属性没有显示在IDE中,我只能猜测微软希望你总是使用ObservableCollection,但我不同意这一点。这就是为什么最好通过Xaml.

手动绑定属性

最新更新