17

私は SQL DB を持っており、それを更新するために WPF UI を実装しています。EF5 を使用して DB からクラスを生成する場合、UI で簡単にバインドできるように、生成されたクラスとプロパティに INotifyPropertyChanged を実装するにはどうすればよいですか? これを達成する簡単な方法はありますか?

ありがとう

4

5 に答える 5

14

WPF の推奨MVVMパターンに従う場合、生成されたクラスをモデルとして扱い、INotifyPropertyChanged を実装する ViewModel ラッパーを作成できます。ViewModel クラスは DB クラスにアクセスし、XAML で UI にバインドできるプロパティを公開します。

あなたのコメントで述べたように、これは定型コードを書くのに多くの作業をもたらす可能性がありますが、それに対処する方法がいくつかあります。いくつかのアイデアについては、この質問を参照してください。

最初はより多くの作業が必要になりますが、MVVM パターンは、中間の書式設定や処理を行う必要がある場合、または UI に影響を与えずにデータベース クラスを変更する必要がある場合、長期的には確実に効果があります。

于 2013-01-03T02:50:40.770 に答える
6

私は最近同じことをする必要がありましたが、Winforms を使用していました。bde で提案されている MVVM パターンに従わない場合は、t4 テンプレートを変更して、生成されたエンティティに INotifyPropertyChanged を実装できます。

この答えは私を助けました: https://stackoverflow.com/a/12192358/1914530

于 2013-01-03T03:10:31.790 に答える