From fec0f55deb5e436534589ff0765b1a4ebf0e1f53 Mon Sep 17 00:00:00 2001 From: kriastans Date: Sat, 3 Aug 2024 15:22:27 +0800 Subject: [PATCH] =?UTF-8?q?[update]=20=E5=90=8C=E6=AD=A5=E4=B8=8A=E6=B8=B8?= =?UTF-8?q?ica=20commit-42ac910=E5=AF=B9PPT=E6=9C=80=E5=90=8E=E6=94=BE?= =?UTF-8?q?=E6=98=A0=E9=A1=B5=E9=9D=A2=E7=9A=84=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- InkCanvasForClass/MainWindow.xaml | 4 ++-- InkCanvasForClass/MainWindow_cs/MW_PPT.cs | 15 +++++++++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/InkCanvasForClass/MainWindow.xaml b/InkCanvasForClass/MainWindow.xaml index e118ca4..bda1577 100644 --- a/InkCanvasForClass/MainWindow.xaml +++ b/InkCanvasForClass/MainWindow.xaml @@ -2739,7 +2739,7 @@ - @@ -6663,7 +6663,7 @@ Toggled="ToggleSwitchRegistryShowBlackScreenLastSlideShow_Toggled" /> diff --git a/InkCanvasForClass/MainWindow_cs/MW_PPT.cs b/InkCanvasForClass/MainWindow_cs/MW_PPT.cs index 2dddbdd..ad93494 100644 --- a/InkCanvasForClass/MainWindow_cs/MW_PPT.cs +++ b/InkCanvasForClass/MainWindow_cs/MW_PPT.cs @@ -243,6 +243,7 @@ namespace Ink_Canvas { private string pptName = null; + int currentShowPosition = -1; private void UpdatePPTBtnStyleSettingsStatus() { var sopt = Settings.PowerPointSettings.PPTSButtonsOption.ToString(); @@ -549,6 +550,17 @@ namespace Ink_Canvas { File.WriteAllText(folderPath + "/Position", previousSlideID.ToString()); } catch { } + Application.Current.Dispatcher.Invoke(() => + { + try + { + MemoryStream ms = new MemoryStream(); + inkCanvas.Strokes.Save(ms); + ms.Position = 0; + memoryStreams[currentShowPosition] = ms; + } + catch { } + }); for (var i = 1; i <= Pres.Slides.Count; i++) if (memoryStreams[i] != null) @@ -627,6 +639,8 @@ namespace Ink_Canvas { if (memoryStreams[Wn.View.CurrentShowPosition] != null && memoryStreams[Wn.View.CurrentShowPosition].Length > 0) inkCanvas.Strokes.Add(new StrokeCollection(memoryStreams[Wn.View.CurrentShowPosition])); + + currentShowPosition = Wn.View.CurrentShowPosition; } catch { // ignored @@ -638,6 +652,7 @@ namespace Ink_Canvas { //PptNavigationTextBlock.Text = $"{Wn.View.CurrentShowPosition}/{Wn.Presentation.Slides.Count}"; }); previousSlideID = Wn.View.CurrentShowPosition; + } private bool _isPptClickingBtnTurned = false;