ViewModelにフックされたビューがあります。私はfoo.Currentによって公開されるシングルトンクラスを持っています。私はfoo.Current関数を呼び出すボタンのクリックコマンドの結果として変更されるそのクラスのプロパティを持っています。私はその値にテキストボックスのテキストをバインドできるようにしたい、そして、その値が更新されると、テキストボックスが更新されます。私のViewModelは、INotifyPropertyChangedを実装しており、ビューのモデルには、更新の制御がうまくいく他のプロパティがあります。そのシングルトンクラスが私のViewModelを新しい値で更新できるようにする最良の方法は何ですか? 私は、シングルトンクラスがViewModelを更新する方法を理解する必要があると思っています。MVVM公開プロパティ付きバインディング
0
A
答えて
2
次のように、オプションは次のとおりです。
- は、あなたのviewmodelでプロパティを定義し、あなたのシングルトンにそれのviewmodelを渡します。シングルトンは関連するプロパティを自身のものと共に変更する必要があります。 viewmodel自体
- でシングルトンをViewModelにまたは含むようにシングルトンから
- 移動特性をシングルトンのPropertyChangedイベントにアタッチINotifyPropertyChangedのからシングルトン
- 継承シングルトンのプロパティを変更すると、あなたのVMでイベントを作成します。あなたのプロパティ名を監視してください。
- ...
扱われるべきであるあなたのアプリでいくつかの建築の矛盾があるかもしれませんけれども1は、最初のオプションになります簡単な。
+0
ありがとうございました!私はシングルトンでINotiftPropertyChangedを実装し、ViewModelでイベントハンドラを作成しました。 –
+0
あなたは大歓迎です:) –
0
私はあなたをよく理解していれば、オブザーバーパターンを使用します。現在の状況には「最良の」方法はありません
関連する問題
- 1. バインディングのプロパティを公開する
- 2. WPFローカライズエクステンションMVVMバインディング
- 3. WPF - MVVMバインディング
- 4. WPF MVVM Comboboxバインディング
- 5. WPF MVVM - ユニットテストコマンド - 非公開VSパブリックメソッド?
- 6. wpf mvvmのIntバインディング
- 7. MVVM ItemsControl単純バインディング
- 8. XamlリストビューItemTappedバインディングMVVM
- 9. WPF:ComboBox:Style/ControlTemplateでDataTemplateバインディングを公開する
- 10. DesignのAccess MasterPage公開プロパティ
- 11. MVVM添付プロパティのターゲットと元のコントロール
- 12. C#認証付きWeb公開
- 13. MVVM DataTemplateバインディングの問題
- 14. ViewModelのモデルプロパティへのバインディング[MVVM]
- 15. MVVMコンボボックスのバインディングの問題
- 16. MVVM複数のバインディングをユーザーコントロール
- 17. 内部機能とプロパティを持つ公開プロトコル公開
- 18. 公開プロパティとクラス公開されていないWebサービス
- 19. 条件付きバインディング?
- 20. ACL制限付きコンテンツのフィードを公開してフィードを公開する
- 21. Silverlight textbox条件付きバインディング(スタイル付き)
- 22. MVVMナビゲーション付きXamarinフォーム
- 23. センサー付きwindows phone mvvm
- 24. ダイアログボックス付きのMVVM WPFサイエンティフィックアプリケーション
- 25. Rhinoモック付きモック-MVVM
- 26. プロパティ付きプロパティ?
- 27. WPFでのデータバインディングへのプロパティの公開
- 28. 公開オブジェクトとプロパティの使用
- 29. ExpandoObjectのプロパティを公開する
- 30. jQueryプラグインのプロパティを公開する
いくつかのコードスニペット、特にfoo.Currentプロパティ、バインドするテキスト、およびxamlバインディングを投稿してください。 –
ViewModelプロパティが更新された場合、INotifyPropertyChangedの実装はUIを更新するための正しい方法です。 ViewModelのインスタンスをConstructorまたはSingleton foo.Current経由で取得する方法の違いはありません。 – Andris