WPF流程图制作系列相关基础一

2015-11-03 11:27  FelixShen  阅读(2397)  评论(1)  编辑  收藏

WPF流程图制作相关基础一

需求是要通过wpf开发流程图,这个流程图是用户自行拖动配置。

使用过流程图的话,应该大体能想象出流程图拖动配置的样子。这里主要会涉及到的技术知识点就是 wpf拖动相关的知识。

但其实,wpf拖动是有几种不同的实现思路的

方案一  通过相应 鼠标的  mousedown  mousemove mouseup等事件 来让 流程图标跟着 进行移动。

方案二  wpf自带有鼠标拖动事件,但是这个拖动 主要是注重于 将信息 从一个地方 通过拖动这个动作复制到另一个地方。 而不是 我们所指的 纯粹的元素在 画板上发生位移。

方案三 也是我们的重点。 WPF 在system.windows.control.primitive 命名空间下 有一个专门的类叫做 Thumb 来提供实现在画板上拖动位移。

这个thumb控件是个偏 基础层次的控件,可以用来构建其他的控件。 就我们手头的visual stdio 当我们将鼠标滑轮向下滑的时候  右边的 滑块就会出现,我们可以拖动这个滑块。

我们可以观察到 ,通过拖动这个滑块,左边所展示的代码也会相应的移动。

Thumb的核心事件有:

DragStarted——当你在它滑块上面按下鼠标左键,开始拖动时发生;

DragDelta——只要你的拖动仍在操作(没松开鼠标左键),它就会不断地发生;

DragCompleted——不用说,这个肯定是在拖动操作结束后发生。

我们用一个简单示例来做个测验,主要就是 拖动滑块的时候,在 标签上显示 滑块的位置坐标。

前台界面

 <Grid ><Canvas Name ="g" Background="AliceBlue" HorizontalAlignment="Left" Height="100" Margin="41,72,0,0" VerticalAlignment="Top" Width="151"><Thumb Canvas.Top ="2" Canvas.Left="2" Width="35" Height="35" DragDelta="Thumb_DragDelta" DragStarted="Thumb_DragStarted" DragCompleted="Thumb_DragCompleted"></ Thumb><TextBlock Canvas.Top ="2" Canvas.Left="2" x:Name ="tt" FontSize="24" ></TextBlock></Canvas></Grid>

后台事件响应代码

 private void Thumb_DragDelta( object sender, System.Windows.Controls.Primitives.DragDeltaEventArgs e){Thumb myThumb = (Thumb )sender;double nTop = Canvas .GetTop(myThumb) + e.VerticalChange;double nLeft = Canvas .GetLeft(myThumb) + e.HorizontalChange;           Canvas.SetTop(myThumb, nTop);Canvas.SetLeft(myThumb, nLeft);tt.Text = "Top:" + nTop.ToString() + "\nLeft:" + nLeft.ToString();}private void Thumb_DragStarted(object sender, DragStartedEventArgs e){tt.Text = "哈哈 这个玩意可以拖" ;}private void Thumb_DragCompleted(object sender, DragCompletedEventArgs e){tt.Text = "终于拖结束了" ;}

thumb控件原本的样子 只是个灰头土脸的块状。

我们当然可以通过controlTemplate来设置他的面容,这个在话题之外。

效果如下

如果你喜欢~就请推荐一下吧O(∩_∩)O

WPF流程图制作系列相关基础一相关推荐

  1. WPF入门教程系列(1)----基础

    一.前言 最近找了一个实习,需要学习WPF,由于之前对这门语言没有任何了解,所以就网上找大牛的博客作为入门基础,为了让自己更加熟悉,我选择了自己边学习边写博客,为了自己同时也为了方便以后他人的学习. ...

  2. 二维计算机动画基础,二维计算机动画制作新技术相关探讨

    胡巧红 吴忆蓉 摘要:二维计算机动画制作新技术的应用是确保二维动画质量能得到有效提升,同时减少人力消耗.缩短制作时间的主要途径.本文将首先对二维计算机动画的发展进行介绍,然后论述了现有二维计算机动画制 ...

  3. mysql bdb版本_深入理解mysql之BDB系列(1)---BDB相关基础知识

    深入理解mysql之BDB系列(1) ---BDB相关基础知识 作者:杨万富 一:BDB体系结构 1.1.BDB体系结构 BDB总体的体系结构如图1.1所看到的,包括五个子系统(见图1.1中相关数). ...

  4. 深入理解mysql之BDB系列(1)---BDB相关基础知识

        深入理解mysql之BDB系列(1) ---BDB相关基础知识 作者:杨万富 一:BDB体系结构 1.1.BDB体系结构 BDB整体的体系结构如图1.1所示,包含五个子系统(见图1.1中相关数 ...

  5. WPF入门学习----系列基础教程

    WPF入门教程系列目录 WPF入门教程系列二--Application介绍 WPF入门教程系列三--Application介绍(续) WPF入门教程系列四--Dispatcher介绍 WPF入门教程系 ...

  6. WPF快速入门系列(6)——WPF资源和样式

    WPF快速入门系列(6)--WPF资源和样式 一.引言 WPF资源系统可以用来保存一些公有对象和样式,从而实现重用这些对象和样式的作用.而WPF样式是重用元素的格式的重要手段,可以理解样式就如CSS一 ...

  7. WPF入门教程系列(一) 创建你的第一个WPF项目

    WPF基础知识 快速学习绝不是从零学起的,良好的基础是快速入手的关键,下面先为大家摞列以下自己总结的学习WPF的几点基础知识: 1) C#基础语法知识(或者其他.NET支持的语言):这个是当然的了,虽 ...

  8. cad中简单流程图制作_如何制作流程图,word快速生成流程图技巧

    在工作中,熟练使用各种办公软件是面试的基础,开始可能只会用的Word.Excel等常用的软件.随着时间,工作经验的积累,你可能会发找到一个小主管.经理之类的,这时你就必须在加强常用软件使用的能力上,继 ...

  9. WiFi相关基础概念

    转自:https://blog.csdn.net/lbaihao/article/details/73250798 一.WiFi相关基础概念 1.什么是wifi 我们看一下百度百科是如何定义的: Wi ...

  10. 【Linux开发】linux设备驱动归纳总结(一):内核的相关基础概念

    linux设备驱动归纳总结(一):内核的相关基础概念 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...

最新文章

  1. oracle grand select,Oracle SQL 高级篇
  2. asyncio之Coroutines,Tasks and Future
  3. C/C++语言链表的排序与查找定位
  4. 阿里工程师是如何系统化地总结缓存相关知识的
  5. CS和BS结构的优缺点
  6. Java之添加环境变量
  7. 深度学习界明星:生成对抗网络与Improving GAN
  8. Python pip安装报错及解决办法:is not a supported wheel on this platform
  9. 2020年江西省职业院校技能大赛“信息安全管理与评估”赛项样题(高职组)
  10. win2008服务器系统玩红警,如何让Win8顺利兼容红警2
  11. 微信分享 链接地址文档
  12. 世界ol的服务器在哪个文件夹,世界OL7月新区永恒之约官方服务器开启
  13. spring默认redis连接库lettuce性能优化,突破性能天花板,获得官方建议方式2倍吞吐量
  14. vs2013编译ffmpeg之四十二 zvbi
  15. 从零学习游戏服务器开发(一) 从一款多人联机实时对战游戏开始
  16. Thinkphp5使用phpword生成图表
  17. WIFI6:WLAN 组播转单播原理与测试
  18. origin作统计图(两个x正轴,一个y轴效果)
  19. nsis安装包(五)_手把手教NIS Edit安装向导的使用
  20. LAMP和LNMP架构(介绍)

热门文章

  1. Oracle AutoVue 文件查看器Server服务器版安装及要求
  2. 打桩(Stubbing), Mocking 和服务虚拟化的差异
  3. 微信“小程序”要来了,简单点,解释的方式简单点
  4. 《linux内核分析》第三次课 实验作业
  5. marvel 1548 phy芯片调式
  6. 什么是PaaS? 平台即服务的解释
  7. 【0005】删除文件时,提示你需要权限才能执行此操作
  8. 论文翻译:《一个包容性设计的具体例子:聋人导向可访问性》
  9. html5电子时表,HTML5 canvas钟表
  10. 同一目录下批处理执行Word宏