Призма:ClearChildViewsRegionBehavior.ClearChildViews="True" не очищает ChildViews
У меня следующая иерархия регионов.
MainRegion ---- SubRegionA
MainRegion имеет SubRegionA. Я загружаю представление в SubRegionA через Navigation. Представления загружаются правильно. Когда я перехожу к MainRegion, а затем к SubRegionA, я все равно получаю старые представления SubRegionA, которые были загружены ранее. Я хотел, чтобы при повторном переходе к SubRegionA все представления в SubRegionA были очищены от памяти и были загружены свежие представления. Но призма все еще содержит ссылки на эти представления и загружает их, когда я перехожу на 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(удалено), как мы очищаем (из памяти) все представления из этого региона и все вложенные регионы, которые этот регион содержит.
1 ответ
Вы пробовали интерфейс IRegionMemberLifetime?
bool KeepAlive { get{return False;} }