C# 泛型列表上的WPF绑定

C# 泛型列表上的WPF绑定,c#,.net,wpf,binding,windows-phone-8,C#,.net,Wpf,Binding,Windows Phone 8,在我的WP8项目中,我使用MVVM将一个对象绑定到视图。该对象有一个我需要绑定到LongListSelector上的通用列表。既然我不能将我的列表转换为可观察的,我如何绑定它并进行双向更新 我的对象的示例: 类别:Person 特性: ID-int 名称-字符串 组-组列表。这是我需要在LongListSelector上绑定的属性 ##更新1:## 简言之,我的问题是,我有一个对象,它的导航属性是列表(不是可观察的集合)。当您想在视图上绑定列表导航属性时,最佳做法是什么。多亏了各位的评论,

在我的WP8项目中,我使用MVVM将一个对象绑定到视图。该对象有一个我需要绑定到
LongListSelector
上的通用列表。既然我不能将我的列表转换为可观察的,我如何绑定它并进行双向更新

我的对象的示例:

类别:
Person

特性:

  • ID
    -
    int
  • 名称
    -
    字符串
  • -组列表。这是我需要在
    LongListSelector上绑定的属性

##更新1:##
简言之,我的问题是,我有一个对象,它的导航属性是列表(不是可观察的集合)。当您想在视图上绑定列表导航属性时,最佳做法是什么。

多亏了各位的评论,我最终认为坚持使用通用列表是不可避免的。我将列表更改为ObservableCollection,现在一切正常


我想答案应该归克莱门斯、塞德里克·比格农和塔努乔·洛普所有

我想你的意思是
可观察收集
。要绑定到
属性,它不必是
可观察集合
。您可以绑定到任何
IEnumerable
,因此也可以绑定到
列表
。唯一的缺点是,当项目添加到集合或从集合中删除时,LongListSelector不会自动更新。不过,你可能不需要这个。对不起,我失去了你。团体亲自参与是契约列表中的通用列表。我没有让它成为可观察的收集,因为有理由我需要我的POCO是列表而不是可观察的收集。我在其他视图中有LongListSelector,这些视图绑定在ObserviecSelection上,效果很好。是否有任何方法可以绑定LongListSelector上的Person.Groups as(List)并仍然具有双向绑定?当然,您可以简单地绑定到
Groups
属性。LongListSelector将显示最初包含在组列表中的项。但是,如果以后向列表中添加项目,绑定将不会自动更新LongListSelector以显示新项目(这就是
ObservableCollection
所做的)。我不知道你说的双向绑定是什么意思?LongListSelector是否允许更改项目集合,即添加或删除项目?我现在进行绑定,正如您所说的,它只在第一次显示组列表。我有一个上下文菜单,可以为那个人添加或删除组。我需要某种技术来更新我的视图,当更改(添加或删除)发生在Person上时。Groups@YiannisStavrianos你知道你的名单什么时候变了吗?