[解決済み】INotifyPropertyChangedとViewModelのDependencyPropertyの比較
2022-03-25 18:39:27
質問
Model-View-ViewModel アーキテクチャの WPF アプリケーションで ViewModel を実装する場合、データバインド可能にする方法として、大きく 2 つの選択肢があるようです。私が見た実装では
DependencyProperty
を実装したViewModelを見たことがあります。
INotifyPropertyChanged
の代わりに
私の質問は、どのような場合にどちらを選ぶべきかということです。パフォーマンスの違いはあるのでしょうか?ViewModel の依存関係を WPF に渡すのは本当に良いアイデアですか?設計を決定する際に、他に何を考慮する必要がありますか?
解決方法は?
このテーマについて、Kentが興味深いブログを書いています。 ビューモデル。POCOとDependencyObjectの比較 .
簡単な要約です。
- DependencyObjectは、以下のようにマークされていません。 シリアライザブル
- DependencyObject クラスは、Equals() および GetHashCode() メソッド
- DependencyObjectはスレッドアフィニティーを持ち、以下の場合にのみアクセスすることができます。 が実行されたスレッドで 作成
私はPOCO方式が好きです。INotifyPropertyChangedインターフェイスを実装したPresentationModel(別名ViewModel)のベースクラスは、こちらにあります。 http://compositeextensions.codeplex.com
関連
-
[解決済み] WCFとWPFの違いは何ですか?
-
[解決済み] LabelとTextBlockの違い
-
[解決済み] WPFでボタンを無効にする?
-
[解決済み】Visibility.CollapsedとVisibility.Hiddenの違いについて
-
[解決済み】ディレクトリを開くダイアログ
-
[解決済み】WPFでシンプルな(と思う)横線?
-
[解決済み】WPFのTextBlockでテキストを縦に並べたい
-
[解決済み】Window Height="Auto "が期待通りに動作しない。
-
[解決済み】デザインタイムのDataContextをWindowに設定すると、コンパイラーエラーが発生する?
-
[解決済み] 読み取り専用のGUIプロパティをViewModelにプッシュバックする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] WCFとWPFの違いは何ですか?
-
[解決済み] XAMLで名前が名前空間に存在しないエラーが発生する
-
[解決済み] WCFとWPFの違いは何ですか?
-
[解決済み] INotifyPropertyChangedの実装 - より良い方法は存在するか?
-
[解決済み】ListBox vs. ListView - データバインディングのための選択方法
-
[解決済み】WPFのTextBlockでテキストを縦に並べたい
-
[解決済み】MVVMのフレームワークは何を使えばいい?[クローズド]
-
[解決済み】WPFのデータバインディング。親」データコンテキストにアクセスするにはどうすればよいですか?
-
[解決済み】WPFのコントロールテンプレートとDataTemplateの違いについて
-
[解決済み】デザインタイムのDataContextをWindowに設定すると、コンパイラーエラーが発生する?