我正在使用datatemplate使用PRISM 4发现来加载我的视图。我需要多次创建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)]'装饰了你的视图? –