私はプリズムのNavigationAsyncExtensions
方法を使用RequestNavigate
していIRegion
ます:
// Attempt to navigate to the given view
try
{
_mainRegion.RequestNavigate(viewName);
}
catch
{
throw new MissingViewException(viewName);
}
登録済みのビュー名を渡して、ナビゲーションを成功させることができます。しかし、未登録のビュー名を渡すと、未処理の例外メッセージが表示されRequestNavigate
ます。失敗することを期待しています (失敗をキャッチしてカスタム例外をスローできるようにしたい) が、不明な理由で例外をキャッチできません。
私はいくつかの選択肢を試しました:
- 最初にキャッチし
ActivationException
ます。 - を使用
RequestNavigate
して渡しますnavigationCallback
。 - (try-catch ブロックなしで) を使用
RequestNavigate
して渡します。navigationCallback
代替手段はどれも機能していません。アイデアや提案はありますか?前もって感謝します!私の腸は、拡張メソッドが非同期であるため、ある種のスレッドの問題であると言っています。しかし、私navigationCallback
はこれを処理するだろうと考え、結果は悲しいことに同じです。