优化代码可读性

其实单纯就是强迫症
This commit is contained in:
PrefacedCorg
2025-12-27 10:51:42 +08:00
parent 80d3836e9e
commit d7e8330016
3 changed files with 76 additions and 89 deletions
+5 -5
View File
@@ -4251,16 +4251,16 @@
TouchMove="inkCanvas_TouchMove" TouchMove="inkCanvas_TouchMove"
ManipulationDelta="Main_Grid_ManipulationDelta" ManipulationDelta="Main_Grid_ManipulationDelta"
ManipulationCompleted="Main_Grid_ManipulationCompleted" ManipulationCompleted="Main_Grid_ManipulationCompleted"
ManipulationInertiaStarting="inkCanvas_ManipulationInertiaStarting" ManipulationInertiaStarting="InkCanvas_ManipulationInertiaStarting"
IsManipulationEnabled="True" IsManipulationEnabled="True"
EditingModeChanged="inkCanvas_EditingModeChanged" EditingModeChanged="inkCanvas_EditingModeChanged"
PreviewTouchDown="inkCanvas_PreviewTouchDown" PreviewTouchDown="InkCanvas_PreviewTouchDown"
PreviewTouchMove="inkCanvas_PreviewTouchMove" PreviewTouchMove="InkCanvas_PreviewTouchMove"
PreviewTouchUp="inkCanvas_PreviewTouchUp" PreviewTouchUp="InkCanvas_PreviewTouchUp"
MouseDown="inkCanvas_MouseDown" MouseDown="inkCanvas_MouseDown"
MouseMove="inkCanvas_MouseMove" MouseMove="inkCanvas_MouseMove"
MouseUp="inkCanvas_MouseUp" MouseUp="inkCanvas_MouseUp"
ManipulationStarting="inkCanvas_ManipulationStarting" ManipulationStarting="InkCanvas_ManipulationStarting"
SelectionChanged="inkCanvas_SelectionChanged" SelectionChanged="inkCanvas_SelectionChanged"
StrokeCollected="inkCanvas_StrokeCollected" StrokeCollected="inkCanvas_StrokeCollected"
ClipToBounds="False" ClipToBounds="False"
+41 -42
View File
@@ -355,8 +355,7 @@ namespace Ink_Canvas
AnimationsHelper.HideWithSlideAndFade(BoardImageOptionsPanel); AnimationsHelper.HideWithSlideAndFade(BoardImageOptionsPanel);
// 隐藏背景设置面板 // 隐藏背景设置面板
var bgPalette = LogicalTreeHelper.FindLogicalNode(this, "BackgroundPalette") as Border; if (LogicalTreeHelper.FindLogicalNode(this, "BackgroundPalette") is Border bgPalette)
if (bgPalette != null)
{ {
AnimationsHelper.HideWithSlideAndFade(bgPalette); AnimationsHelper.HideWithSlideAndFade(bgPalette);
} }
@@ -373,9 +372,9 @@ namespace Ink_Canvas
{ {
From = 0, // 滑动距离 From = 0, // 滑动距离
To = BorderSettings.RenderTransform.Value.OffsetX - 490, To = BorderSettings.RenderTransform.Value.OffsetX - 490,
Duration = TimeSpan.FromSeconds(0.6) Duration = TimeSpan.FromSeconds(0.6),
EasingFunction = new CubicEase { EasingMode = EasingMode.EaseOut }
}; };
slideAnimation.EasingFunction = new CubicEase { EasingMode = EasingMode.EaseOut };
Storyboard.SetTargetProperty(slideAnimation, Storyboard.SetTargetProperty(slideAnimation,
new PropertyPath("(UIElement.RenderTransform).(TranslateTransform.X)")); new PropertyPath("(UIElement.RenderTransform).(TranslateTransform.X)"));
@@ -592,8 +591,8 @@ namespace Ink_Canvas
{ {
//if (lastBorderMouseDownObject != sender) return; //if (lastBorderMouseDownObject != sender) return;
if (lastBorderMouseDownObject != null && lastBorderMouseDownObject is Panel) if (lastBorderMouseDownObject is Panel panel)
((Panel)lastBorderMouseDownObject).Background = new SolidColorBrush(Colors.Transparent); panel.Background = new SolidColorBrush(Colors.Transparent);
if (sender == SymbolIconUndo && lastBorderMouseDownObject != SymbolIconUndo) return; if (sender == SymbolIconUndo && lastBorderMouseDownObject != SymbolIconUndo) return;
if (!BtnUndo.IsEnabled) return; if (!BtnUndo.IsEnabled) return;
@@ -605,8 +604,8 @@ namespace Ink_Canvas
{ {
//if (lastBorderMouseDownObject != sender) return; //if (lastBorderMouseDownObject != sender) return;
if (lastBorderMouseDownObject != null && lastBorderMouseDownObject is Panel) if (lastBorderMouseDownObject is Panel panel)
((Panel)lastBorderMouseDownObject).Background = new SolidColorBrush(Colors.Transparent); panel.Background = new SolidColorBrush(Colors.Transparent);
if (sender == SymbolIconRedo && lastBorderMouseDownObject != SymbolIconRedo) return; if (sender == SymbolIconRedo && lastBorderMouseDownObject != SymbolIconRedo) return;
if (!BtnRedo.IsEnabled) return; if (!BtnRedo.IsEnabled) return;
@@ -624,8 +623,8 @@ namespace Ink_Canvas
internal void ImageBlackboard_MouseUp(object sender, MouseButtonEventArgs e) internal void ImageBlackboard_MouseUp(object sender, MouseButtonEventArgs e)
{ {
if (lastBorderMouseDownObject != null && lastBorderMouseDownObject is Panel) if (lastBorderMouseDownObject is Panel panel)
((Panel)lastBorderMouseDownObject).Background = new SolidColorBrush(Colors.Transparent); panel.Background = new SolidColorBrush(Colors.Transparent);
if (sender == WhiteboardFloatingBarBtn && lastBorderMouseDownObject != WhiteboardFloatingBarBtn) return; if (sender == WhiteboardFloatingBarBtn && lastBorderMouseDownObject != WhiteboardFloatingBarBtn) return;
LeftUnFoldButtonQuickPanel.Visibility = Visibility.Collapsed; LeftUnFoldButtonQuickPanel.Visibility = Visibility.Collapsed;
@@ -745,10 +744,7 @@ namespace Ink_Canvas
} }
// 使用PPT UI管理器来正确更新翻页按钮显示状态,确保遵循用户设置 // 使用PPT UI管理器来正确更新翻页按钮显示状态,确保遵循用户设置
if (_pptUIManager != null) _pptUIManager?.UpdateNavigationPanelsVisibility();
{
_pptUIManager.UpdateNavigationPanelsVisibility();
}
if (Settings.Automation.IsAutoSaveStrokesAtClear && if (Settings.Automation.IsAutoSaveStrokesAtClear &&
inkCanvas.Strokes.Count > Settings.Automation.MinimumAutomationStrokeNumber) SaveScreenShot(true); inkCanvas.Strokes.Count > Settings.Automation.MinimumAutomationStrokeNumber) SaveScreenShot(true);
@@ -854,8 +850,8 @@ namespace Ink_Canvas
internal void SymbolIconDelete_MouseUp(object sender, MouseButtonEventArgs e) internal void SymbolIconDelete_MouseUp(object sender, MouseButtonEventArgs e)
{ {
if (lastBorderMouseDownObject != null && lastBorderMouseDownObject is Panel) if (lastBorderMouseDownObject is Panel panel)
((Panel)lastBorderMouseDownObject).Background = new SolidColorBrush(Colors.Transparent); panel.Background = new SolidColorBrush(Colors.Transparent);
if (sender == SymbolIconDelete && lastBorderMouseDownObject != SymbolIconDelete) return; if (sender == SymbolIconDelete && lastBorderMouseDownObject != SymbolIconDelete) return;
if (inkCanvas.GetSelectedStrokes().Count > 0) if (inkCanvas.GetSelectedStrokes().Count > 0)
@@ -905,8 +901,8 @@ namespace Ink_Canvas
internal void SymbolIconSelect_MouseUp(object sender, MouseButtonEventArgs e) internal void SymbolIconSelect_MouseUp(object sender, MouseButtonEventArgs e)
{ {
if (lastBorderMouseDownObject != null && lastBorderMouseDownObject is Panel) if (lastBorderMouseDownObject is Panel panel)
((Panel)lastBorderMouseDownObject).Background = new SolidColorBrush(Colors.Transparent); panel.Background = new SolidColorBrush(Colors.Transparent);
if (sender == SymbolIconSelect && lastBorderMouseDownObject != SymbolIconSelect) return; if (sender == SymbolIconSelect && lastBorderMouseDownObject != SymbolIconSelect) return;
BtnSelect_Click(null, null); BtnSelect_Click(null, null);
@@ -935,8 +931,7 @@ namespace Ink_Canvas
if (border.Name?.StartsWith("QuickColor") == true) if (border.Name?.StartsWith("QuickColor") == true)
{ {
// 保存原始颜色并添加透明度 // 保存原始颜色并添加透明度
var originalColor = border.Background as SolidColorBrush; if (border.Background is SolidColorBrush originalColor)
if (originalColor != null)
{ {
border.Background = new SolidColorBrush(Color.FromArgb(180, originalColor.Color.R, originalColor.Color.G, originalColor.Color.B)); border.Background = new SolidColorBrush(Color.FromArgb(180, originalColor.Color.R, originalColor.Color.G, originalColor.Color.B));
} }
@@ -1343,8 +1338,10 @@ namespace Ink_Canvas
catch { } catch { }
stylusPoints.Add(stylusPoint); stylusPoints.Add(stylusPoint);
s = new Stroke(stylusPoints.Clone()); s = new Stroke(stylusPoints.Clone())
s.DrawingAttributes = stroke.DrawingAttributes; {
DrawingAttributes = stroke.DrawingAttributes
};
InkCanvasForInkReplay.Strokes.Add(s); InkCanvasForInkReplay.Strokes.Add(s);
}); });
} }
@@ -1378,8 +1375,10 @@ namespace Ink_Canvas
catch { } catch { }
stylusPoints.Add(stylusPoint); stylusPoints.Add(stylusPoint);
s = new Stroke(stylusPoints.Clone()); s = new Stroke(stylusPoints.Clone())
s.DrawingAttributes = stroke.DrawingAttributes; {
DrawingAttributes = stroke.DrawingAttributes
};
InkCanvasForInkReplay.Strokes.Add(s); InkCanvasForInkReplay.Strokes.Add(s);
}); });
} }
@@ -1507,8 +1506,8 @@ namespace Ink_Canvas
private void SymbolIconTools_MouseUp(object sender, MouseButtonEventArgs e) private void SymbolIconTools_MouseUp(object sender, MouseButtonEventArgs e)
{ {
if (lastBorderMouseDownObject != null && lastBorderMouseDownObject is Panel) if (lastBorderMouseDownObject is Panel panel)
((Panel)lastBorderMouseDownObject).Background = new SolidColorBrush(Colors.Transparent); panel.Background = new SolidColorBrush(Colors.Transparent);
if (sender == ToolsFloatingBarBtn && lastBorderMouseDownObject != ToolsFloatingBarBtn) return; if (sender == ToolsFloatingBarBtn && lastBorderMouseDownObject != ToolsFloatingBarBtn) return;
if (BorderTools.Visibility == Visibility.Visible) if (BorderTools.Visibility == Visibility.Visible)
@@ -1679,9 +1678,9 @@ namespace Ink_Canvas
{ {
Duration = TimeSpan.FromSeconds(0.35), Duration = TimeSpan.FromSeconds(0.35),
From = ViewboxFloatingBar.Margin, From = ViewboxFloatingBar.Margin,
To = new Thickness(pos.X, pos.Y, 0, -20) To = new Thickness(pos.X, pos.Y, 0, -20),
EasingFunction = new CircleEase()
}; };
marginAnimation.EasingFunction = new CircleEase();
ViewboxFloatingBar.BeginAnimation(MarginProperty, marginAnimation); ViewboxFloatingBar.BeginAnimation(MarginProperty, marginAnimation);
}); });
@@ -1784,9 +1783,9 @@ namespace Ink_Canvas
{ {
Duration = TimeSpan.FromSeconds(0.35), Duration = TimeSpan.FromSeconds(0.35),
From = ViewboxFloatingBar.Margin, From = ViewboxFloatingBar.Margin,
To = new Thickness(pos.X, pos.Y, 0, -20) To = new Thickness(pos.X, pos.Y, 0, -20),
EasingFunction = new CircleEase()
}; };
marginAnimation.EasingFunction = new CircleEase();
ViewboxFloatingBar.BeginAnimation(MarginProperty, marginAnimation); ViewboxFloatingBar.BeginAnimation(MarginProperty, marginAnimation);
}); });
@@ -1882,9 +1881,9 @@ namespace Ink_Canvas
{ {
Duration = TimeSpan.FromSeconds(0.35), Duration = TimeSpan.FromSeconds(0.35),
From = ViewboxFloatingBar.Margin, From = ViewboxFloatingBar.Margin,
To = new Thickness(pos.X, pos.Y, 0, -20) To = new Thickness(pos.X, pos.Y, 0, -20),
EasingFunction = new CircleEase()
}; };
marginAnimation.EasingFunction = new CircleEase();
ViewboxFloatingBar.BeginAnimation(MarginProperty, marginAnimation); ViewboxFloatingBar.BeginAnimation(MarginProperty, marginAnimation);
}); });
@@ -1917,8 +1916,8 @@ namespace Ink_Canvas
internal async void CursorIcon_Click(object sender, RoutedEventArgs e) internal async void CursorIcon_Click(object sender, RoutedEventArgs e)
{ {
if (lastBorderMouseDownObject != null && lastBorderMouseDownObject is Panel) if (lastBorderMouseDownObject is Panel panel)
((Panel)lastBorderMouseDownObject).Background = new SolidColorBrush(Colors.Transparent); panel.Background = new SolidColorBrush(Colors.Transparent);
if (sender == Cursor_Icon && lastBorderMouseDownObject != Cursor_Icon) return; if (sender == Cursor_Icon && lastBorderMouseDownObject != Cursor_Icon) return;
// 禁用高级橡皮擦系统 // 禁用高级橡皮擦系统
@@ -2029,8 +2028,8 @@ namespace Ink_Canvas
internal void PenIcon_Click(object sender, RoutedEventArgs e) internal void PenIcon_Click(object sender, RoutedEventArgs e)
{ {
if (lastBorderMouseDownObject != null && lastBorderMouseDownObject is Panel) if (lastBorderMouseDownObject is Panel panel)
((Panel)lastBorderMouseDownObject).Background = new SolidColorBrush(Colors.Transparent); panel.Background = new SolidColorBrush(Colors.Transparent);
if (sender == Pen_Icon && lastBorderMouseDownObject != Pen_Icon) return; if (sender == Pen_Icon && lastBorderMouseDownObject != Pen_Icon) return;
// 如果当前有选中的图片元素,先取消选中 // 如果当前有选中的图片元素,先取消选中
@@ -2372,8 +2371,8 @@ namespace Ink_Canvas
private void EraserIconByStrokes_Click(object sender, RoutedEventArgs e) private void EraserIconByStrokes_Click(object sender, RoutedEventArgs e)
{ {
if (lastBorderMouseDownObject != null && lastBorderMouseDownObject is Panel) if (lastBorderMouseDownObject is Panel panel)
((Panel)lastBorderMouseDownObject).Background = new SolidColorBrush(Colors.Transparent); panel.Background = new SolidColorBrush(Colors.Transparent);
if (sender == EraserByStrokes_Icon && lastBorderMouseDownObject != EraserByStrokes_Icon) return; if (sender == EraserByStrokes_Icon && lastBorderMouseDownObject != EraserByStrokes_Icon) return;
// 禁用高级橡皮擦系统 // 禁用高级橡皮擦系统
@@ -2404,8 +2403,8 @@ namespace Ink_Canvas
private void CursorWithDelIcon_Click(object sender, RoutedEventArgs e) private void CursorWithDelIcon_Click(object sender, RoutedEventArgs e)
{ {
if (lastBorderMouseDownObject != null && lastBorderMouseDownObject is Panel) if (lastBorderMouseDownObject is Panel panel)
((Panel)lastBorderMouseDownObject).Background = new SolidColorBrush(Colors.Transparent); panel.Background = new SolidColorBrush(Colors.Transparent);
if (sender == CursorWithDelFloatingBarBtn && lastBorderMouseDownObject != CursorWithDelFloatingBarBtn) return; if (sender == CursorWithDelFloatingBarBtn && lastBorderMouseDownObject != CursorWithDelFloatingBarBtn) return;
SymbolIconDelete_MouseUp(sender, null); SymbolIconDelete_MouseUp(sender, null);
@@ -2843,9 +2842,9 @@ namespace Ink_Canvas
{ {
From = BorderSettings.RenderTransform.Value.OffsetX - 490, // 滑动距离 From = BorderSettings.RenderTransform.Value.OffsetX - 490, // 滑动距离
To = 0, To = 0,
Duration = TimeSpan.FromSeconds(0.6) Duration = TimeSpan.FromSeconds(0.6),
EasingFunction = new CubicEase { EasingMode = EasingMode.EaseOut }
}; };
slideAnimation.EasingFunction = new CubicEase { EasingMode = EasingMode.EaseOut };
Storyboard.SetTargetProperty(slideAnimation, Storyboard.SetTargetProperty(slideAnimation,
new PropertyPath("(UIElement.RenderTransform).(TranslateTransform.X)")); new PropertyPath("(UIElement.RenderTransform).(TranslateTransform.X)"));
+30 -42
View File
@@ -95,53 +95,43 @@ namespace Ink_Canvas
} }
else if (originalElement is MediaElement originalMedia) else if (originalElement is MediaElement originalMedia)
{ {
var clonedMedia = new MediaElement(); var clonedMedia = new MediaElement
{
// 复制媒体属性 Source = originalMedia.Source,
clonedMedia.Source = originalMedia.Source; Width = originalMedia.Width,
clonedMedia.Width = originalMedia.Width; Height = originalMedia.Height,
clonedMedia.Height = originalMedia.Height; Name = originalMedia.Name,
clonedMedia.Name = originalMedia.Name; IsHitTestVisible = originalMedia.IsHitTestVisible,
clonedMedia.IsHitTestVisible = originalMedia.IsHitTestVisible; Focusable = originalMedia.Focusable,
clonedMedia.Focusable = originalMedia.Focusable; RenderTransform = originalMedia.RenderTransform?.Clone()
};
// 复制位置 // 复制位置
InkCanvas.SetLeft(clonedMedia, InkCanvas.GetLeft(originalMedia)); InkCanvas.SetLeft(clonedMedia, InkCanvas.GetLeft(originalMedia));
InkCanvas.SetTop(clonedMedia, InkCanvas.GetTop(originalMedia)); InkCanvas.SetTop(clonedMedia, InkCanvas.GetTop(originalMedia));
// 复制变换
if (originalMedia.RenderTransform != null)
{
clonedMedia.RenderTransform = originalMedia.RenderTransform.Clone();
}
return clonedMedia; return clonedMedia;
} }
else if (originalElement is Border originalBorder) else if (originalElement is Border originalBorder)
{ {
var clonedBorder = new Border(); var clonedBorder = new Border
{
// 复制边框属性 Width = originalBorder.Width,
clonedBorder.Width = originalBorder.Width; Height = originalBorder.Height,
clonedBorder.Height = originalBorder.Height; Name = originalBorder.Name,
clonedBorder.Name = originalBorder.Name; IsHitTestVisible = originalBorder.IsHitTestVisible,
clonedBorder.IsHitTestVisible = originalBorder.IsHitTestVisible; Focusable = originalBorder.Focusable,
clonedBorder.Focusable = originalBorder.Focusable; Background = originalBorder.Background,
clonedBorder.Background = originalBorder.Background; BorderBrush = originalBorder.BorderBrush,
clonedBorder.BorderBrush = originalBorder.BorderBrush; BorderThickness = originalBorder.BorderThickness,
clonedBorder.BorderThickness = originalBorder.BorderThickness; CornerRadius = originalBorder.CornerRadius,
clonedBorder.CornerRadius = originalBorder.CornerRadius; RenderTransform = originalBorder.RenderTransform?.Clone()
};
// 复制位置 // 复制位置
InkCanvas.SetLeft(clonedBorder, InkCanvas.GetLeft(originalBorder)); InkCanvas.SetLeft(clonedBorder, InkCanvas.GetLeft(originalBorder));
InkCanvas.SetTop(clonedBorder, InkCanvas.GetTop(originalBorder)); InkCanvas.SetTop(clonedBorder, InkCanvas.GetTop(originalBorder));
// 复制变换
if (originalBorder.RenderTransform != null)
{
clonedBorder.RenderTransform = originalBorder.RenderTransform.Clone();
}
return clonedBorder; return clonedBorder;
} }
} }
@@ -578,7 +568,7 @@ namespace Ink_Canvas
return value; return value;
} }
private void inkCanvas_PreviewTouchDown(object sender, TouchEventArgs e) private void InkCanvas_PreviewTouchDown(object sender, TouchEventArgs e)
{ {
inkCanvas.CaptureTouch(e.TouchDevice); inkCanvas.CaptureTouch(e.TouchDevice);
ViewboxFloatingBar.IsHitTestVisible = false; ViewboxFloatingBar.IsHitTestVisible = false;
@@ -605,11 +595,11 @@ namespace Ink_Canvas
} }
} }
private void inkCanvas_PreviewTouchMove(object sender, TouchEventArgs e) private void InkCanvas_PreviewTouchMove(object sender, TouchEventArgs e)
{ {
} }
private void inkCanvas_PreviewTouchUp(object sender, TouchEventArgs e) private void InkCanvas_PreviewTouchUp(object sender, TouchEventArgs e)
{ {
inkCanvas.ReleaseAllTouchCaptures(); inkCanvas.ReleaseAllTouchCaptures();
ViewboxFloatingBar.IsHitTestVisible = true; ViewboxFloatingBar.IsHitTestVisible = true;
@@ -691,12 +681,12 @@ namespace Ink_Canvas
} }
} }
private void inkCanvas_ManipulationStarting(object sender, ManipulationStartingEventArgs e) private void InkCanvas_ManipulationStarting(object sender, ManipulationStartingEventArgs e)
{ {
e.Mode = ManipulationModes.All; e.Mode = ManipulationModes.All;
} }
private void inkCanvas_ManipulationInertiaStarting(object sender, ManipulationInertiaStartingEventArgs e) { } private void InkCanvas_ManipulationInertiaStarting(object sender, ManipulationInertiaStartingEventArgs e) { }
private void Main_Grid_ManipulationCompleted(object sender, ManipulationCompletedEventArgs e) private void Main_Grid_ManipulationCompleted(object sender, ManipulationCompletedEventArgs e)
{ {
@@ -867,8 +857,7 @@ namespace Ink_Canvas
try try
{ {
// 获取图片的RenderTransform,如果不存在则创建新的TransformGroup // 获取图片的RenderTransform,如果不存在则创建新的TransformGroup
TransformGroup transformGroup = image.RenderTransform as TransformGroup; if (!(image.RenderTransform is TransformGroup transformGroup))
if (transformGroup == null)
{ {
transformGroup = new TransformGroup(); transformGroup = new TransformGroup();
image.RenderTransform = transformGroup; image.RenderTransform = transformGroup;
@@ -892,8 +881,7 @@ namespace Ink_Canvas
try try
{ {
// 获取媒体元素的RenderTransform,如果不存在则创建新的TransformGroup // 获取媒体元素的RenderTransform,如果不存在则创建新的TransformGroup
TransformGroup transformGroup = mediaElement.RenderTransform as TransformGroup; if (!(mediaElement.RenderTransform is TransformGroup transformGroup))
if (transformGroup == null)
{ {
transformGroup = new TransformGroup(); transformGroup = new TransformGroup();
mediaElement.RenderTransform = transformGroup; mediaElement.RenderTransform = transformGroup;