PRISM 4ディスカバリを使用してビューをロードするためにdatatemplateを使用しています。既存のインスタンスを再利用するのではなく、view/viewmodelを複数回作成する必要があるため、x:Shared = falseをリソースに設定しますが、viewmodelにのみ影響します。私は、ビューモデルが再利用されていないことを確認することができますが、ビューはです。ビューコンストラクタは、初めて呼び出されたときに初めて呼び出されます。私はここで同様の記事を読んだが、彼らのソリューションは私にとってはうまくいかなかった。私は、リソースローダ/ロケータをどのように拡張し、共有フラグを尊重しているかを確認できるかどうかを知りたい。ここでDataTemplate x:Shared = falseはビューに影響しません
は私のテンプレートが定義されている方法です。
<DataTemplate DataType="{x:Type CVM:MyViewModel}" x:Shared="False">
<V:MyView />
</DataTemplate>
デザインを変更する必要はありませんか? – DotnetEng
プリズムを使わず、エレガントなものを本当に考えることができません。 –
Prismでは、 'PartCreationPolicy'属性を使ってシングルトンを使用するかどうかを制御します。 'Shared' =シングルトン、' NonShared' =新しいインスタンス。あなたは '[PartCreationPolicy(CreationPolicy.NonShared)]'であなたの意見を飾ったことがありますか? –