1

すべての設定をAppSettingsからConfigurationSectionsに変換しました。それは間違いなく物事をきれいにしました、しかし私は設定ウィンドウで問題を抱えています。WPFウィンドウでバインディングを使用したい。

  • 各ConfigurationSectionsを依存関係プロパティに格納し、ConfigurationSectionのプロパティにバインドする必要がありますか?
  • ConfigurationManager.GetSectionを呼び出すObjectDataProviderを使用する必要がありますか?
  • これを行う別の方法はありますか?

トピック外:WPFのバインディングは非常に強力であると思いますが、バインディングを作成するのが少し混乱したり、困難な場合があります。XAMLのより良いドキュメントがあればいいのにと思います。

4

1 に答える 1

1

特別なことをする必要はありません。単純な古いプロパティを持つ型にデータバインドできます。依存関係のプロパティに関するすべてのものは、WPFコントロール自体のみを対象としています。バインドするモデルに関しては、特別な制約はありません。INotifyPropertyChangedを実装することは利点ですが、プレーンオールドC#オブジェクト(POCO)にバインドできます。

ただし、ドメインオブジェクトに直接バインドするのではなく(ConfigurationSectionsがその役割に適合しているように見えます)、実際のドメインオブジェクトをカプセル化しながら、ビュー固有の責任を処理するViewModelを明示的に作成することをお勧めします。

Josh Smithの記事Patterns:Model-View-ViewModelデザインパターンを使用したWPFアプリは、WPFでの適切なデータバインディングの優れた入門書です。

于 2009-08-13T04:33:21.417 に答える