Призма: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;} }
Другие вопросы по тегам