diff --git a/Ink Canvas/Windows/SettingsViews/SettingsWindow.xaml b/Ink Canvas/Windows/SettingsViews/SettingsWindow.xaml
index 09bd6a72..101d7abf 100644
--- a/Ink Canvas/Windows/SettingsViews/SettingsWindow.xaml
+++ b/Ink Canvas/Windows/SettingsViews/SettingsWindow.xaml
@@ -569,7 +569,7 @@
-
+
@@ -583,7 +583,7 @@
-
+
@@ -597,7 +597,7 @@
-
+
@@ -625,7 +625,7 @@
-
+
@@ -642,7 +642,7 @@
-
+
@@ -656,7 +656,7 @@
-
+
@@ -670,19 +670,19 @@
-
+
-
+
-
+
-
+
-
+
@@ -712,22 +712,22 @@
-
+
-
+
-
+
-
+
-
+
-
+
@@ -738,13 +738,13 @@
-
+
-
+
-
+
@@ -755,7 +755,7 @@
-
+
@@ -1849,7 +1849,7 @@
-
+
@@ -1866,9 +1866,9 @@
-
-
-
+
+
+
@@ -1898,7 +1898,7 @@
-
+
@@ -1920,7 +1920,7 @@
-
+
@@ -1942,7 +1942,7 @@
-
+
@@ -1964,7 +1964,7 @@
-
+
@@ -1982,10 +1982,10 @@
-
+
-
+
@@ -2010,7 +2010,7 @@
-
+
@@ -2034,7 +2034,7 @@
-
+
@@ -2048,7 +2048,7 @@
-
+
@@ -2062,7 +2062,7 @@
-
+
@@ -2569,7 +2569,7 @@
-
+
@@ -2586,7 +2586,7 @@
-
+
@@ -2609,7 +2609,7 @@
-
+
@@ -3246,13 +3246,13 @@
-
+
-
+
-
+
@@ -3264,10 +3264,10 @@
-
+
-
+
@@ -3332,7 +3332,7 @@
-
+
@@ -3346,7 +3346,7 @@
-
+
@@ -3371,7 +3371,7 @@
-
+
@@ -3411,13 +3411,13 @@
-
+
-
+
-
+
@@ -3440,13 +3440,13 @@
-
+
-
+
-
+
@@ -3458,13 +3458,13 @@
-
+
-
+
-
+
@@ -3486,7 +3486,7 @@
-
+
@@ -3500,7 +3500,7 @@
-
+
diff --git a/Ink Canvas/Windows/SettingsViews/SettingsWindow.xaml.cs b/Ink Canvas/Windows/SettingsViews/SettingsWindow.xaml.cs
index b053abc2..52295040 100644
--- a/Ink Canvas/Windows/SettingsViews/SettingsWindow.xaml.cs
+++ b/Ink Canvas/Windows/SettingsViews/SettingsWindow.xaml.cs
@@ -391,5 +391,202 @@ namespace Ink_Canvas.Windows {
private void MenuButton_Click(object sender, MouseButtonEventArgs e) {
// 菜单功能 - 可以显示上下文菜单或选项菜单
}
+
+ private void ToggleSwitch_Click(object sender, MouseButtonEventArgs e) {
+ var border = sender as Border;
+ if (border != null) {
+ // 切换开关状态
+ bool isOn = border.Background.ToString() == "#FF3584E4";
+ border.Background = isOn ? new SolidColorBrush(Color.FromRgb(225, 225, 225)) : new SolidColorBrush(Color.FromRgb(53, 132, 228));
+
+ // 切换内部圆点的位置
+ var innerBorder = border.Child as Border;
+ if (innerBorder != null) {
+ innerBorder.HorizontalAlignment = isOn ? HorizontalAlignment.Left : HorizontalAlignment.Right;
+ }
+
+ // 根据Tag处理不同的设置项
+ string tag = border.Tag?.ToString();
+ if (!string.IsNullOrEmpty(tag)) {
+ HandleSettingChange(tag, !isOn);
+ }
+ }
+ }
+
+ private void HandleSettingChange(string settingName, bool value) {
+ // 根据设置名称处理不同的设置项
+ switch (settingName) {
+ case "UseObviousCursor":
+ // 处理使用更加明显的画笔光标设置
+ break;
+ case "HideInkWhenExitAnnotationMode":
+ // 处理退出批注模式后隐藏墨迹设置
+ break;
+ case "DisablePenPressure":
+ // 处理禁用模拟笔锋设置
+ break;
+ case "ClearInkWithoutHistory":
+ // 处理清空墨迹时不保留时光机历史记录设置
+ break;
+ case "UseBlackBackgroundForTransparency":
+ // 处理AllowTransparency使用黑色背景设置
+ break;
+ case "KeepHyperbolaAsymptote":
+ // 处理保留双曲线渐近线设置
+ break;
+ case "UseInkEraser":
+ // 处理使用墨迹擦设置
+ break;
+ case "UseDefaultBackgroundColorForNewPage":
+ // 处理创建新页时始终使用默认背景色设置
+ break;
+ case "DebugMode":
+ // 处理调试模式设置
+ break;
+ case "PerformanceMonitoring":
+ // 处理性能监控设置
+ break;
+ case "AutoRestartOnCrash":
+ // 处理崩溃时自动重启设置
+ break;
+ case "SendCrashReport":
+ // 处理发送崩溃报告设置
+ break;
+ case "EnableLuckyRandom":
+ // 处理启用幸运随机功能设置
+ break;
+ case "EnableInkToShape":
+ // 处理启用墨迹转形状设置
+ break;
+ case "InkRecognitionRange":
+ // 处理墨迹识别范围设置
+ break;
+ case "RecognizeQuadrilateral":
+ // 处理识别四边形设置
+ break;
+ case "RecognizeTriangle":
+ // 处理识别三角形设置
+ break;
+ case "RecognizeCircle":
+ // 处理识别圆形设置
+ break;
+ case "RecognizeLine":
+ // 处理识别直线设置
+ break;
+ case "EnablePressureSimulation":
+ // 处理启用三角形和矩形每边模拟压力值设置
+ break;
+ case "ConcentricCircleCorrection":
+ // 处理同心圆识别矫正设置
+ break;
+ case "EnableAutoHide":
+ // 处理启用自动收纳设置
+ break;
+ case "EnableAutoKill":
+ // 处理启用自动查杀设置
+ break;
+ case "EnableWhiteboardKiller":
+ // 处理启用桌面画板悬浮窗杀手设置
+ break;
+ case "EnablePowerPointCom":
+ // 处理启用 PowerPoint COM 支持设置
+ break;
+ case "EnableWpsCom":
+ // 处理启用 WPS COM 支持设置
+ break;
+ case "EnableVsto":
+ // 处理启用 VSTO 支持设置
+ break;
+ default:
+ // 未知设置项
+ break;
+ }
+ }
+
+ private void OptionButton_Click(object sender, MouseButtonEventArgs e) {
+ var border = sender as Border;
+ if (border != null) {
+ string tag = border.Tag?.ToString();
+ if (!string.IsNullOrEmpty(tag)) {
+ // 清除同组其他按钮的选中状态
+ ClearOtherOptionsInGroup(border, tag);
+
+ // 设置当前按钮为选中状态
+ border.Background = new SolidColorBrush(Color.FromRgb(225, 225, 225));
+ var textBlock = border.Child as TextBlock;
+ if (textBlock != null) {
+ textBlock.FontWeight = FontWeights.Bold;
+ }
+
+ // 处理选项变化
+ HandleOptionChange(tag);
+ }
+ }
+ }
+
+ private void ClearOtherOptionsInGroup(Border currentBorder, string currentTag) {
+ // 获取当前按钮所在的父容器
+ var parent = currentBorder.Parent as StackPanel;
+ if (parent != null) {
+ // 获取组名(Tag中下划线前的部分)
+ string groupName = currentTag.Split('_')[0];
+
+ // 清除同组其他按钮的选中状态
+ foreach (var child in parent.Children) {
+ if (child is Border border && border != currentBorder) {
+ string childTag = border.Tag?.ToString();
+ if (!string.IsNullOrEmpty(childTag) && childTag.StartsWith(groupName + "_")) {
+ border.Background = new SolidColorBrush(Colors.Transparent);
+ var textBlock = border.Child as TextBlock;
+ if (textBlock != null) {
+ textBlock.FontWeight = FontWeights.Normal;
+ }
+ }
+ }
+ }
+ }
+ }
+
+ private void HandleOptionChange(string optionTag) {
+ // 根据选项标签处理不同的选项变化
+ string[] parts = optionTag.Split('_');
+ if (parts.Length >= 2) {
+ string group = parts[0];
+ string value = parts[1];
+
+ switch (group) {
+ case "EraserSize":
+ // 处理板擦橡皮大小设置
+ break;
+ case "DefaultBackgroundColor":
+ // 处理默认背景色设置
+ break;
+ case "DefaultPaperFormat":
+ // 处理默认稿纸格式设置
+ break;
+ case "AutoSaveInterval":
+ // 处理自动保存间隔设置
+ break;
+ case "ScreenshotQuality":
+ // 处理截图质量设置
+ break;
+ case "ScreenshotFormat":
+ // 处理截图格式设置
+ break;
+ case "InkRecognitionBehavior":
+ // 处理墨迹识别后转换行为设置
+ break;
+ case "Theme":
+ // 处理主题设置
+ break;
+ case "Language":
+ // 处理语言设置
+ break;
+ default:
+ // 未知选项组
+ break;
+ }
+ }
+ }
}
}