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