1

私は自分がクランクアウトしなければならないプロジェクトを持っています(締め切り前に仕事を辞めた従業員のおかげで)。

彼はWPFで働いていました。インターフェイスはかっこいいように見えましたが、会社の古いデータアクセスDLLからデータを収集することはできませんでした。(DLLの書き換えは素晴らしいアイデアですが、期限までに残された短期間では実現できません)データの収集が重要でした!

プロジェクトは私に投げかけられましたが、私はWPF開発者ではありません。私はそれをWinFormsで動作させるように言われました。それは私が知っていることです。私は数時間でWinFormインターフェースをクランクアウトしました、そしてそれはWPFバージョンと同じくらいよく見えます...そして私はそれが何をしているのか知っています。WPFには、まだ学習していないブードゥー教が含まれます。

WPFプロジェクトで使用されているものの中には、それらが何をしているのかを把握する必要があるものがあり、すべてを完全に再設計する時間がありません。

ビジネスロジックレイヤーは、ObservableCollectionをWPFインターフェイスに返します。

WPFインターフェイスは、を取得し、そのパラメーターを使用しObservableCollectionてに格納します。CollectionViewSourceSource

OK、私はすぐに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 に答える