我正在使用数据模板通过 PRISM 4 发现加载我的视图。我需要多次创建视图/视图模型而不是重用现有实例,因此我在资源中设置 x:Shared=false 但它只对视图模型有影响。我可以确认视图模型没有被重用,但视图是。视图构造函数仅在第一次调用时调用一次。我在这里读过类似的帖子,但他们的解决方案对我不起作用。我想知道我是否可以扩展资源加载器/定位器并确保它尊重 Shared 标志。
这是我的模板的定义方式:
<DataTemplate DataType="{x:Type CVM:MyViewModel}" x:Shared="False">
<V:MyView />
</DataTemplate>