From 51e3377b3853e989b0723f76dd59c56d78da0108 Mon Sep 17 00:00:00 2001 From: CJKmkp <2564608840@qq.com> Date: Sat, 21 Feb 2026 17:44:20 +0800 Subject: [PATCH] =?UTF-8?q?improve:=E5=B1=95=E5=8F=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Ink Canvas/MainWindow_cs/MW_VideoPresenter.cs | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/Ink Canvas/MainWindow_cs/MW_VideoPresenter.cs b/Ink Canvas/MainWindow_cs/MW_VideoPresenter.cs index 763546d6..a631c4a3 100644 --- a/Ink Canvas/MainWindow_cs/MW_VideoPresenter.cs +++ b/Ink Canvas/MainWindow_cs/MW_VideoPresenter.cs @@ -273,16 +273,23 @@ namespace Ink_Canvas CameraDevicesStackPanel.Children.Add(rb); } - // 自动启动第一个摄像头 + // 预选该页已保存的摄像头,否则使用第一个 if (_cameraService.AvailableCameras.Count > 0) { - if (CameraDevicesStackPanel.Children.Count > 0 && CameraDevicesStackPanel.Children[0] is RadioButton first) + int currentPage = GetCurrentPageIndex(); + int cameraToSelect = 0; + if (_cameraIndexByPage.TryGetValue(currentPage, out int savedIdx) && savedIdx >= 0 && savedIdx < _cameraService.AvailableCameras.Count) { - first.IsChecked = true; + cameraToSelect = savedIdx; + } + + if (cameraToSelect < CameraDevicesStackPanel.Children.Count && CameraDevicesStackPanel.Children[cameraToSelect] is RadioButton rb) + { + rb.IsChecked = true; } else { - StartVideoPresenterPreview(0); + StartVideoPresenterPreview(cameraToSelect); } } } @@ -451,7 +458,6 @@ namespace Ink_Canvas while (_capturedPhotos.Count > MaxCapturedPhotos) { - var oldPhoto = _capturedPhotos[_capturedPhotos.Count - 1]; _capturedPhotos.RemoveAt(_capturedPhotos.Count - 1); }