Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 如何使telerik RadScheduleView上的拖放操作复制(而不是移动)约会_Wpf_Drag And Drop_Telerik_Radscheduleview - Fatal编程技术网

Wpf 如何使telerik RadScheduleView上的拖放操作复制(而不是移动)约会

Wpf 如何使telerik RadScheduleView上的拖放操作复制(而不是移动)约会,wpf,drag-and-drop,telerik,radscheduleview,Wpf,Drag And Drop,Telerik,Radscheduleview,我有一个带有列表框的控件,其中包含一些可以拖放到RadScheduleView上的约会。这很好,但我想复制(而不是移动)约会。如果可能的话,我希望处理新约会的创建,因为我从约会继承并向类添加了一个新属性 我知道拖动时可以使用Ctrl键进行拖动复制,但我希望将复制设置为默认行为 当用户单击列表框项目时,强制按下Ctrl键可能会起作用。我不知道最后该怎么做,但无论如何,这似乎不是最好的方法 这是控件的草图。从列表框拖放到明细表视图时应复制。明细表视图之间的拖放应移动。 如果有人需要更多的细节,请评

我有一个带有列表框的控件,其中包含一些可以拖放到RadScheduleView上的约会。这很好,但我想复制(而不是移动)约会。如果可能的话,我希望处理新约会的创建,因为我从约会继承并向类添加了一个新属性

我知道拖动时可以使用Ctrl键进行拖动复制,但我希望将复制设置为默认行为

当用户单击列表框项目时,强制按下Ctrl键可能会起作用。我不知道最后该怎么做,但无论如何,这似乎不是最好的方法

这是控件的草图。从列表框拖放到明细表视图时应复制。明细表视图之间的拖放应移动。


如果有人需要更多的细节,请评论,我会编辑。谢谢。

经过大量研究,我发现了如何默认复制。我在回答我自己的问题,这样人们就可以使用它了

负责DragDrop源(ListBox)的类是Telerik.Windows.DragDrop.Behaviors.ListBoxDragDropBehavior。我们只需要实现我们自己的类,该类继承自Telerik.Windows.DragDrop.Behaviors.ListBoxDragDropBehavior,并在创建ListBox时在xaml中使用它,如下所示:

<ListBox>
    <drag:ListBoxDragDrop.Behavior>
        <loc:ListBoxDragDropBehavior/>
    </drag:ListBoxDragDrop.Behavior>
</ListBox>
就这些。希望能有帮助

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