我在NavigationAsyncExtensions
上使用Prism的RequestNavigate
方法IRegion
:
// Attempt to navigate to the given view
try
{
_mainRegion.RequestNavigate(viewName);
}
catch
{
throw new MissingViewException(viewName);
}
我可以传递注册的视图名称并获得成功的导航。但是,当我传递未注册的视图名称时,我会在RequestNavigate
上收到未处理的异常消息。我希望它失败(我希望能够捕获失败并抛出自定义异常),但我不能因为某些未知原因而捕获异常:
我尝试过几种选择:
ActivationException
。RequestNavigate
并传递navigationCallback
。RequestNavigate
并传递navigationCallback
(不使用try-catch块)。没有其他选择有效。有没有人有任何想法/建议?提前致谢!我的直觉告诉我,这是某种类型的线程问题,因为扩展方法是异步的。但是我认为navigationCallback
会处理这个问题,但结果却很不一样。