Files
APIVisualExecutor/docs/api/Nodify_PendingConnection.md
Ankitkumar Satapara 21aaef6776 Add project files.
2026-04-17 22:31:58 +05:30

346 lines
11 KiB
Markdown

# PendingConnection Class
**Namespace:** Nodify
**Assembly:** Nodify
**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [DispatcherObject](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Threading.DispatcherObject) → [DependencyObject](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.DependencyObject) → [Visual](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.Visual) → [UIElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.UIElement) → [FrameworkElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement) → [Control](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.Control) → [ContentControl](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.ContentControl) → [PendingConnection](Nodify_PendingConnection)
**References:** [ConnectionDirection](Nodify_ConnectionDirection), [Connector](Nodify_Connector), [HotKeysDisplayMode](Nodify_HotKeysDisplayMode), [ItemContainer](Nodify_ItemContainer), [NodifyEditor](Nodify_NodifyEditor), [PendingConnectionEventArgs](Nodify_Events_PendingConnectionEventArgs), [PendingConnectionEventHandler](Nodify_Events_PendingConnectionEventHandler), [StateNode](Nodify_StateNode)
Represents a pending connection usually started by a [Connector](Nodify_Connector) which invokes the [PendingConnection.CompletedCommand](Nodify_PendingConnection#completedcommand) when completed.
```csharp
public class PendingConnection : ContentControl
```
## Constructors
### PendingConnection()
```csharp
public PendingConnection();
```
## Properties
### AllowOnlyConnectors
If true will preview and connect only to [Connector](Nodify_Connector)s, otherwise will also enable [ItemContainer](Nodify_ItemContainer)s.
```csharp
public bool AllowOnlyConnectors { get; set; }
```
**Property Value**
[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean)
### CompletedCommand
Gets or sets the command to invoke when the pending connection is completed.
Will not be invoked if [NodifyEditor.ConnectionCompletedCommand](Nodify_NodifyEditor#connectioncompletedcommand) is used.
[PendingConnection.Target](Nodify_PendingConnection#target) will be set to the desired [Connector](Nodify_Connector)'s [FrameworkElement.DataContext](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement#datacontext) and will also be the command's parameter.
```csharp
public ICommand CompletedCommand { get; set; }
```
**Property Value**
[ICommand](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.ICommand)
### Direction
Gets or sets the direction of this connection.
```csharp
public ConnectionDirection Direction { get; set; }
```
**Property Value**
[ConnectionDirection](Nodify_ConnectionDirection)
### Editor
Gets the [NodifyEditor](Nodify_NodifyEditor) that owns this [PendingConnection](Nodify_PendingConnection).
```csharp
protected NodifyEditor Editor { get; set; }
```
**Property Value**
[NodifyEditor](Nodify_NodifyEditor)
### EnableHitTesting
Gets or sets whether hit testing is enabled for pending connections.
```csharp
public static bool EnableHitTesting { get; set; }
```
**Property Value**
[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean)
### EnablePreview
[PendingConnection.PreviewTarget](Nodify_PendingConnection#previewtarget) will be updated with a potential [Connector](Nodify_Connector)'s [FrameworkElement.DataContext](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement#datacontext) if this is true.
```csharp
public bool EnablePreview { get; set; }
```
**Property Value**
[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean)
### EnableSnapping
Enables snapping the [PendingConnection.TargetAnchor](Nodify_PendingConnection#targetanchor) to a possible [PendingConnection.Target](Nodify_PendingConnection#target) connector.
```csharp
public bool EnableSnapping { get; set; }
```
**Property Value**
[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean)
### HotKeysDisplayMode
Gets or sets whether hotkeys are enabled for pending connections.
```csharp
public static HotKeysDisplayMode HotKeysDisplayMode { get; set; }
```
**Property Value**
[HotKeysDisplayMode](Nodify_HotKeysDisplayMode)
### IsVisible
Gets or sets the visibility of the connection.
```csharp
public bool IsVisible { get; set; }
```
**Property Value**
[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean)
### MaxHotKeys
Gets or sets the maximum number of hotkeys that can be displayed for a pending connection.
```csharp
public static uint MaxHotKeys { get; set; }
```
**Property Value**
[UInt32](https://docs.microsoft.com/en-us/dotnet/api/System.UInt32)
### PreviewTarget
Gets or sets the [Connector](Nodify_Connector) or the [ItemContainer](Nodify_ItemContainer) (if [PendingConnection.AllowOnlyConnectors](Nodify_PendingConnection#allowonlyconnectors) is false) that we're previewing. See [PendingConnection.EnablePreview](Nodify_PendingConnection#enablepreview).
```csharp
public object PreviewTarget { get; set; }
```
**Property Value**
[Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object)
### Source
Gets or sets the [Connector](Nodify_Connector)'s [FrameworkElement.DataContext](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement#datacontext) that started this pending connection.
```csharp
public object Source { get; set; }
```
**Property Value**
[Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object)
### SourceAnchor
Gets or sets the starting point for the connection.
```csharp
public Point SourceAnchor { get; set; }
```
**Property Value**
[Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point)
### StartedCommand
Gets or sets the command to invoke when the pending connection is started.
Will not be invoked if [NodifyEditor.ConnectionStartedCommand](Nodify_NodifyEditor#connectionstartedcommand) is used.
[PendingConnection.Source](Nodify_PendingConnection#source) will be set to the [Connector](Nodify_Connector)'s [FrameworkElement.DataContext](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement#datacontext) that started this connection and will also be the command's parameter.
```csharp
public ICommand StartedCommand { get; set; }
```
**Property Value**
[ICommand](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.ICommand)
### Stroke
Gets or sets the stroke color of the connection.
```csharp
public Brush Stroke { get; set; }
```
**Property Value**
[Brush](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.Brush)
### StrokeDashArray
Gets or sets the pattern of dashes and gaps that is used to outline the connection.
```csharp
public DoubleCollection StrokeDashArray { get; set; }
```
**Property Value**
[DoubleCollection](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.DoubleCollection)
### StrokeThickness
Gets or set the connection thickness.
```csharp
public double StrokeThickness { get; set; }
```
**Property Value**
[Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double)
### Target
Gets or sets the [Connector](Nodify_Connector)'s [FrameworkElement.DataContext](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement#datacontext) (or potentially an [ItemContainer](Nodify_ItemContainer)'s [FrameworkElement.DataContext](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement#datacontext) if [PendingConnection.AllowOnlyConnectors](Nodify_PendingConnection#allowonlyconnectors) is false) that the [PendingConnection.Source](Nodify_PendingConnection#source) can connect to.
Only set when the connection is completed (see [PendingConnection.CompletedCommand](Nodify_PendingConnection#completedcommand)).
```csharp
public object Target { get; set; }
```
**Property Value**
[Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object)
### TargetAnchor
Gets or sets the end point for the connection.
```csharp
public Point TargetAnchor { get; set; }
```
**Property Value**
[Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point)
## Methods
### FindConnectionTarget(Point)
Searches for a potential [Connector](Nodify_Connector) or [ItemContainer](Nodify_ItemContainer) at the specified position within the editor.
```csharp
public FrameworkElement FindConnectionTarget(Point position);
```
**Parameters**
`position` [Point](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Point)
**Returns**
[FrameworkElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement)
### GetIsOverElement(UIElement)
```csharp
public static bool GetIsOverElement(UIElement elem);
```
**Parameters**
`elem` [UIElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.UIElement)
**Returns**
[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean)
### OnApplyTemplate()
```csharp
public override void OnApplyTemplate();
```
### OnPendingConnectionCompleted(Object, PendingConnectionEventArgs)
```csharp
protected virtual void OnPendingConnectionCompleted(object sender, PendingConnectionEventArgs e);
```
**Parameters**
`sender` [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object)
`e` [PendingConnectionEventArgs](Nodify_Events_PendingConnectionEventArgs)
### OnPendingConnectionDrag(Object, PendingConnectionEventArgs)
```csharp
protected virtual void OnPendingConnectionDrag(object sender, PendingConnectionEventArgs e);
```
**Parameters**
`sender` [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object)
`e` [PendingConnectionEventArgs](Nodify_Events_PendingConnectionEventArgs)
### OnPendingConnectionStarted(Object, PendingConnectionEventArgs)
```csharp
protected virtual void OnPendingConnectionStarted(object sender, PendingConnectionEventArgs e);
```
**Parameters**
`sender` [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object)
`e` [PendingConnectionEventArgs](Nodify_Events_PendingConnectionEventArgs)
### SetIsOverElement(UIElement, Boolean)
```csharp
public static void SetIsOverElement(UIElement elem, bool value);
```
**Parameters**
`elem` [UIElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.UIElement)
`value` [Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean)