清理ColorPicker,进度条。修复UI问题
This commit is contained in:
@@ -229,6 +229,8 @@ public class ColorPanel : Control
|
||||
{
|
||||
SelectPresetColorCommand = new RelayCommand(ExecuteSelectPresetColor);
|
||||
Loaded += OnPanelLoaded;
|
||||
// 拦截面板内所有未处理的左键点击事件,防止穿透给其他控件(如DataGrid)导致焦点切换问题
|
||||
this.MouseLeftButtonDown += (s, e) => e.Handled = true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -317,8 +319,15 @@ public class ColorPanel : Control
|
||||
Debug.Assert(colorCanvas != null, nameof(colorCanvas) + " != null");
|
||||
if (colorCanvas == null) return;
|
||||
colorCanvas.CaptureMouse();
|
||||
// 先解绑再绑定,防止重复点击时引发的多次订阅问题
|
||||
colorCanvas.MouseMove -= ColorCanvas_MouseMove;
|
||||
colorCanvas.MouseUp -= ColorCanvas_MouseUp;
|
||||
|
||||
colorCanvas.MouseMove += ColorCanvas_MouseMove;
|
||||
colorCanvas.MouseUp += ColorCanvas_MouseUp;
|
||||
|
||||
// 标记事件为已处理,防止冒泡触发 DataGrid 的焦点切换
|
||||
//e.Handled = true;
|
||||
}
|
||||
|
||||
private void ColorCanvas_MouseUp(object sender, MouseButtonEventArgs e)
|
||||
@@ -329,6 +338,7 @@ public class ColorPanel : Control
|
||||
colorCanvas.ReleaseMouseCapture();
|
||||
colorCanvas.MouseMove -= ColorCanvas_MouseMove;
|
||||
colorCanvas.MouseUp -= ColorCanvas_MouseUp;
|
||||
//e.Handled = true;
|
||||
}
|
||||
|
||||
private void ColorCanvas_MouseMove(object sender, MouseEventArgs e)
|
||||
|
||||
Reference in New Issue
Block a user