c# - 下面两个 ObservableCollections 的功能是否相同?

标签 c# wpf observablecollection

假设如下:

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

两者都使用绑定(bind)到 WPF UI 中的 ListBox

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

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

注意:这是一个粗略的示例。请不要对我说得过于字面化。 :)

最佳答案

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

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

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

关于c# - 下面两个 ObservableCollections 的功能是否相同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18493330/

相关文章:

c# - 当 UAC 被拒绝时,Process.Start 永远不会返回

c# - 更新绑定(bind) Observable 集合的一个元素

c# - 命名空间 http ://schemas. 中不存在名称 'DockingManager"xceed.com/wpf/xaml/avalondock

c# - RenderTargetBitmap 模糊

wpf - WPF 中的架构命名空间和程序集引用之间有什么区别?

wpf - 如何使用 CollectionView 功能处理 CompositeCollection?

wpf - 可观察集合项的更改未反射(reflect)在数据网格中

c# - 如何在 Xamarin Android 中更改 TabLayout 中的颜色图标?

c# - WPF中使用INotifyPropertyChanged绑定(bind)系统相关信息

c# - mongodb中的数据引用