我有一个项目我必须要做出来(感谢员工在截止日期之前辞职)。
他一直在WPF工作。界面看起来很酷,但它从来没有能够从公司的旧数据访问DLL收集数据。 (重写DLL是一个好主意,但在截止日期之前的短时间内不可行)收集数据是重点!
该项目被抛向我,但我不是WPF开发人员。我被告知要使用WinForms,这就是我所知道的。我在几个小时内完成了一个WinForm界面,它看起来和WPF版本一样好......我知道它在做什么。 WPF涉及voo-doo我还没有学到。
WPF项目中使用的东西我需要掌握它们的作用,而我没有时间完全重新设计它。
业务逻辑层向WPF接口返回ObservableCollection
。
WPF界面使用ObservableCollection
并使用其CollectionViewSource
参数将其存储在Source
中。
好的,我马上想DataGridView
控制并使用DataSource
参数。
我是否正常?
IEditableCollectionView
有什么意义?有必要吗?如果没有,我应该删除对它的所有引用吗?
答案 0 :(得分:2)
ObservableCollection,CollectionViewSource等在WPF的MVVM(MVC ... +)方案中很重要。您可以删除它们,但您当然可以在WinForms项目中重用它们。实际上,这样做可能更好,以保持UI和数据之间的清晰分离。
你也可以坚持使用它们并将它们用作“更标准”的集合,这只会导致一些不必要的开销。因为满足你的截止日期至关重要,所以这可能是最佳选择。
答案 1 :(得分:1)
使用可观察集合,以便在添加,删除或刷新集合时可以参与其他控件。这有助于保持整个UI同步。就IEditableCollectionView而言,它会引发INotifyPropertyChanged事件,以便在更新集合中的属性时自动更新WPF表单上的控件。
如果您在WinForms中执行此操作,则只需在收集更改时引发事件。