CuttingLine Overview
Table of contents
Section titled “Table of contents”The CuttingLine control is a custom control used to remove intersecting connections.
The default gesture to start cutting is SHIFT+ALT+LeftClick and can be configured by setting the EditorGestures.Editor.Cutting gesture. The cutting can be canceled by pressing the Escape key or the right mouse button which can be configured by setting the EditorGestures.Editor.CancelAction gesture.
Relevant commands available in NodifyEditor:
- CuttingStartedCommand
- CuttingCompletedCommand
- RemoveConnectionCommand - is called for each intersecting connection when the cutting operation is completed
Enabling preview
Section titled “Enabling preview”For the connection style to change when intersecting with the cutting line, it’s required to set NodifyEditor.EnableCuttingLinePreview to true.
[!WARNING] Depending on the number of connections and the complexity of their geometry, this may have a great performance impact.
Custom connections
Section titled “Custom connections”To enable cutting custom connections you must add the connection type to NodifyEditor.CuttingConnectionTypes:
// example adding the Line shape to the connection types that can be cutNodifyEditor.CuttingConnectionTypes.Add(typeof(System.Windows.Shapes.Line));The style of the intersecting custom connection can be customized as follows:
<Style TargetType="Line"> <Style.Triggers> <Trigger Property="nodify:CuttingLine.IsOverElement" Value="True"> <Setter Property="Opacity" Value="0.4" /> </Trigger> </Style.Triggers></Style>Customization
Section titled “Customization”The CuttingLineStyle is used to customize the cutting line:
<Style x:Key="CuttingLineStyle" TargetType="{x:Type nodify:CuttingLine}" BasedOn="{StaticResource {x:Type nodify:CuttingLine}}"> <Setter Property="StrokeDashArray" Value="1 1" /> <Setter Property="StrokeThickness" Value="2" /></Style>
<nodify:NodifyEditor CuttingLineStyle="{StaticResource CuttingLineStyle}" ... />