Skip to content

DraggableWidget ​

Namespace: Hex1b.Widgets

Assembly: Hex1b.dll

A widget that makes its child tree draggable via mouse interaction. The builder lambda receives a with the current drag state so the content can render differently while being dragged.

csharp
public sealed record DraggableWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<DraggableWidget>

Inheritance ​

Object → Hex1bWidget → DraggableWidget

Implements ​

Constructors ​

DraggableWidget(object, Func<DraggableContext, Hex1bWidget>) ​

A widget that makes its child tree draggable via mouse interaction. The builder lambda receives a with the current drag state so the content can render differently while being dragged.

Parameters:

csharp
public DraggableWidget(object DragData, Func<DraggableContext, Hex1bWidget> Builder)

Properties ​

Builder ​

Returns: Func<DraggableContext, Hex1bWidget>

csharp
public Func<DraggableContext, Hex1bWidget> Builder { get; init; }

DragData ​

Returns: Object

csharp
public object DragData { get; init; }

Methods ​

DragOverlay(Func<DraggableContext, Hex1bWidget>) ​

Sets a builder for the drag overlay — a visual representation that follows the cursor during drag.

Parameters:

Returns: DraggableWidget

csharp
public DraggableWidget DragOverlay(Func<DraggableContext, Hex1bWidget> builder)

Examples ​

csharp
ctx.Draggable("task-1", dc =>
    dc.Border(dc.Text(dc.IsDragging ? "Dragging..." : "Task 1"))
)
.DragOverlay(dc => dc.Text("📋 Task 1"))

Released under the MIT License.