diff --git a/Ink Canvas/MainWindow_cs/MW_PPT.cs b/Ink Canvas/MainWindow_cs/MW_PPT.cs index ce3bc924..0086c86c 100644 --- a/Ink Canvas/MainWindow_cs/MW_PPT.cs +++ b/Ink Canvas/MainWindow_cs/MW_PPT.cs @@ -26,22 +26,10 @@ namespace Ink_Canvas { public static Slide slide = null; public static int slidescount = 0; - // 新增:安全切换LoadingMask可见性的方法,避免重复赋值导致动画闪动 - private void SetLoadingMaskVisibility(Visibility visibility) - { - Application.Current.Dispatcher.Invoke(() => - { - if (LoadingMask.Visibility != visibility) - { - LoadingMask.Visibility = visibility; - } - }); - } - private void BtnCheckPPT_Click(object sender, RoutedEventArgs e) { try { // 显示加载动画 - SetLoadingMaskVisibility(Visibility.Visible); + Application.Current.Dispatcher.Invoke(() => { LoadingMask.Visibility = Visibility.Visible; }); pptApplication = (Microsoft.Office.Interop.PowerPoint.Application)Marshal.GetActiveObject("kwpp.Application"); //pptApplication.SlideShowWindows[1].View.Next(); @@ -83,7 +71,7 @@ namespace Ink_Canvas { } finally { // 隐藏加载动画 - SetLoadingMaskVisibility(Visibility.Collapsed); + Application.Current.Dispatcher.Invoke(() => { LoadingMask.Visibility = Visibility.Collapsed; }); } } @@ -104,7 +92,7 @@ namespace Ink_Canvas { if (IsShowingRestoreHiddenSlidesWindow || IsShowingAutoplaySlidesWindow) return; try { // 显示加载动画 - SetLoadingMaskVisibility(Visibility.Visible); + Application.Current.Dispatcher.Invoke(() => { LoadingMask.Visibility = Visibility.Visible; }); pptApplication = (Microsoft.Office.Interop.PowerPoint.Application)Marshal.GetActiveObject("PowerPoint.Application"); @@ -154,7 +142,7 @@ namespace Ink_Canvas { } finally { // 隐藏加载动画 - SetLoadingMaskVisibility(Visibility.Collapsed); + Application.Current.Dispatcher.Invoke(() => { LoadingMask.Visibility = Visibility.Collapsed; }); } }