2012-04-21 2 views
2

다음 지역 계층 구조가 있습니다.프리즘 : ClearChildViewsRegionBehavior.ClearChildViews = "True"가 ChildViews를 지우지 않습니다

MainRegion ---- SubRegionA

MainRegion는 SubRegionA있다. 내비게이션을 통해 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 지역이 NavigatedFrom (제거)되어

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

, 어떻게 우리가 분명이 지역의 모든 조회수 (memmory에서) 수행 이 영역에 포함 된 모든 중첩 된 영역

답변

0

IRegionMemberLifetime 인터페이스를 사용해 보셨습니까?

bool KeepAlive { get{return False;} } 
관련 문제