我正在使用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)]'裝飾了你的視圖? –