質問: 私はBlazorが新しい技術であることを知っています。現在のリリースではv0.5.1 しかし、私は現在、新しいWebアプリケーション用のPoCを実装しています。私たちはアプリにドラッグ&ドロップ機能を持たせたいと思っています。私はそれをBlazorの方法で実装しようとしましたが、機能しません。 私のdroptarget: ``` ``` そして、ドラッグ可能なアイテム: ``` Ã®tem 1 ``` Blazor C#コード: ``` @functions { void Add() { Items.Add("hello"); } void AllowDragOver(UIDragEventArgs e) { } ``` } 問題は、ドロップターゲットがドロップターゲットとしてブラウザに表示されないことです。 ![ブラウザのドラッグドロップ](https://i.stack.imgur.com/6noT0.png) これまでに読んだことは、デフォルトの動作よりもBlazor C#関数(例:ondragstart)にイベントハンドラを追加すると、ドロップターゲットを削除可能にする既知の "e.preventDefault()"があることです。 誰もがこれを修正する方法を知っていますか? Sven
回答: ソリューションを投稿したいと思います。 これまでにわかったことは、dataTransfer.setDataが現在Blazor 5.0.1で機能しないことです。 DIサービスとして注入された共有C#クラスにドラッグされた要素を保存することで、これを回避できます。コンテナは、有効なドロップターゲットになるために「e.preventDefault()」への呼び出しが必要です。これはC#では不可能ですが、これを純粋なJavascriptとして簡単に呼び出すことができます。 ``` ``` ドラッグアンドドロップはC#で非常に良好に機能し、ちらつきや中断なしで非常にスムーズに動作します。簡単な作業例を次の日に作成します。 **更新:** Githubで約束されているデモは次のとおりです。https : //github.com/sven5/Blazor/tree/master/HelloWorldDragDrop