質問: 私はブレイザーが新しいテクノロジーであることを知っています。現在のリリースではv0.5.1と表示されています ただし、現在、新しいWebアプリケーションのPoCを実装しています。アプリに機能をドラッグ&ドロップしたいと思います。 Blazorの方法で実装しようとしましたが、機能しません。 私のドロップターゲット: ``` ``` そしてドラッグ可能なアイテム: ``` Ã®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()」であるということです。 誰かがこれを修正する方法を知っていますか? スヴェン
回答: ソリューションを投稿したいと思います。 これまでにわかったことは、dataTransfer.setDataが現在Blazor 5.0.1で機能しないことです。 DIサービスとして注入された共有C#クラスにドラッグされた要素を保存することで、これを回避できます。コンテナは、有効なドロップターゲットになるために「e.preventDefault()」への呼び出しが必要です。これはC#では不可能ですが、これを純粋なJavascriptとして簡単に呼び出すことができます。 ``` ``` ドラッグアンドドロップはC#で非常に良好に機能し、ちらつきや中断なしで非常にスムーズに動作します。簡単な作業例を次の日に作成します。 **更新:** Githubで約束されているデモは次のとおりです。https : //github.com/sven5/Blazor/tree/master/HelloWorldDragDrop