橘子酱m
开发小白随记

当使用Avalonia框架时,异步加载与WPF不同

点击查看代码
 //打印预览
 private async void PrintPreview()
 {
     try
     {
         MainWindow mainWindow = GetMainWindow();
         CMyWord cMyWord = new CMyWord();
         string strPath = "";
         string error = "";
         WaitWindow waitWindow = new WaitWindow();
         waitWindow.Show();
         await Task.Run(() => 
         {
             if (cMyWord.Output(OutPutType.PDF, ref strPath, ref error))
             {
                 Dispatcher.UIThread.InvokeAsync(() =>
                 {
                     waitWindow.Close();
                     PrintPreviewWnd printPreviewWnd = new PrintPreviewWnd(strPath);
                     printPreviewWnd.ShowDialog(mainWindow);

                 });
                 
             }
             else
             {

                 Message.Show(true, "预览失败!");
             }
         });
         
     }
     catch (Exception ex)
     {
        
         Message.Show(true, "预览失败!"+ex.Message);
     }
 }
posted on 2025-08-01 10:41  橘子酱m  阅读(45)  评论(0)    收藏  举报