IValueConverterからViewModelを参照する標準的な方法がありますか、それともMVVMパターンを壊していますか?基本的には、ViewModelの他のプロパティに基づいてUIのバインドされたデータを変換したいと思います。これは、コントロールへの参照がConvert/ConvertBackメソッドに渡されないため、IValueConverterのWindow/Pageをどのように参照するのと同じ質問であると思います。IValueConverterからViewModelへの参照を取得する
1
A
答えて
2
ViewModelの他のプロパティを連結または結合するViewModelに新しいプロパティを追加することをお勧めします。これにより、IValueConverter
の必要はありません。
MVVMを使用している場合は、IValueConverters
のthisのディスカッションを参照してください。
0
珍しいシナリオでは、コンバーターのViewModelから複数のプロパティを使用する必要がある場合は、入力としてビューモデル全体を渡すだけです。これは確かにMVVMパターンを破る限り変換を起動し、ウィンドウ/ページ/ビューへの参照を取得することと
<Textbox Text="{Binding, Converter={StaticResource WholeObjectConverter}"/>
は良いアイデアではありません。アイデアは、あなたのビューとデータが別々のエンティティであり、設計によってお互いを知るべきではないということです。
実際にハックする場合は、賢明になり、必要な参照(ViewModelまたはView)をバインディングのConverterParameter部分として渡すことができます。
関連する問題
- 1. MVVMLight - ビューでViewModelへの参照を取得するには?
- 2. 参照から参照を含む配列へのハッシュを取得するPerl
- 3. ViewModelへの参照がある場合、Viewを取得する方法は?
- 4. Unityのスクリプトからボタンへの参照を取得する
- 5. Python:内部から関数への参照を取得する
- 6. GWT:MenuBarからDockLayoutPanelへの参照を取得する
- 7. @WebServiceからSpring Beanへの参照を取得する
- 8. カスタムテーブルビューからテーブルビューコントローラへの参照を取得する方法セルクラス
- 9. MainWindowViewModelユーザーコントロールのViewModelインスタンスへの参照
- 10. CCommand CAccessorからオブジェクトへのポインタ/参照を取得したい
- 11. Gtk.OffscreenWindowカイロサーフェイスへの参照を取得
- 12. 別のViewModelからViewModelを参照する必要がある場合
- 13. コンテンツがViewModelを返すときのビューへの参照を取得しますか?
- 14. ウィジェット参照からのビューの取得
- 15. std :: arrayからの生の配列への参照を取得する
- 16. 明瞭度のデータグリッドへの参照をtypescriptから取得する方法
- 17. iframeから親ウィンドウのコンテンツウィンドウへの参照を取得する方法
- 18. 外部のFXMLコントローラからタブへの参照を取得する
- 19. mongooseのポストセーブハンドラからモデルへの参照を取得する方法
- 20. アクティビティからCardView内のビューへの参照を取得する方法は?
- 21. Powershellのストリームオブジェクトへの参照を取得しますか?
- 22. Umbracoのコンテンツノードへの参照を取得しますか?
- 23. ViewModel(WPF)からUI要素を参照する方法は?
- 24. 含まれているモジュールへの参照を取得する
- 25. ストーリーボードのUIViewControllerのメインビューへの参照を取得する方法
- 26. Backbone.jsのイベントハンドラで元のオブジェクトへの参照を取得する
- 27. Vue.jsのメソッドの要素への参照を取得する
- 28. Swiftの前のviewControllerへの参照を取得するには?
- 29. セルを含む関数への参照を取得する
- 30. タグの親への参照を取得する方法は?
+1 MVVMを実践する場合、コンバーターを大幅に廃止することができます。その結果、よりクリーンで理解しやすいコードが得られます。 –