以下两个ObservableCollections是否会起作用?

时间:2013-08-28 16:23:43

标签: c# wpf observablecollection

假设如下:

Public ObservableCollection<string> SomeCollection;
Public ObservableCollection<string> SomeOtherCollection
{
    get{ return SomeCollection; }
    set{ SomeCollection = value; }
}

两者都使用

绑定到WPF UI中的ListBox
<ListBox ItemsSource="{Binding SomeCollection}" />
<ListBox ItemsSource="{Binding SomeOtherCollection} />

假设这样,两者都会自动更新吗?根据我的理解,第一个会,但我对第二个的功能一无所知。

注意:这是一个粗略的例子。请不要和我在一起。 :)

1 个答案:

答案 0 :(得分:3)

第一个示例将无法绑定到UI(只有属性可能绑定到wpf中的UI),但是如果您将其更改为:

Public ObservableCollection<string> SomeCollection { get; set; }

他们是等同的。 get; set;只是第二个例子的简写。如果你想在getter或setter中添加任何额外的逻辑(比如实现INotifyPropertyChanged),你就必须写出整件事。如果你只想要简单的get和set,那么上面的内容是一样的。