はたぶん私の質問はnoobyですが、私は答えを見つけることができませんでした...私は、WPFのドラッグ&ドロップアプリを持っているWPFのドラッグ&ドロップとデータ型
... 私はインターフェイスを構築しています機能を追加したいと思います...
デザイナーエリアにアイテムをドロップすると、 ドロップされたオブジェクトのタイプを取得し、それを特定の構造体/リストなどに追加します。 ...
どうすればいいですか? ありがとう! g。 g。
はたぶん私の質問はnoobyですが、私は答えを見つけることができませんでした...私は、WPFのドラッグ&ドロップアプリを持っているWPFのドラッグ&ドロップとデータ型
... 私はインターフェイスを構築しています機能を追加したいと思います...
デザイナーエリアにアイテムをドロップすると、 ドロップされたオブジェクトのタイプを取得し、それを特定の構造体/リストなどに追加します。 ...
どうすればいいですか? ありがとう! g。 g。
はあなたがドラッグの開始を制御すると仮定すると、(あなたが他のアプリからドラッグしていない)、それはタイプが何であるかはあなた次第です。ソースと目的地のコードを一致させるだけです。ドラッグ中(通常はMouseMoveまたはMouseDownハンドラ):
var dragData = new DataObject(typeof(JobViewModel), job);
DragDrop.DoDragDrop(element, dragData, DragDropEffects.Move);
ドラッグを開始します。そして、ドロップ(あなたがここまで得ているように聞こえる)に:
var dataObj = e.Data as DataObject;
var dragged = dataObj.GetData(typeof(JobViewModel)) as JobViewModel;
また、文字列の代わりのタイプを使用することができます。
コントロールのAllowDropプロパティをtrueに設定するだけです。その上にDropイベントを実装します。イベント引数のドロップ情報にアクセスできます。
GetDataの部分では、これを使用して特定のデータ型を取得できます。ここでは例えば、ファイルドロップは次のとおりです。
string[] fileNames = (string[])e.Data.GetData(DataFormats.FileDrop, true);
おかげで、
私はこれまで行ってしまった! :) 私の問題は、 'OnDrop(DragEventArgs e)'でデータ型を取得する方法です... getDataを使用してですか?どのようなタイプですか? 私は私のオブジェクトのタイプを使用する場合、私はnullを取得... あなたの助けをありがとう! – geo
私は自分の答えを更新しました。 – Howard