Я создаю всплывающий компонент и хочу, чтобы он был подвижным. Я могу переместить его, используя стиль верхний / левый, но сейчас они имеют значение init top:0;left:0;
, поэтому всплывающее окно появляется в верхнем левом углу страницы. Я пытаюсь заставить его появиться в центре страницы, а затем получить верхние левые координаты моего div в ордоре, чтобы правильно управлять моим исчислением после.
вот что у меня сейчас:
<div class="child-window" draggable="true" style="position:absolute; top: @(offsetY)px; left: @(offsetX)px; border-color: black;" @ondragend="OnDragEnd" @ondragstart="OnDragStart">
<div class="cw-content">
@Content
</div>
</div>
@code {
private double startX, startY, offsetX, offsetY;
protected override void OnInitialized() {
base.OnInitialized();
ResetStartPosition();
}
private void ResetStartPosition() {
//Set offsetX & offsetY to the top left div position
}
private void OnDragStart(DragEventArgs args) {
startX = args.ClientX;
startY = args.ClientY;
}
private void OnDragEnd(DragEventArgs args) {
offsetX += args.ClientX - startX;
offsetY += args.ClientY - startY;
}
}