diff --git a/Ink Canvas/MainWindow.xaml b/Ink Canvas/MainWindow.xaml index a53db6da..4dc1790a 100644 --- a/Ink Canvas/MainWindow.xaml +++ b/Ink Canvas/MainWindow.xaml @@ -1128,7 +1128,7 @@ + Foreground="#a1a1aa" HorizontalAlignment="Stretch" /> @@ -5634,16 +5634,16 @@ VerticalAlignment="Center" Name="BoardComboBoxPenStyle" FontFamily="Microsoft YaHei UI" - SelectedIndex="0" + SelectedIndex="1" SelectionChanged="ComboBoxPenStyle_SelectionChanged"> + - + - diff --git a/Ink Canvas/MainWindow_cs/MW_Settings.cs b/Ink Canvas/MainWindow_cs/MW_Settings.cs index 1c318354..41415488 100644 --- a/Ink Canvas/MainWindow_cs/MW_Settings.cs +++ b/Ink Canvas/MainWindow_cs/MW_Settings.cs @@ -2784,19 +2784,44 @@ namespace Ink_Canvas #region Canvas + /// 笔锋下拉 UI 顺序:0 实时笔锋,1 基于点集,2 基于速率,3 关闭。与存储值 InkStyle:3,0,1,2 对应。 + private static int PenStyleUiIndexFromInkStyle(int inkStyle) + { + switch (inkStyle) + { + case 3: return 0; + case 0: return 1; + case 1: return 2; + case 2: return 3; + default: return 1; + } + } + + private static int InkStyleFromPenStyleUiIndex(int uiIndex) + { + switch (uiIndex) + { + case 0: return 3; + case 1: return 0; + case 2: return 1; + case 3: return 2; + default: return 0; + } + } + private void ComboBoxPenStyle_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (!isLoaded) return; + int uiIndex = sender == ComboBoxPenStyle + ? ComboBoxPenStyle.SelectedIndex + : BoardComboBoxPenStyle.SelectedIndex; + if (uiIndex < 0) return; + + Settings.Canvas.InkStyle = InkStyleFromPenStyleUiIndex(uiIndex); if (sender == ComboBoxPenStyle) - { - Settings.Canvas.InkStyle = ComboBoxPenStyle.SelectedIndex; - BoardComboBoxPenStyle.SelectedIndex = ComboBoxPenStyle.SelectedIndex; - } + BoardComboBoxPenStyle.SelectedIndex = uiIndex; else - { - Settings.Canvas.InkStyle = BoardComboBoxPenStyle.SelectedIndex; - ComboBoxPenStyle.SelectedIndex = BoardComboBoxPenStyle.SelectedIndex; - } + ComboBoxPenStyle.SelectedIndex = uiIndex; SaveSettingsToFile(); } diff --git a/Ink Canvas/MainWindow_cs/MW_SettingsToLoad.cs b/Ink Canvas/MainWindow_cs/MW_SettingsToLoad.cs index f6249d67..2a3e9247 100644 --- a/Ink Canvas/MainWindow_cs/MW_SettingsToLoad.cs +++ b/Ink Canvas/MainWindow_cs/MW_SettingsToLoad.cs @@ -833,8 +833,9 @@ namespace Ink_Canvas if (Settings.Canvas.InkStyle < 0 || Settings.Canvas.InkStyle > 3) Settings.Canvas.InkStyle = 0; - ComboBoxPenStyle.SelectedIndex = Settings.Canvas.InkStyle; - BoardComboBoxPenStyle.SelectedIndex = Settings.Canvas.InkStyle; + int penStyleUi = PenStyleUiIndexFromInkStyle(Settings.Canvas.InkStyle); + ComboBoxPenStyle.SelectedIndex = penStyleUi; + BoardComboBoxPenStyle.SelectedIndex = penStyleUi; ComboBoxEraserSize.SelectedIndex = Settings.Canvas.EraserSize; ComboBoxEraserSizeFloatingBar.SelectedIndex = Settings.Canvas.EraserSize; diff --git a/Ink Canvas/Resources/Settings.cs b/Ink Canvas/Resources/Settings.cs index 418544e1..f6fe9229 100644 --- a/Ink Canvas/Resources/Settings.cs +++ b/Ink Canvas/Resources/Settings.cs @@ -69,7 +69,7 @@ namespace Ink_Canvas public double InkAlpha { get; set; } = 255; [JsonProperty("isShowCursor")] public bool IsShowCursor { get; set; } - /// 笔锋:0 基于点集,1 基于速率,2 关闭,3 实时(速度与压感混合)。 + /// 笔锋存储值:0 基于点集,1 基于速率,2 关闭,3 实时笔锋(速度与压感混合)。界面下拉顺序为实时笔锋、点集、速率、关闭。 [JsonProperty("inkStyle")] public int InkStyle { get; set; } [JsonProperty("eraserSize")]