バックグラウンド :-
caliburn micro/ninjectおよびmvvmパターンを使用してビューモデルによって入力されるコンボボックスを含むwpfビューがあります。このビューには、スタックパネル領域も含まれています。ユーザーがコンボボックスから適切なオプションを選択すると、適切なユーザーコントロールをスタックパネルに挿入して、関連する表示への見かけのない遷移をユーザーに提示します。
スタックパネルに表示される各「ネストされた」ユーザーコントロールには、caliburnmicroによって自動的に関連付けられた独自のビューモデルがあります。
問題 :-
「ネストされた」ユーザーコントロールバインディングはすべて、それらに具体的に関連付けられているビューモデルではなく、親ビューモデルを参照しようとします。
最初は、次のように指定することでこれを回避できます:-
<UserControl.DataContext>
<vm:UserControlSpecificViewModel/>
</UserControl.DataContext>
ただし、これにはビューモデルにパラメーターのないコンストラクターが必要ですが、NinjectがEventAggregatorなどのオブジェクトを注入できるように、このビューモデルにパラメーターを渡すことができる必要があります。
私はWPFにかなり慣れていないので、円周を回っているので、助けていただければ幸いです。
ありがとう。
ジェームズ。