2

假设如下:

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

两者都ListBox使用 WPF UI绑定到

<ListBox ItemsSource="{Binding SomeCollection}" />
<ListBox ItemsSource="{Binding SomeOtherCollection} />

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

注意:这是一个粗略的例子。请不要对我过分夸大其词。:)

4

1 回答 1

3

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

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

它们是等价的。这get; set;只是您的第二个示例的简写。如果你想在 getter 或 setter 中添加任何额外的逻辑(比如 implementation INotifyPropertyChanged),你必须写出整个事情。如果你只想要简单的 get 和 set,上面是一样的。

于 2013-08-28T16:24:58.697 回答