0

RadScheduleView にドラッグ ドロップできるいくつかの予定を含むリスト ボックスを持つコントロールがあります。これは正常に機能していますが、予定をコピー (移動ではなく) したいです。可能であれば、新しい予定の作成を処理したいと考えています。これは、Appointment から継承し、新しいプロパティをクラスに追加したためです。

ドラッグ中に Ctrl キーを使用してドラッグ コピーを実行できることはわかっていますが、コピーをデフォルトの動作にしたいと考えています。

ユーザーがリスト ボックス項目をクリックしたときに Ctrl キーを押すように強制することもできます。最後の方法はわかりませんが、とにかく最善のアプローチではないようです。

これはコントロールのスケッチです。リスト ボックスからスケジュール ビューにドラッグ ドロップするとコピーされます。スケジュール ビュー間のドラッグ ドロップは移動する必要があります。 リストボックスとスケジュールビューでコントロール

誰かが詳細を必要とする場合は、コメントしてください。編集します。ありがとう。

4

1 に答える 1

2

多くの調査の後、デフォルトでコピーを作成する方法を見つけました。人々が使用できるように、私は自分の質問に答えています。

DragDrop ソース (ListBox) を担当するクラスは、Telerik.Windows.DragDrop.Behaviors.ListBoxDragDropBehavior です。Telerik.Windows.DragDrop.Behaviors.ListBoxDragDropBehavior から継承する独自のクラスを実装し、次のように ListBox を作成するときに xaml で使用するだけです。

<ListBox>
    <drag:ListBoxDragDrop.Behavior>
        <loc:ListBoxDragDropBehavior/>
    </drag:ListBoxDragDrop.Behavior>
</ListBox>

デフォルトでコピー動作を取得するには、IsMovingItems を変更するだけです。

class ListBoxDragDropBehavior :    Telerik.Windows.DragDrop.Behaviors.ListBoxDragDropBehavior
{
    protected override bool IsMovingItems(DragDropState state)
    {
        return false;
    }
}

それで全部です。それが役に立てば幸い。

于 2014-02-03T18:01:30.970 に答える