私はいくつか再利用可能なUserControlを持っています。それらのUserControlsの中に、私はbootstrapperの中に登録したサービスインスタンスにアクセスします。Prism WPF - UserControlsまたはカスタムコントロール内のServiceLocatorにアクセスする方法
これらのユーザーコントロールがxamlの内部で直接使用されているため、コンストラクタインジェクションを実行できません。したがって、ServiceLocator.Current
にアクセスしようとしましたが、例外がスローされました。
したがって、WPFはxamlの中でそれらをロードするパラメータのないコンストラクタを必要とするため、コンストラクタインジェクションを実行できないユーザーコントロール内の登録済みサービスインスタンスにアクセスするためのベストプラクティスは何ですか?
(ところで、私はUnityBootstrapperを使用しています)
「これらのUserControl内部を」コードビハインドで意味?何が(自動配線された)ビューモデル(istコンストラクタにすべてが注入されている)を使用できないのですか? – Haukinger
あなたのUserControlはどこにありますか?シェルウィンドウでは? – mm8
@Haukinger、 "auto-wired viewmodelを使用し、コンストラクタインジェクションを使用する"というのは私の欠点です。つまり、私が他の解決策を見つけることができなければ、私はそのように行くでしょう。そして、私はどのようにすべてのプリズムの人々がこの種の仕事をしているのだろうと思っています。 –