流程图,单击切换,双击禁用或激活
This commit is contained in:
@@ -59,6 +59,8 @@ namespace XplorePlane.Views
|
||||
PipelineListBox.PreviewMouseMove += OnPreviewMouseMove;
|
||||
PipelineListBox.PreviewMouseLeftButtonUp -= OnPreviewMouseLeftButtonUp;
|
||||
PipelineListBox.PreviewMouseLeftButtonUp += OnPreviewMouseLeftButtonUp;
|
||||
PipelineListBox.MouseDoubleClick -= OnMouseDoubleClick;
|
||||
PipelineListBox.MouseDoubleClick += OnMouseDoubleClick;
|
||||
PipelineListBox.PreviewKeyDown -= OnPreviewKeyDown;
|
||||
PipelineListBox.PreviewKeyDown += OnPreviewKeyDown;
|
||||
}
|
||||
@@ -103,7 +105,6 @@ namespace XplorePlane.Views
|
||||
|
||||
private void OnPreviewMouseLeftButtonUp(object sender, MouseButtonEventArgs e)
|
||||
{
|
||||
var vm = DataContext as IPipelineEditorHostViewModel;
|
||||
var clickedNode = FindNodeFromOriginalSource(e.OriginalSource);
|
||||
|
||||
if (_isInternalDragging)
|
||||
@@ -119,19 +120,32 @@ namespace XplorePlane.Views
|
||||
return;
|
||||
}
|
||||
|
||||
if (vm == null || clickedNode == null || IsInteractiveChild(e.OriginalSource))
|
||||
if (clickedNode == null || IsInteractiveChild(e.OriginalSource))
|
||||
{
|
||||
ResetDragState();
|
||||
return;
|
||||
}
|
||||
|
||||
// 单击只选中,不切换启用状态
|
||||
PipelineListBox.SelectedItem = clickedNode;
|
||||
PipelineListBox.Focus();
|
||||
vm.ToggleOperatorEnabledCommand.Execute(clickedNode);
|
||||
e.Handled = true;
|
||||
ResetDragState();
|
||||
}
|
||||
|
||||
private void OnMouseDoubleClick(object sender, MouseButtonEventArgs e)
|
||||
{
|
||||
var vm = DataContext as IPipelineEditorHostViewModel;
|
||||
var clickedNode = FindNodeFromOriginalSource(e.OriginalSource);
|
||||
|
||||
if (vm == null || clickedNode == null || IsInteractiveChild(e.OriginalSource))
|
||||
return;
|
||||
|
||||
// 双击切换启用/禁用
|
||||
vm.ToggleOperatorEnabledCommand.Execute(clickedNode);
|
||||
e.Handled = true;
|
||||
}
|
||||
|
||||
private void OnPreviewKeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
if (e.Key != Key.Delete || DataContext is not IPipelineEditorHostViewModel vm || vm.SelectedNode == null)
|
||||
|
||||
Reference in New Issue
Block a user