2012-04-21 17 views
2

次のリージョン階層があります。prism:ClearChildViewsRegionBehavior.ClearChildViews = "True"でChildViewsがクリアされない

MainRegion ---- SubRegionA

MainRegionはSubRegionAを持っています。私はNavigationを通じてSubRegionAのビューを読み込みます。ビューが正しく読み込まれます。私がMainRegionとSubRegionAに再ナビゲートすると、以前にロードされたSubRegionAの古いビューが得られます。私が望んでいたのは、SubRegionAに再ナビゲートすると、SubRegionA内のすべてのビューがmemmoryからクリアされ、新しいビューがロードされるはずです。しかしプリズムはSubRegionAに再度ナビゲートしても、それらのビューへの参照を保持していて、それらをロードしています。私はMainRegion宣言とSubRegionA宣言に次のように記述しようとしましたが、それで問題は解決しませんでした。

MainRegion要するに

<ContentControl prism:RegionManager.RegionName="{x:Static g:RegionNames.MainRegion}" 
       prism:ClearChildViewsRegionBehavior.ClearChildViews="True"/> 

SubRegionA

 <TabControl prism:RegionManager.RegionName="{x:Static g:RegionNames.SubRegionA}" 
        prism:ClearChildViewsRegionBehavior.ClearChildViews="True" 
        Style="{StaticResource TabStyle}" ItemContainerStyle="{StaticResource TabItemContainerStyle}" 
        VerticalAlignment="Top" Grid.Row="0" /> 

、領域がNavigatedFrom(削除)され、どのように我々は(memmoryから)この地域からすべてのビューをクリアしますか、このリージョンに含まれるすべてのネストされたリージョン。

答えて

0

IRegionMemberLifetimeインターフェイスを試しましたか?

bool KeepAlive { get{return False;} } 
関連する問題