为什么使用IEditableCollectionView?

时间:2011-09-08 15:09:30

标签: c# wpf winforms ieditablecollectionview

我有一个项目我必须要做出来(感谢员工在截止日期之前辞职)。

他一直在WPF工作。界面看起来很酷,但它从来没有能够从公司的旧数据访问DLL收集数据。 (重写DLL是一个好主意,但在截止日期之前的短时间内不可行)收集数据是重点!

该项目被抛向我,但我不是WPF开发人员。我被告知要使用WinForms,这就是我所知道的。我在几个小时内完成了一个WinForm界面,它看起来和WPF版本一样好......我知道它在做什么。 WPF涉及voo-doo我还没有学到。

WPF项目中使用的东西我需要掌握它们的作用,而我没有时间完全重新设计它。

业务逻辑层向WPF接口返回ObservableCollection

WPF界面使用ObservableCollection并使用其CollectionViewSource参数将其存储在Source中。

好的,我马上想DataGridView控制并使用DataSource参数。

我是否正常?

IEditableCollectionView有什么意义?有必要吗?如果没有,我应该删除对它的所有引用吗?

2 个答案:

答案 0 :(得分:2)

ObservableCollection,CollectionViewSource等在WPF的MVVM(MVC ... +)方案中很重要。您可以删除它们,但您当然可以在WinForms项目中重用它们。实际上,这样做可能更好,以保持UI和数据之间的清晰分离。

你也可以坚持使用它们并将它们用作“更标准”的集合,这只会导致一些不必要的开销。因为满足你的截止日期至关重要,所以这可能是最佳选择。

答案 1 :(得分:1)

使用可观察集合,以便在添加,删除或刷新集合时可以参与其他控件。这有助于保持整个UI同步。就IEditableCollectionView而言,它会引发INotifyPropertyChanged事件,以便在更新集合中的属性时自动更新WPF表单上的控件。

如果您在WinForms中执行此操作,则只需在收集更改时引发事件。