add:按钮显示控制

This commit is contained in:
2025-08-11 22:42:36 +08:00
parent 6b5a375542
commit 152be89860
6 changed files with 228 additions and 59 deletions
+154 -42
View File
@@ -1227,6 +1227,22 @@
Toggled="ToggleSwitchShowHideButton_Toggled" />
</ui:SimpleStackPanel>
<ui:SimpleStackPanel Orientation="Horizontal" HorizontalAlignment="Left">
<TextBlock Foreground="#fafafa" Text="显示套索选择按钮" VerticalAlignment="Center"
FontSize="14" Margin="0,0,16,0" />
<ui:ToggleSwitch OnContent="" OffContent="" Name="ToggleSwitchShowLassoSelectButton"
IsOn="True" FontFamily="Microsoft YaHei UI" FontWeight="Bold"
Toggled="ToggleSwitchShowLassoSelectButton_Toggled" />
</ui:SimpleStackPanel>
<ui:SimpleStackPanel Orientation="Horizontal" HorizontalAlignment="Left">
<TextBlock Foreground="#fafafa" Text="显示清并鼠按钮" VerticalAlignment="Center"
FontSize="14" Margin="0,0,16,0" />
<ui:ToggleSwitch OnContent="" OffContent="" Name="ToggleSwitchShowClearAndMouseButton"
IsOn="True" FontFamily="Microsoft YaHei UI" FontWeight="Bold"
Toggled="ToggleSwitchShowClearAndMouseButton_Toggled" />
</ui:SimpleStackPanel>
<ui:SimpleStackPanel Orientation="Horizontal" HorizontalAlignment="Left">
<TextBlock Foreground="#fafafa" Text="显示快捷调色盘" VerticalAlignment="Center"
FontSize="14" Margin="0,0,16,0" />
@@ -6276,13 +6292,29 @@
</Style.Triggers>
</Style>
</Border.Style>
<Canvas>
<Ellipse Name="QuickColorWhiteIndicator"
Width="6" Height="6"
Fill="Green"
Canvas.Left="5" Canvas.Top="5"
Visibility="Collapsed"/>
</Canvas>
<!-- 高光效果容器 -->
<Grid>
<!-- 高光效果 -->
<Ellipse Name="QuickColorWhiteGlow"
Width="22" Height="22"
Fill="Transparent"
Stroke="White"
StrokeThickness="3"
Opacity="1.0"
Visibility="Collapsed"
HorizontalAlignment="Center"
VerticalAlignment="Center"/>
<!-- 外圈阴影效果 -->
<Ellipse Name="QuickColorWhiteGlowShadow"
Width="24" Height="24"
Fill="Transparent"
Stroke="#FFD700"
StrokeThickness="1"
Opacity="0.8"
Visibility="Collapsed"
HorizontalAlignment="Center"
VerticalAlignment="Center"/>
</Grid>
</Border>
<!-- 橙色 -->
@@ -6307,13 +6339,29 @@
</Style.Triggers>
</Style>
</Border.Style>
<Canvas>
<Ellipse Name="QuickColorOrangeIndicator"
Width="6" Height="6"
Fill="Green"
Canvas.Left="5" Canvas.Top="5"
Visibility="Collapsed"/>
</Canvas>
<!-- 高光效果容器 -->
<Grid>
<!-- 高光效果 -->
<Ellipse Name="QuickColorOrangeGlow"
Width="22" Height="22"
Fill="Transparent"
Stroke="White"
StrokeThickness="3"
Opacity="1.0"
Visibility="Collapsed"
HorizontalAlignment="Center"
VerticalAlignment="Center"/>
<!-- 外圈阴影效果 -->
<Ellipse Name="QuickColorOrangeGlowShadow"
Width="24" Height="24"
Fill="Transparent"
Stroke="#FFD700"
StrokeThickness="1"
Opacity="0.8"
Visibility="Collapsed"
HorizontalAlignment="Center"
VerticalAlignment="Center"/>
</Grid>
</Border>
<!-- 黄色 -->
@@ -6338,13 +6386,29 @@
</Style.Triggers>
</Style>
</Border.Style>
<Canvas>
<Ellipse Name="QuickColorYellowIndicator"
Width="6" Height="6"
Fill="Green"
Canvas.Left="5" Canvas.Top="5"
Visibility="Collapsed"/>
</Canvas>
<!-- 高光效果容器 -->
<Grid>
<!-- 高光效果 -->
<Ellipse Name="QuickColorYellowGlow"
Width="22" Height="22"
Fill="Transparent"
Stroke="White"
StrokeThickness="3"
Opacity="1.0"
Visibility="Collapsed"
HorizontalAlignment="Center"
VerticalAlignment="Center"/>
<!-- 外圈阴影效果 -->
<Ellipse Name="QuickColorYellowGlowShadow"
Width="24" Height="24"
Fill="Transparent"
Stroke="#FFD700"
StrokeThickness="1"
Opacity="0.8"
Visibility="Collapsed"
HorizontalAlignment="Center"
VerticalAlignment="Center"/>
</Grid>
</Border>
<!-- 黑色 -->
@@ -6369,13 +6433,29 @@
</Style.Triggers>
</Style>
</Border.Style>
<Canvas>
<Ellipse Name="QuickColorBlackIndicator"
Width="6" Height="6"
Fill="Green"
Canvas.Left="5" Canvas.Top="5"
Visibility="Collapsed"/>
</Canvas>
<!-- 高光效果容器 -->
<Grid>
<!-- 高光效果 -->
<Ellipse Name="QuickColorBlackGlow"
Width="22" Height="22"
Fill="Transparent"
Stroke="White"
StrokeThickness="3"
Opacity="1.0"
Visibility="Collapsed"
HorizontalAlignment="Center"
VerticalAlignment="Center"/>
<!-- 外圈阴影效果 -->
<Ellipse Name="QuickColorBlackGlowShadow"
Width="24" Height="24"
Fill="Transparent"
Stroke="#FFD700"
StrokeThickness="1"
Opacity="0.8"
Visibility="Collapsed"
HorizontalAlignment="Center"
VerticalAlignment="Center"/>
</Grid>
</Border>
<!-- 蓝色 -->
@@ -6400,13 +6480,29 @@
</Style.Triggers>
</Style>
</Border.Style>
<Canvas>
<Ellipse Name="QuickColorBlueIndicator"
Width="6" Height="6"
Fill="Green"
Canvas.Left="5" Canvas.Top="5"
Visibility="Collapsed"/>
</Canvas>
<!-- 高光效果容器 -->
<Grid>
<!-- 高光效果 -->
<Ellipse Name="QuickColorBlueGlow"
Width="22" Height="22"
Fill="Transparent"
Stroke="White"
StrokeThickness="3"
Opacity="1.0"
Visibility="Collapsed"
HorizontalAlignment="Center"
VerticalAlignment="Center"/>
<!-- 外圈阴影效果 -->
<Ellipse Name="QuickColorBlueGlowShadow"
Width="24" Height="24"
Fill="Transparent"
Stroke="#FFD700"
StrokeThickness="1"
Opacity="0.8"
Visibility="Collapsed"
HorizontalAlignment="Center"
VerticalAlignment="Center"/>
</Grid>
</Border>
<!-- 红色 -->
@@ -6431,13 +6527,29 @@
</Style.Triggers>
</Style>
</Border.Style>
<Canvas>
<Ellipse Name="QuickColorRedIndicator"
Width="6" Height="6"
Fill="Green"
Canvas.Left="5" Canvas.Top="5"
Visibility="Collapsed"/>
</Canvas>
<!-- 高光效果容器 -->
<Grid>
<!-- 高光效果 -->
<Ellipse Name="QuickColorRedGlow"
Width="22" Height="22"
Fill="Transparent"
Stroke="White"
StrokeThickness="3"
Opacity="1.0"
Visibility="Collapsed"
HorizontalAlignment="Center"
VerticalAlignment="Center"/>
<!-- 外圈阴影效果 -->
<Ellipse Name="QuickColorRedGlowShadow"
Width="24" Height="24"
Fill="Transparent"
Stroke="#FFD700"
StrokeThickness="1"
Opacity="0.8"
Visibility="Collapsed"
HorizontalAlignment="Center"
VerticalAlignment="Center"/>
</Grid>
</Border>
</ui:SimpleStackPanel>
+38 -14
View File
@@ -1892,37 +1892,61 @@ namespace Ink_Canvas
private void UpdateQuickColorPaletteIndicator(Color selectedColor)
{
// 隐藏所有指示器
QuickColorWhiteIndicator.Visibility = Visibility.Collapsed;
QuickColorOrangeIndicator.Visibility = Visibility.Collapsed;
QuickColorYellowIndicator.Visibility = Visibility.Collapsed;
QuickColorBlackIndicator.Visibility = Visibility.Collapsed;
QuickColorBlueIndicator.Visibility = Visibility.Collapsed;
QuickColorRedIndicator.Visibility = Visibility.Collapsed;
// 隐藏所有高光效果和外圈阴影
QuickColorWhiteGlow.Visibility = Visibility.Collapsed;
QuickColorWhiteGlowShadow.Visibility = Visibility.Collapsed;
QuickColorOrangeGlow.Visibility = Visibility.Collapsed;
QuickColorOrangeGlowShadow.Visibility = Visibility.Collapsed;
QuickColorYellowGlow.Visibility = Visibility.Collapsed;
QuickColorYellowGlowShadow.Visibility = Visibility.Collapsed;
QuickColorBlackGlow.Visibility = Visibility.Collapsed;
QuickColorBlackGlowShadow.Visibility = Visibility.Collapsed;
QuickColorBlueGlow.Visibility = Visibility.Collapsed;
QuickColorBlueGlowShadow.Visibility = Visibility.Collapsed;
QuickColorRedGlow.Visibility = Visibility.Collapsed;
QuickColorRedGlowShadow.Visibility = Visibility.Collapsed;
// 显示当前选中颜色的指示器
// 显示当前选中颜色的高光效果和外圈阴影
// 使用更精确的颜色匹配,减少容差范围避免误判
if (IsColorSimilar(selectedColor, Colors.White, 10) || IsColorSimilar(selectedColor, Color.FromRgb(250, 250, 250), 10))
QuickColorWhiteIndicator.Visibility = Visibility.Visible;
{
QuickColorWhiteGlow.Visibility = Visibility.Visible;
QuickColorWhiteGlowShadow.Visibility = Visibility.Visible;
}
else if (IsColorSimilar(selectedColor, Colors.Black, 10))
QuickColorBlackIndicator.Visibility = Visibility.Visible;
{
QuickColorBlackGlow.Visibility = Visibility.Visible;
QuickColorBlackGlowShadow.Visibility = Visibility.Visible;
}
else if (IsColorSimilar(selectedColor, Colors.Yellow, 15) ||
IsColorSimilar(selectedColor, Color.FromRgb(234, 179, 8), 15) ||
IsColorSimilar(selectedColor, Color.FromRgb(250, 204, 21), 15) ||
IsColorSimilar(selectedColor, Color.FromRgb(253, 224, 71), 15))
QuickColorYellowIndicator.Visibility = Visibility.Visible;
{
QuickColorYellowGlow.Visibility = Visibility.Visible;
QuickColorYellowGlowShadow.Visibility = Visibility.Visible;
}
else if (IsColorSimilar(selectedColor, Color.FromRgb(255, 165, 0), 15) ||
IsColorSimilar(selectedColor, Color.FromRgb(249, 115, 22), 15) ||
IsColorSimilar(selectedColor, Color.FromRgb(234, 88, 12), 15))
QuickColorOrangeIndicator.Visibility = Visibility.Visible;
{
QuickColorOrangeGlow.Visibility = Visibility.Visible;
QuickColorOrangeGlowShadow.Visibility = Visibility.Visible;
}
else if (IsColorSimilar(selectedColor, Color.FromRgb(0, 102, 255), 15) ||
IsColorSimilar(selectedColor, Color.FromRgb(37, 99, 235), 15) ||
IsColorSimilar(selectedColor, Color.FromRgb(59, 130, 246), 15))
QuickColorBlueIndicator.Visibility = Visibility.Visible;
{
QuickColorBlueGlow.Visibility = Visibility.Visible;
QuickColorBlueGlowShadow.Visibility = Visibility.Visible;
}
else if (IsColorSimilar(selectedColor, Colors.Red, 15) ||
IsColorSimilar(selectedColor, Color.FromRgb(220, 38, 38), 15) ||
IsColorSimilar(selectedColor, Color.FromRgb(239, 68, 68), 15))
QuickColorRedIndicator.Visibility = Visibility.Visible;
{
QuickColorRedGlow.Visibility = Visibility.Visible;
QuickColorRedGlowShadow.Visibility = Visibility.Visible;
}
}
/// <summary>
+26
View File
@@ -1861,6 +1861,8 @@ namespace Ink_Canvas
Settings.Appearance.IsShowClearButton = true;
Settings.Appearance.IsShowWhiteboardButton = true;
Settings.Appearance.IsShowHideButton = true;
Settings.Appearance.IsShowLassoSelectButton = true;
Settings.Appearance.IsShowClearAndMouseButton = true;
Settings.Appearance.IsShowQuickColorPalette = false;
Settings.Appearance.EraserDisplayOption = 0;
@@ -2381,6 +2383,22 @@ namespace Ink_Canvas
SaveSettingsToFile();
}
private void ToggleSwitchShowLassoSelectButton_Toggled(object sender, RoutedEventArgs e)
{
if (!isLoaded) return;
Settings.Appearance.IsShowLassoSelectButton = ToggleSwitchShowLassoSelectButton.IsOn;
UpdateFloatingBarButtonsVisibility();
SaveSettingsToFile();
}
private void ToggleSwitchShowClearAndMouseButton_Toggled(object sender, RoutedEventArgs e)
{
if (!isLoaded) return;
Settings.Appearance.IsShowClearAndMouseButton = ToggleSwitchShowClearAndMouseButton.IsOn;
UpdateFloatingBarButtonsVisibility();
SaveSettingsToFile();
}
private void ToggleSwitchShowHideButton_Toggled(object sender, RoutedEventArgs e)
{
if (!isLoaded) return;
@@ -2438,6 +2456,14 @@ namespace Ink_Canvas
if (QuickColorPalettePanel != null)
QuickColorPalettePanel.Visibility = Settings.Appearance.IsShowQuickColorPalette ? Visibility.Visible : Visibility.Collapsed;
// 套索选择按钮
if (SymbolIconSelect != null)
SymbolIconSelect.Visibility = Settings.Appearance.IsShowLassoSelectButton ? Visibility.Visible : Visibility.Collapsed;
// 清并鼠按钮
if (CursorWithDelFloatingBarBtn != null)
CursorWithDelFloatingBarBtn.Visibility = Settings.Appearance.IsShowClearAndMouseButton ? Visibility.Visible : Visibility.Collapsed;
// 橡皮按钮显示控制
if (Eraser_Icon != null && EraserByStrokes_Icon != null)
{
@@ -314,6 +314,8 @@ namespace Ink_Canvas
ToggleSwitchShowWhiteboardButton.IsOn = Settings.Appearance.IsShowWhiteboardButton;
ToggleSwitchShowHideButton.IsOn = Settings.Appearance.IsShowHideButton;
ToggleSwitchShowQuickColorPalette.IsOn = Settings.Appearance.IsShowQuickColorPalette;
ToggleSwitchShowLassoSelectButton.IsOn = Settings.Appearance.IsShowLassoSelectButton;
ToggleSwitchShowClearAndMouseButton.IsOn = Settings.Appearance.IsShowClearAndMouseButton;
ComboBoxEraserDisplayOption.SelectedIndex = Settings.Appearance.EraserDisplayOption;
// 初始化快捷调色盘指示器
+8 -3
View File
@@ -207,13 +207,18 @@ namespace Ink_Canvas
[JsonProperty("isShowWhiteboardButton")]
public bool IsShowWhiteboardButton { get; set; } = true;
[JsonProperty("isShowHideButton")]
public bool IsShowHideButton { get; set; } = true;
public bool IsShowHideButton { get; set; } = true;
[JsonProperty("isShowLassoSelectButton")]
public bool IsShowLassoSelectButton { get; set; } = true;
[JsonProperty("isShowClearAndMouseButton")]
public bool IsShowClearAndMouseButton { get; set; } = true;
[JsonProperty("eraserDisplayOption")]
public int EraserDisplayOption { get; set; } = 0;
[JsonProperty("isShowQuickColorPalette")]
public bool IsShowQuickColorPalette { get; set; } = false;
public bool IsShowQuickColorPalette { get; set; } = false;
}
public class PowerPointSettings