1

Prism IRegionManagerを使用して、画面間を移動します。

_regionManager.RequestNavigate( RegionNames.MainContentRegion, uri );

上記の方法でナビゲートする個人編集ビューがあり、編集する新しい個人が選択されるたびにこの画面を常に再ロードしたいと思っています。これを行うために、INavigationAwareのIsNavigationTargetメソッドでfalseを返します。私もmvvmを使用しており、このPersonEditView用のPersonEditViewModelがあります。

私が心配しているのは、アプリケーションが以前のPersonEditViewModelを破棄しないことです。以前に作成されたすべてのPersonEditViewModelsに対してIsNavigationTargetが呼び出されるため、自動的に破棄されないことはわかっています。伝えるためにブレークポイントを入れました。

ビューとビューモデルを破棄するための良い方法は何ですか?IsNavigationTargetでは常にfalseを返すことがわかっているので、それらを破棄してスペースを解放したいと思います。OnNavigatedFromメソッドで何かできるのではないかと思っていました...

ありがとう。

4

1 に答える 1

1

RegionMemberLifetimeBehaviourIRegionMemberLifetimeを確認する必要があります。

于 2012-09-27T17:21:50.693 に答える