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:
DragData(Object):Builder(Func<DraggableContext, Hex1bWidget>):
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:
builder(Func<DraggableContext, Hex1bWidget>):
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"))