2

次のリージョン階層があります。

メインリージョン----サブリージョンA

MainRegion には SubRegionA があります。Navigation を介して SubRegionA にビューを読み込みます。ビューが正しく読み込まれます。MainRegion に再度移動し、その後 SubRegionA に移動すると、以前に読み込まれた SubRegionA の古いビューが表示されます。私が欲しかったのは、SubRegionA に再度移動するときに、SubRegionA のすべてのビューをメモリからクリアし、新しいビューをロードする必要があるということでした。しかし、プリズムはまだこれらのビューへの参照を保持しており、SubRegionA に再度移動したときにそれらをロードしています。MainRegion および SubRegionA 宣言に以下を配置しようとしましたが、問題は解決しませんでした。

メインリージョン

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

サブリージョンA

        <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(removed) の場合、このリージョンからのすべてのビューと、このリージョンに含まれるすべてのネストされたリージョンを (メモリから) クリアするにはどうすればよいでしょうか。

4

1 に答える 1