私はMVVMで自分のやり方を開始しています.. 私は既にウィンドウを実装していて、それをMVVに変更する必要があります ..私のウィンドウでは、ビジュアルツリー ビューモデルでこれをどのように行うことができますか?私はviewmodelからビュー内の関数にアクセスすることはできません..WPF MVVM - ビューモデルへの移動の問題
2
A
答えて
0
ViewModelではそうしません。ビューへのアクセスはビュー内で行う必要があり、コードが必要な場合は、コードを含むコントロールを開発し、ビュー内でコントロールを使用するオプションがあります。
ビューに関する知識をViewModelに追加しないでください。それはパターンを混乱させ、MVVMのメリット(一部)を取り除くでしょう。
2
この機能を公開し、その実装をViewModelに挿入するカスタムインターフェイスを作成できます。
これは最も洗練された解決策ではないかもしれませんが、テスト可能で疎結合の簡単なものです。何*あなたはビジュアルツリーを検索している*
+1
+1もう1つの良い例は、ビューの追加/削除、またはレイアウトの保存のためのインターフェイスです。これらのメソッドを使用してインターフェイスを作成し、コードビハインドで実装してからビューモデルとビューを作成しますそのインタフェースを使用してビューモデルにビューを挿入します。 –
関連する問題
- 1. WPF(MVVM)データバインディングの問題
- 2. WPFとMVVMの問題
- 3. WPF MVVMでのビュー間の移動
- 4. WPFのDataGrid検証の問題 - MVVM
- 5. WPF MVVM CanExecuteメソッド実装の問題
- 6. シンプルなWpf MVVMバインディングの問題
- 7. MVVM WPFデータグリッドデータ入力の問題
- 8. WPF MVVM Dynamic SubMenuバインディングの問題
- 9. WinFormからWPFへの移植、データバインディングの問題
- 10. MVVMデザインパターンの問題
- 11. WPF MVVMで2つのビューモデルを通信する
- 12. MVVMとビューモデル通信を使用したWPFウィンドウのモーダルダイアログ
- 13. WPF、MVVM DataGrid行バインド
- 14. WinFormsからWPFへの移動方法
- 15. WPF MVVMダイアログ例
- 16. WPFフォーカス動作の問題
- 17. wpf(mvvm)のDataGridへのチェックボックスのバインド
- 18. WPVMのMVVMでビューモデルからビューへの通信方法
- 19. MVVM-Helpers検証属性を使用したWPF MVVM検証の問題
- 20. WPF、MVVM、MasterDetailPage
- 21. VxWorksへの移植の問題
- 22. wpf mvvmコマンドを使用してビューモデル間でパラメータを渡す
- 23. MVVMビューモデルでC#WPFスレッドを処理する方法
- 24. MVVMパターンのSQLiteからWPFへ
- 25. MVVMコンボボックスのバインディングの問題
- 26. MVVM DataTemplateバインディングの問題
- 27. MVVMのDataTemplateと非空のビューモデルのコンストラクタ
- 28. MVVM Light Messaging問題
- 29. MVVM - WPFデスクトップ
- 30. WPFのDataGridの問題
:
よく書か例えばこの回答を参照してください?なぜ答えたらいいの?あなたのデザインをMVVMに変更することができます。 MVVMは、主にViewModelsのデータバインディング(ビューをハッキングする)に依存しています。バッキングビューモデルは、バインド可能なプロパティとして検索しているものをすべて公開する必要があります。 – Gishu