少数のページを持つかなり単純な WPF アプリケーションがあります。フォームの送信時に、特定のページに移動し、最後のナビゲーション エントリをクリアして、ユーザーが送信したばかりのフォームを再送信できないようにしたいと考えています。
ただし、特定のページに移動した後にナビゲーション サービスで "RemoveBackEntry()" を呼び出すと、移動元のページではなく、バック スタックの 3 番目のエントリ (この場合は最も古いエントリ) が削除されます。新しいページが読み込まれると、そのページはバック スタックの最新のエントリとして残ります。
これは私のコードですが、非常に単純で簡単です。
public void NavigateToNewWorkPage()
{
_view.NavigationService?.Navigate(new WorkPage());
_view.NavigationService?.RemoveBackEntry();
}