快捷搜索:

在WPF中通过DataTemple实现Drag&Drop控件

WPF中供给一套十分简便的实现Drag&Drop的机制,方便了开拓职员定制自己的Drag&Drop行径。

然则WPF中供给的Drag&Drop是基于数据通报的,经由过程Drag把你盼望通报的数据放入DataObject工具里, 调用DragDrop.DoDragDrop(), 在Drop事故Hander里就可以获取到你刚才传入的数据,在使对这些数据做处置惩罚就完成了全部Drag&Drop行径。

实际中常常用到拖拽控件本身,这在WPF中怎么实现呢?笔者想到可以使用WPF中的DataTemple, DataTemple定义了用来展现数据的界面模板,你可以想象纵然在界面层,你操作节制的也是一堆数据,这些数据的展现交给DataTemplate来做。那还等什么,使用它来实现Drag&Drop控件吧。

下面是我的一个Sample, 供大年夜家参考:

1.首先定义PresenterDataForButton和PresenterDataForTextBox 分手代表 Button 和TextBox控件的Data类型:

1public interface ITragable

2{

3}

4public class PresenterDataForButton :ITragable

5{

6public string Content

7{

8get;

9set;

10}

11

12public RoutedEventHandler ButtonClickHandler;

13

14}

15

16public class PresenterDataForTextBox : ITragable

17{

18public string Text

19{

20get;

21set;

22}

23}

您可能还会对下面的文章感兴趣: