1

ここに画像の説明を入力

Silverlight Toolkit の DragDropTarget を使用すると、ドラッグされているアイテムのスナップショットがカーソルの下に表示されます。

このスナップショット/ドラッグ シャドウを置き換えるか、無効にすることはできますか?

背景: コントロール間、つまりリストボックスからキャンバスにアイテムをドラッグしています。リストボックスのアイテムをドロップすると、キャンバス上に異なるサイズの別のアイテムが作成されます。リストボックスのテキストの代わりに、作成されるアイテム、または少なくともその領域を表示したい。

この関連する質問は役に立ちませんでした。

ありがとう!

編集:この関連する質問は、ソースコードを変更して小さな「挿入インジケータ」アイコンを変更することを提案しています。

4

1 に答える 1

1

データグリッドでドラッグドロップターゲットを使用しているアプリケーションで同じ問題が発生していました。解決策を見つけましたが、それは望ましい方法ではありませんでした。その解決策のおかげで、私が望んでいたとおりに機能する別の方法を見つけることができます。

DragStartingイベントを使用して、 MouseLeftButtonUpおよびMouseLeftButtonDownイベントから受け取った入力に基づいてドラッグをキャンセルします。

DragStarting イベントで:

public void dg1stUnAllocDragStarting (object sender, ItemDragEventArgs e)
    {
        if (blnMouseLeftButtonUp)
        {
            e.Cancel = true;
            e.Handled = true;
        }

        blnMouseLeftButtonUp = false;
    }

MouseLeftButtonUp イベント:

public void dataGrid1stUnAllocChild_MouseLeftButtonUp (object sender, MouseButtonEventArgs e)
    {           
        blnMouseLeftButtonUp = true;
    }

MouseLeftButtonDown イベント:

public void dataGrid1stUnAllocChild_MouseLeftButtonDown (object sender, MouseButtonEventArgs e)
    {           
        blnMouseLeftButtonUp = false;
        e.Handled = false;           
    }

それがあなたを助けることを願っています。

于 2013-09-12T11:51:09.847 に答える