优化代码

This commit is contained in:
2025-08-30 19:40:14 +08:00
parent 636769c0ef
commit 96c51cd7ff
18 changed files with 368 additions and 380 deletions
+6 -7
View File
@@ -1,6 +1,5 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows;
using System.Windows.Media.Animation;
using System.Windows.Threading;
@@ -107,7 +106,7 @@ namespace Ink_Canvas.Helpers
{
// 将墨迹添加到 inkCanvas 的父容器中,而不是 inkCanvas.Children
// 这样可以避免坐标系统问题
var parent = _mainWindow.inkCanvas.Parent as System.Windows.Controls.Panel;
var parent = _mainWindow.inkCanvas.Parent as Panel;
if (parent != null)
{
parent.Children.Add(strokeVisual);
@@ -154,7 +153,7 @@ namespace Ink_Canvas.Helpers
try
{
// 从父容器中移除墨迹
var parent = _mainWindow.inkCanvas?.Parent as System.Windows.Controls.Panel;
var parent = _mainWindow.inkCanvas?.Parent as Panel;
if (parent != null && parent.Children.Contains(visual))
{
parent.Children.Remove(visual);
@@ -202,7 +201,7 @@ namespace Ink_Canvas.Helpers
{
if (_mainWindow.inkCanvas != null)
{
var parent = _mainWindow.inkCanvas.Parent as System.Windows.Controls.Panel;
var parent = _mainWindow.inkCanvas.Parent as Panel;
foreach (var visual in _strokeVisuals.Values)
{
if (parent != null && parent.Children.Contains(visual))
@@ -454,7 +453,7 @@ namespace Ink_Canvas.Helpers
originalVisual.Visibility = Visibility.Hidden;
var segments = new List<UIElement>();
var parent = _mainWindow.inkCanvas?.Parent as System.Windows.Controls.Panel;
var parent = _mainWindow.inkCanvas?.Parent as Panel;
if (parent == null)
{
// 如果父容器不是Panel,直接使用InkCanvas
@@ -676,7 +675,7 @@ namespace Ink_Canvas.Helpers
try
{
// 移除所有分段
var parent = _mainWindow.inkCanvas?.Parent as System.Windows.Controls.Panel;
var parent = _mainWindow.inkCanvas?.Parent as Panel;
foreach (var segment in segments)
{
@@ -811,7 +810,7 @@ namespace Ink_Canvas.Helpers
try
{
// 从父容器中移除墨迹
var parent = _mainWindow.inkCanvas?.Parent as System.Windows.Controls.Panel;
var parent = _mainWindow.inkCanvas?.Parent as Panel;
if (parent != null && parent.Children.Contains(visual))
{
parent.Children.Remove(visual);