在 Blazor 中实现可移动 <div>

Implementing movable <div> in Blazor

我正在尝试将其实现为 Blazor 中的可移动组件,但我不确定如何将 JavaScript 转换为 Blazor。 我通常正在努力实现类似的目标:

这是使用 ondragstartondragend 事件的另一种方法,我用它来制作可移动的“弹出窗口 window”。

<div draggable="true"
     @ondragend="OnDragEnd" @ondragstart="OnDragStart"
     style="position:absolute; top: @(offsetY)px; left: @(offsetX)px; border-color: black;">
   <div>your content</div>
</div>

@code 
{
     private double startX, startY, offsetX, offsetY;

     private void OnDragStart(DragEventArgs args) {
         startX = args.ClientX;
         startY = args.ClientY;
 }

     private void OnDragEnd(DragEventArgs args)
 {
         offsetX += args.ClientX - startX;
         offsetY += args.ClientY - startY;
    }
}