在好例子网,分享、交流、成长!
您当前所在位置:首页Sliverlight 开发实例SliverLight基础 → Wpf-TreeView-全能实现拖拽

Wpf-TreeView-全能实现拖拽

SliverLight基础

下载此实例
  • 开发语言:Sliverlight
  • 实例大小:0.07M
  • 下载次数:65
  • 浏览次数:834
  • 发布时间:2017-10-30
  • 实例类别:SliverLight基础
  • 发 布 人:nikki21
  • 文件格式:.zip
  • 所需积分:2
 相关标签: wpf 拖拽 tree

实例介绍

【实例简介】

【实例截图】

from clipboard

【核心代码】

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.IO;
using System.Runtime.InteropServices;
using System.Windows.Threading;

using WpfDragAndDropSmorgasbord.DragDropFramework;
using WpfDragAndDropSmorgasbord.DragDropFrameworkData;



namespace WpfDragAndDropSmorgasbord
{
    /// <summary>
    /// Interaction logic for Window1.xaml
    /// </summary>
    public partial class Window1 : Window
    {
        // The StringBuffers are used for testing and debug
        public StringBuilder buf0 = new StringBuilder("");
        public StringBuilder buf1 = new StringBuilder("");

        public Window1() {

            InitializeComponent();

            // Used by TabControl, TreeView and ListBox.
            // This data consumer allows items to be created
            // from a file or files dragged from Windows Explorer.
            FileDropConsumer fileDropDataConsumer =
                new FileDropConsumer(new string[] {
                    "FileDrop",
                    "FileNameW",
                });

            #region T A B   C O N T R O L
            // Data Provider
            TabControlDataProvider<TabControl, TabItem> tabControlDataProvider =
                new TabControlDataProvider<TabControl, TabItem>("TabItemObject");

            // Data Consumer
            TabControlDataConsumer<TabControl, TabItem> tabControlDataConsumer =
                new TabControlDataConsumer<TabControl, TabItem>(new string[] {"TabItemObject"});

            // Drag Managers
            DragManager dragHelperTabControl0 = new DragManager(this.docTabControl0, tabControlDataProvider);
            DragManager dragHelperTabControl1 = new DragManager(this.docTabControl1, tabControlDataProvider);

            // Drop Managers
            DropManager dropHelperTabControl0 = new DropManager(this.docTabControl0,
                new IDataConsumer[] {
                    tabControlDataConsumer,
                    fileDropDataConsumer
                });
            DropManager dropHelperTabControl1 = new DropManager(this.docTabControl1,
                new IDataConsumer[] {
                    tabControlDataConsumer,
                    fileDropDataConsumer
                });
            #endregion

            #region T R E E   V I E W
            // Data Provider
            TreeViewDataProvider<ItemsControl, TreeViewItem> treeViewDataProvider =
                new TreeViewDataProvider<ItemsControl, TreeViewItem>("TreeViewItemObject");

            // Data Consumer
            TreeViewDataConsumer<ItemsControl, TreeViewItem> treeViewDataConsumer =
                new TreeViewDataConsumer<ItemsControl, TreeViewItem>(new string[] {"TreeViewItemObject"});

            // Data Consumer of ListBoxItems
            ListBoxItemToTreeViewItem<ListBox, ListBoxItem> listBoxItemToTreeViewItem =
                new ListBoxItemToTreeViewItem<ListBox, ListBoxItem>(new string[] {"ListBoxItemObject"});

            // Drag Managers
            DragManager dragHelperTreeView0 = new DragManager(this.treeView0, treeViewDataProvider);
            DragManager dragHelperTreeView1 = new DragManager(this.treeView1, treeViewDataProvider);

            // Drop Managers
            DropManager dropHelperTreeView0 = new DropManager(this.treeView0,
                new IDataConsumer[] {
                    treeViewDataConsumer,
                    listBoxItemToTreeViewItem,
                    fileDropDataConsumer,
                });
            DropManager dropHelperTreeView1 = new DropManager(this.treeView1,
                new IDataConsumer[] {
                    treeViewDataConsumer,
                    listBoxItemToTreeViewItem,
                    fileDropDataConsumer,
                });
            #endregion

            #region L I S T   B O X
            // Data Provider
            ListBoxDataProvider<ListBox, ListBoxItem> listBoxDataProvider =
                new ListBoxDataProvider<ListBox, ListBoxItem>("ListBoxItemObject");

            // Data Consumer
            ListBoxDataConsumer<ListBox, ListBoxItem> listBoxDataConsumer =
                new ListBoxDataConsumer<ListBox, ListBoxItem>(new string[] {"ListBoxItemObject"});

            // Data Consumer of TreeViewItems
            TreeViewItemToListBoxItem<ItemsControl, TreeViewItem> treeViewItemToListBoxItem =
                new TreeViewItemToListBoxItem<ItemsControl, TreeViewItem>(new string[] {"TreeViewItemObject"});

            // Drag Managers
            DragManager dragHelperListBox0 = new DragManager(this.listBox0, listBoxDataProvider);
            DragManager dragHelperListBox1 = new DragManager(this.listBox1, listBoxDataProvider);

            // Drop Managers
            DropManager dropHelperListBox0 = new DropManager(this.listBox0,
                new IDataConsumer[] {
                    listBoxDataConsumer,
                    treeViewItemToListBoxItem,
                    fileDropDataConsumer,
                });
            DropManager dropHelperListBox1 = new DropManager(this.listBox1,
                new IDataConsumer[] {
                    listBoxDataConsumer,
                    treeViewItemToListBoxItem,
                    fileDropDataConsumer,
                });
            #endregion

            #region T R A S H
            // Data Consumer
            TrashConsumer trashConsumer = new TrashConsumer(new string[] {
                "TabItemObject",
                "TreeViewItemObject",
                "ListBoxItemObject",
                "CanvasTextBlockObject",
                "CanvasRectangleObject",
                "CanvasButtonObject",
                "ToolbarButtonObject",
            });

            // Drop Manager
            DropManager dropHelperListBoxItemTrash = new DropManager(this.trash, trashConsumer);
            #endregion

            #region C A N V A S
            // Data Providers/Consumers
            CanvasDataProvider<Canvas, TextBlock> canvasTextBlockDataProvider =
                new CanvasDataProvider<Canvas, TextBlock>("CanvasTextBlockObject");

            CanvasDataConsumer<Canvas, TextBlock> canvasTextBlockDataConsumer =
                new CanvasDataConsumer<Canvas, TextBlock>(new string[] {"CanvasTextBlockObject"});

            CanvasDataProvider<Canvas, Rectangle> canvasRectangleDataProvider =
                new CanvasDataProvider<Canvas, Rectangle>("CanvasRectangleObject");

            CanvasDataConsumer<Canvas, Rectangle> canvasRectangleDataConsumer =
                new CanvasDataConsumer<Canvas, Rectangle>(new string[] {"CanvasRectangleObject"});

            CanvasDataProvider<Canvas, Button> canvasButtonDataProvider =
                new CanvasDataProvider<Canvas, Button>("CanvasButtonObject");

            CanvasDataConsumer<Canvas, Button> canvasButtonDataConsumer =
                new CanvasDataConsumer<Canvas, Button>(new string[] {"CanvasButtonObject"});

            // Data Consumer of Toolbar Buttons
            ToolbarButtonToCanvasButton<ToolBar, Button> toolbarButtonToCanvasButton =
                new ToolbarButtonToCanvasButton<ToolBar, Button>(new string[] {"ToolbarButtonObject"});

            // Data consumer of System.Strings (creates a TextBlock)
            StringToCanvasTextBlock systemStringToCanvasTextBlock =
                new StringToCanvasTextBlock(new string[] { "System.String" });

            // Drag Managers
            DragManager dragHelperCanvas0 = new DragManager(this.canvas0,
                new IDataProvider[] {
                    canvasTextBlockDataProvider,
                    canvasRectangleDataProvider,
                    canvasButtonDataProvider,
                });
            DragManager dragHelperCanvas1 = new DragManager(this.canvas1,
                new IDataProvider[] {
                    canvasTextBlockDataProvider,
                    canvasRectangleDataProvider,
                    canvasButtonDataProvider,
                });

            // Drop Managers
            DropManager dropHelperCanvas0 = new DropManager(this.canvas0,
                new IDataConsumer[] {
                    canvasTextBlockDataConsumer,
                    canvasRectangleDataConsumer,
                    canvasButtonDataConsumer,
                    toolbarButtonToCanvasButton,
                    systemStringToCanvasTextBlock,
                });
            DropManager dropHelperCanvas1 = new DropManager(this.canvas1,
                new IDataConsumer[] {
                    canvasTextBlockDataConsumer,
                    canvasRectangleDataConsumer,
                    canvasButtonDataConsumer,
                    toolbarButtonToCanvasButton,
                    systemStringToCanvasTextBlock,
                });
            #endregion

            #region T O O L B A R
            // Data Provider
            ToolBarDataProvider<ToolBar, Button> toolBarButtonDataProvider =
                new ToolBarDataProvider<ToolBar, Button>("ToolbarButtonObject");

            // Data Consumer
            ToolBarDataConsumer<ToolBar, Button> toolBarButtonDataConsumer =
                new ToolBarDataConsumer<ToolBar, Button>(new string[] {"ToolbarButtonObject"});

            // Data Consumer of Canvas Buttons
            CanvasButtonToToolbarButton<Canvas, Button> canvasButtonToToolbarButton =
                new CanvasButtonToToolbarButton<Canvas, Button>(new string[] {"CanvasButtonObject"});

            // Drag Managers
            DragManager dragHelperToolBar0 = new DragManager(this.toolBar0,
                new IDataProvider[] {
                    toolBarButtonDataProvider,
                });
            DragManager dragHelperToolBar1 = new DragManager(this.toolBar1,
                new IDataProvider[] {
                    toolBarButtonDataProvider,
                });

            // Drop Managers
            DropManager dropHelperToolBar0 = new DropManager(this.toolBar0,
                new IDataConsumer[] {
                    toolBarButtonDataConsumer,
                    canvasButtonToToolbarButton,
                });
            DropManager dropHelperToolBar1 = new DropManager(this.toolBar1,
                new IDataConsumer[] {
                    toolBarButtonDataConsumer,
                    canvasButtonToToolbarButton,
                });
            #endregion
        }
    }
}

标签: wpf 拖拽 tree

实例下载地址

Wpf-TreeView-全能实现拖拽

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警