如何在Windows 8应用程序中同步显示MessageDialog?

飞溅27

我在此代码中有问题:

 try { await DoSomethingAsync(); }
 catch (System.UnauthorizedAccessException)
 { 
     ResourceLoader resourceLoader = new ResourceLoader();
     var accessDenied = new MessageDialog(resourceLoader.GetString("access_denied_text"), resourceLoader.GetString("access_denied_title"));
     accessDenied.ShowAsync();                            
 }

不可能写一个等待accessDenied.ShowAsync(); 因为Visual Studio将其视为错误:在Catch主体中禁止等待。但是,没有等待的代码也无法正常工作。它无法捕获异常,导致应用崩溃。

无论如何,我需要同步显示此对话框,因为我需要暂时停止运行。那么,该怎么做呢?

格罗

通常,有多种方法可以重写代码以在catch块之外进行异步调用至于为什么不允许这样做的原因,请检查此SO答案将其移动到catch并进行添加await将基本上使其“同步”。

因此,尽管看起来很丑陋,但应该是这样的:

bool operationSucceeded = false;
try 
{ 
    await DoSomethingAsync(); 

    // in case of an exception, we will not reach this line
    operationSucceeded = true;    
}
catch (System.UnauthorizedAccessException)
{ }

if (!operationSucceeded)
{
    var res = new ResourceLoader();
    var accessDenied = new MessageDialog(
           res.GetString("access_denied_text"), 
           res.GetString("access_denied_title"));
    await accessDenied.ShowAsync();       
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Windows Phone 8应用程序中解决此应用栏显示问题?

来自分类Dev

如何在Windows 8的Reader应用程序中打印?

来自分类Dev

如何在Angular应用程序中同步HTTP请求?

来自分类Dev

如何在Windows 8 / Windows 10中创建应用程序快捷方式

来自分类Dev

如何在Windows 8中为程序(应用程序)设置密码?

来自分类Dev

使Windows 8 Mail应用程序同步并通知Gmail标签

来自分类Dev

如何在ac#Windows窗体应用程序的列表框中显示结构的内容

来自分类Dev

如何在Windows Core IoT应用程序中显示带有当前时间的时钟?

来自分类Dev

如何在Windows Phone 8.1(RT)应用程序中显示动画GIF?

来自分类Dev

如何在Windows Phone 7应用程序的列表框中显示完整数据

来自分类Dev

如何在Windows Forms应用程序中以古吉拉特文本地数字显示数字?

来自分类Dev

如何在Windows 10中显示已安装的应用程序列表(仅“ Metro”)?

来自分类Dev

如何在ac#Windows窗体应用程序的列表框中显示结构的内容

来自分类Dev

如何在Windows下使用cmake在qt GUI应用程序中显示控制台

来自分类Dev

如何在Windows Phone 7和8中获取应用程序状态事件?

来自分类Dev

如何在Windows 8 Facebook应用程序中邀请朋友?

来自分类Dev

如何在Windows Phone 8应用程序中处理呼叫

来自分类Dev

如何在Windows 8 JavaScript应用程序中设置禁用按钮的样式?

来自分类Dev

如何在Windows Phone 8应用程序中遍历图像的所有像素

来自分类Dev

如何在Windows 8 / Cordova应用程序中打开本地PDF?

来自分类Dev

如何在Windows7、8中设置Java应用程序的桌面图标?

来自分类Dev

如果没有响应,如何在Windows 8中强制关闭应用程序?

来自分类Dev

如何在Windows 8 Facebook应用程序中邀请朋友?

来自分类Dev

如何在Windows Phone 8应用程序中禁用屏幕旋转?

来自分类Dev

如何在Windows 8中的应用程序之间切换?

来自分类Dev

如何在Windows 8商店应用程序中设置控件的背景色

来自分类Dev

如何在AutoHotKey中启动Windows Store应用程序?

来自分类Dev

如何在Qt中启动Windows应用程序

来自分类Dev

如何在Windows应用程序中获取路线距离

Related 相关文章

  1. 1

    如何在Windows Phone 8应用程序中解决此应用栏显示问题?

  2. 2

    如何在Windows 8的Reader应用程序中打印?

  3. 3

    如何在Angular应用程序中同步HTTP请求?

  4. 4

    如何在Windows 8 / Windows 10中创建应用程序快捷方式

  5. 5

    如何在Windows 8中为程序(应用程序)设置密码?

  6. 6

    使Windows 8 Mail应用程序同步并通知Gmail标签

  7. 7

    如何在ac#Windows窗体应用程序的列表框中显示结构的内容

  8. 8

    如何在Windows Core IoT应用程序中显示带有当前时间的时钟?

  9. 9

    如何在Windows Phone 8.1(RT)应用程序中显示动画GIF?

  10. 10

    如何在Windows Phone 7应用程序的列表框中显示完整数据

  11. 11

    如何在Windows Forms应用程序中以古吉拉特文本地数字显示数字?

  12. 12

    如何在Windows 10中显示已安装的应用程序列表(仅“ Metro”)?

  13. 13

    如何在ac#Windows窗体应用程序的列表框中显示结构的内容

  14. 14

    如何在Windows下使用cmake在qt GUI应用程序中显示控制台

  15. 15

    如何在Windows Phone 7和8中获取应用程序状态事件?

  16. 16

    如何在Windows 8 Facebook应用程序中邀请朋友?

  17. 17

    如何在Windows Phone 8应用程序中处理呼叫

  18. 18

    如何在Windows 8 JavaScript应用程序中设置禁用按钮的样式?

  19. 19

    如何在Windows Phone 8应用程序中遍历图像的所有像素

  20. 20

    如何在Windows 8 / Cordova应用程序中打开本地PDF?

  21. 21

    如何在Windows7、8中设置Java应用程序的桌面图标?

  22. 22

    如果没有响应,如何在Windows 8中强制关闭应用程序?

  23. 23

    如何在Windows 8 Facebook应用程序中邀请朋友?

  24. 24

    如何在Windows Phone 8应用程序中禁用屏幕旋转?

  25. 25

    如何在Windows 8中的应用程序之间切换?

  26. 26

    如何在Windows 8商店应用程序中设置控件的背景色

  27. 27

    如何在AutoHotKey中启动Windows Store应用程序?

  28. 28

    如何在Qt中启动Windows应用程序

  29. 29

    如何在Windows应用程序中获取路线距离

热门标签

归档