假设以下内容:

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} />


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

注意:这是一个粗糙的示例。请不要对我太客气。 :)

最佳答案

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

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


它们将是等效的。 get; set;只是第二个示例的简写。如果您想在getter或setter中添加任何额外的逻辑(例如实现INotifyPropertyChanged),则必须将整个内容写出来。如果只需要简单的获取和设置,则上述内容是同一回事。

10-04 23:26