add:新设置
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user