1

我有一个项目要完成(感谢一名员工在截止日期前辞职)。

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

该项目被扔给我,但我不是 WPF 开发人员。我被告知要让它与 WinForms 一起工作,这是我所知道的。我在几个小时内完成了一个 WinForm 界面,它看起来和 WPF 版本一样好......而且我知道它在做什么。WPF 涉及到我还没学过的voo-doo。

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

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

WPF 接口接受并使用其参数将其ObservableCollection存储在 a中。CollectionViewSourceSource

好的,我立即考虑DataGridView控制并使用其中的DataSource参数。

我走上正轨了吗?

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

4

2 回答 2

2

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

您还可以保留它们并将它们用作“更标准”的集合,这只会导致一些不必要的开销。而且由于满足您的最后期限是最重要的,这可能是要走的路。

于 2011-09-08T15:14:50.793 回答
1

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

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

于 2011-09-08T15:15:51.470 回答