From bc3e37e5418456b82ef9a0a5bc089609d842e935 Mon Sep 17 00:00:00 2001
From: CJKmkp <2564608840@qq.com>
Date: Sat, 28 Mar 2026 20:28:42 +0800
Subject: [PATCH] =?UTF-8?q?improve:=E8=87=AA=E5=8A=A8=E6=9B=B4=E6=96=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Ink Canvas/MainWindow.xaml | 12 ++++++++++
Ink Canvas/MainWindow_cs/MW_Settings.cs | 20 ++++++++++++++++
Ink Canvas/MainWindow_cs/MW_SettingsToLoad.cs | 23 +++++++++++++++++++
Ink Canvas/Properties/Strings.resx | 4 ++++
4 files changed, 59 insertions(+)
diff --git a/Ink Canvas/MainWindow.xaml b/Ink Canvas/MainWindow.xaml
index b4ee444a..9af46a13 100644
--- a/Ink Canvas/MainWindow.xaml
+++ b/Ink Canvas/MainWindow.xaml
@@ -723,6 +723,18 @@
Toggled="ToggleSwitchIsAutoUpdateWithSilence_Toggled" />
+
+
+
+
+
+
+
+
+
+
diff --git a/Ink Canvas/MainWindow_cs/MW_Settings.cs b/Ink Canvas/MainWindow_cs/MW_Settings.cs
index ce036a85..9fb01303 100644
--- a/Ink Canvas/MainWindow_cs/MW_Settings.cs
+++ b/Ink Canvas/MainWindow_cs/MW_Settings.cs
@@ -38,6 +38,8 @@ namespace Ink_Canvas
/// 内部标记:是否正在内部更改更新通道
///
private bool _isChangingUpdateChannelInternally;
+ /// 内部标记:是否正在内部更改「更新包架构」(32/64 位 ZIP)
+ private bool _isChangingUpdatePackageArchInternally;
///
/// 内部标记:是否正在内部更改遥测设置
///
@@ -5171,6 +5173,24 @@ namespace Ink_Canvas
HideSubPanels();
}
+ private void UpdatePackageArchitectureSelector_Checked(object sender, RoutedEventArgs e)
+ {
+ if (!isLoaded) return;
+ if (_isChangingUpdatePackageArchInternally) return;
+ if (!(sender is RadioButton radioButton) || radioButton.Tag == null) return;
+
+ var newArch = string.Equals(radioButton.Tag.ToString(), "X64", StringComparison.OrdinalIgnoreCase)
+ ? UpdatePackageArchitecture.X64
+ : UpdatePackageArchitecture.X86;
+
+ if (Settings.Startup.UpdatePackageArchitecture == newArch)
+ return;
+
+ Settings.Startup.UpdatePackageArchitecture = newArch;
+ SaveSettingsToFile();
+ LogHelper.WriteLogToFile($"Settings | Update package architecture: {newArch}");
+ }
+
private async void UpdateChannelSelector_Checked(object sender, RoutedEventArgs e)
{
if (!isLoaded) return;
diff --git a/Ink Canvas/MainWindow_cs/MW_SettingsToLoad.cs b/Ink Canvas/MainWindow_cs/MW_SettingsToLoad.cs
index 58f12fa9..a525e3ae 100644
--- a/Ink Canvas/MainWindow_cs/MW_SettingsToLoad.cs
+++ b/Ink Canvas/MainWindow_cs/MW_SettingsToLoad.cs
@@ -301,6 +301,29 @@ namespace Ink_Canvas
}
}
+ // 初始化更新包架构
+ if (UpdatePackageArchitectureSelector != null)
+ {
+ _isChangingUpdatePackageArchInternally = true;
+ try
+ {
+ string wantTag = Settings.Startup.UpdatePackageArchitecture == UpdatePackageArchitecture.X64 ? "X64" : "X86";
+ foreach (var item in UpdatePackageArchitectureSelector.Items)
+ {
+ if (item is RadioButton rb && rb.Tag != null &&
+ string.Equals(rb.Tag.ToString(), wantTag, StringComparison.OrdinalIgnoreCase))
+ {
+ rb.IsChecked = true;
+ break;
+ }
+ }
+ }
+ finally
+ {
+ _isChangingUpdatePackageArchInternally = false;
+ }
+ }
+
AutoUpdateTimePeriodBlock.Visibility = Settings.Startup.IsAutoUpdateWithSilence
? Visibility.Visible
: Visibility.Collapsed;
diff --git a/Ink Canvas/Properties/Strings.resx b/Ink Canvas/Properties/Strings.resx
index 359b3aed..44ea35ee 100644
--- a/Ink Canvas/Properties/Strings.resx
+++ b/Ink Canvas/Properties/Strings.resx
@@ -374,6 +374,10 @@
稳定版 (Release)
预览版 (Preview)
测试版 (Beta)
+ 软件架构
+ 32 位 (x86)
+ 64 位 (x64)
+ # 选择要下载架构
# 稳定版提供可靠更新,预览版提供新功能体验同时拥有相较Beta版更强的稳定性,测试版提供新功能抢先体验
手动更新
# 点击后立即检查并下载最新版本