Visual workflow designer canvas that provides drag-drop functionality, connection management, and workflow execution controls for automation components.

Members

MemberKindDescription
event EventHandler<NodeSelectedEventArgs> NodeSelectedEventEvent raised when a node is selected.
event EventHandler<ConnectionCreatedEventArgs> ConnectionCreatedEventEvent raised when a connection is created.
new event EventHandler<ConnectionRemovedEventArgs> ConnectionRemovedPropertyEvent raised when a connection is removed.
event EventHandler<WorkflowExecutionStateChangedEventArgs> ExecutionStateChangedEventEvent raised when workflow execution state changes.
event EventHandler<NodeAddedEventArgs> NodeAddedEventEvent raised when a node is added to the canvas.
event EventHandler<NodeRemovedEventArgs> NodeRemovedEventEvent raised when a node is removed from the canvas.
IReadOnlyList<AutomationNode> AutomationNodesPropertyGets the collection of automation nodes in the workflow.
IReadOnlyList<WorkflowConnection> ConnectionsPropertyGets the collection of connections between nodes.
AutomationNode SelectedNodePropertyGets or sets the currently selected node.
float ZoomLevelPropertyGets or sets the zoom level of the canvas.
SKPoint PanOffsetPropertyGets or sets the pan offset of the canvas.
bool ShowGridPropertyGets or sets whether to show the grid background.
float GridSizePropertyGets or sets the grid size.
WorkflowExecutionState ExecutionStatePropertyGets the current workflow execution state.
Dictionary<string, object> WorkflowVariablesPropertyGets or sets the workflow variables.
WorkflowCanvas()MethodInitializes a new instance of the WorkflowCanvas class.
void AddNode(AutomationNode node, SKPoint position)MethodAdds an automation node to the canvas. The node to add. The position to place the node.
void RemoveNode(AutomationNode node)MethodRemoves an automation node from the canvas. The node to remove.
AutomationNode GetNodeAtPosition(SKPoint position)MethodGets the node at the specified position. The position to check. The node at the position, or null if none found.
void ArrangeNodesInGrid(float spacing = 150f)MethodArranges nodes automatically in a grid layout.
void CreateConnection(AutomationNode fromNode, AutomationNode toNode, ConnectionPoint fromPoint, ConnectionPoint toPoint)MethodCreates a connection between two nodes. The source node. The target node. The source connection point. The target connection point.
void RemoveConnection(WorkflowConnection connection)MethodRemoves a connection. The connection to remove.
WorkflowConnection GetConnectionAtPosition(SKPoint position, float tolerance = 5f)MethodGets the connection at the specified position. The position to check. The tolerance for hit detection. The connection at the position, or null if none found.
SKPoint ScreenToCanvas(SKPoint screenPoint)MethodConverts screen coordinates to canvas coordinates. The screen point. The canvas point.
SKPoint CanvasToScreen(SKPoint canvasPoint)MethodConverts canvas coordinates to screen coordinates. The canvas point. The screen point.
void OnMouseWheel(SKPoint point, float delta)MethodHandles mouse wheel events for zooming. The mouse position. The wheel delta.

Related