大家在日常工作中应该遇到过这样的问题:需要对应用程序界面进行截屏操作,然后将截屏内容拷贝到其他文档中使用。通常情况下我们会使用一些截屏软件或者“Ctrl+PrtSc ”,本篇将介绍如何在WPF 程序中将UI 单元直接以图片形式复制到剪贴板,以达到为应用程序界面制作快照(Snapshot)的功能。

以我之前做过的一个“WPF 员工卡”的文章为例。首先,要为程序添加一个自定义命令(Command):CopyUI。该命令的快捷键方式为“Ctrl+U”,在命令中定义两种事件CanExecute、Executed。关于自定义命令可以参考这里。

... ...

完成命令的定义后,就可以为它们添油加醋了。

private voidCommandBinding_CanExecute(objectsender, CanExecuteRoutedEventArgse)

{

e.CanExecute = true;

}

private voidCommandBinding_Executed(objectsender, ExecutedRoutedEventArgse)

{

CopyUIElementToClipboard(this.empCard);

}

到这里有些朋友可能已经发现CommandBinding_Executed 事件里CopyUIElementToClipboard 方法才是关键部分。empCard 是员工卡整体UI 结构。通过CopyUIElementToClipboard 将WPF UI 单元绘制成图片并复制到剪贴板中,如下代码:

public static voidCopyUIElementToClipboard(FrameworkElementui)

{

doublewidth = ui.ActualWidth;

doubleheight = ui.ActualHeight;

RenderTargetBitmapbmp = newRenderTargetBitmap((int)Math.Round(width),

(int)Math.Round(height), 96, 96, PixelFormats.Default);

DrawingVisualdv = newDrawingVisual();

using(DrawingContextdc = dv.RenderOpen())

{

VisualBrushvb = newVisualBrush(ui);

dc.DrawRectangle(vb, null,

newRect(newPoint(), newSize(width, height)));

}

bmp.Render(dv);

Clipboard.SetImage(bmp);

}

接下来运行程序,按“Ctrl+U” 对UI 进行复制。

“Ctrl+V” 到Word 后的效果,这样就可以比较方便的复制UI 结构,当然也可以复制程序中生成的柱状图,放到PPT中做为报告使用。

wpf 复制到粘贴板_将WPF UI单元复制到剪贴板相关推荐

  1. ios下js复制到粘贴板_h5实现一键复制到粘贴板 兼容ios

    实现原理 采用document.execCommand('copy') 来实现复制到粘贴板功能 复制必须是选中input框的文字内容,然后执行document.execCommand('copy') ...

  2. h5实现一键复制到粘贴板 兼容iOS

    copyText = (text) => {// 数字没有 .length 不能执行selectText 需要转化成字符串const textString = text.toString();l ...

  3. html 一键复制 ios,h5实现一键复制到粘贴板-兼容ios

    实现原理 采用document.execCommand('copy')来实现复制到粘贴板功能 复制必须是选中input框的文字内容,然后执行document.execCommand('copy')命令 ...

  4. h5 实现一键复制到粘贴板 兼容iOS

    效果展示 先贴上测试连接 http://cdn.foundao.com/zhaosheng/copytext 实现原理 采用 document.execCommand('copy') 来实现复制到粘贴 ...

  5. Qt实现一个简易截图工具(支持缩放、移动、保存、复制到粘贴板)

    概述 windows平台,使用Qt Widget实现一个简易截图工具,支持选区角落拖动缩放.选区移动,支持保存,复制到粘贴板,支持快捷键调出截图.退出截图.暂不支持对截图进行编辑操作,以及鼠标移动到程 ...

  6. 粘贴板工具:PPT或Excel复制粘贴成图片问题的解决方案

    粘贴板工具:PPT或Excel复制粘贴成图片问题的终极解决方案 一.小工具介绍 针对PPT或Excel复制粘贴成图片问题,Clipboard是一个将图像粘贴板内容转化为文字粘贴板内容的小工具.下载链接 ...

  7. tkinter的Treeview使用,tkinter的网格图形界面,包括排序,复制到粘贴板,导出excel,以及右键弹出菜单

    第一次用CSDN,有不好的请见谅. 这里的treeview是做GUI的表格界面,.net里很简单,拖个控件就解决了,但tkinter里还蛮麻烦的,连复制粘贴都得自己写进去,最后实现的效果如下: 我自己 ...

  8. 通过纯js代码实现将指定内容复制到粘贴板(兼容各主流浏览器)

    通过纯js代码实现将指定内容复制到粘贴板(兼容各主流浏览器) 1.业务需求: vue项目需要通过点击button按钮将指定内容复制到粘贴板中,且不引入第三方组件. 2.解决方案: js写法如下(这里是 ...

  9. php点击复制按钮到我的粘贴板,JS 实现点击按钮复制内容到粘贴板 clipboard

    具体实现如下: 点击按钮复制内容到粘贴板 body { text-align: center; } #p1 { line-height: 150px; font-size: 40px; } #sour ...

  10. ios下js复制到粘贴板_EXCEL被你忽视的粘贴板-11

    这一节我们来聊聊粘贴板的用途,什么?你居然没用过粘贴板?平时只是ctrl+c,然后ctrl+v,好吧,那我们看看粘贴板到底能干些啥. 1.提取区域内的内容 有时我们选择一块区域发给同事,但当他需要编辑 ...

最新文章

  1. 传输控制协议(TCP)基础知识概述
  2. MyBatis-21MyBatis高级结果映射【一对多映射(2种方式)】
  3. 挑战微信小程序?支付宝小程序可以申请公测啦
  4. 21 年总结:文章的盘点和写作背景
  5. linux之type命令
  6. PGM:图模型学习概述
  7. UBUNTU上安装numpy
  8. Linux服务器 屏蔽国外IP访问及简单的防CC攻击拦截
  9. php华文行楷,css设置中文字体
  10. 苹果手机人脸识别不了是什么原因_苹果:iPhone人脸识别能秒了所有安卓手机!...
  11. xshell堡垒机_XShell运维工具之跳板机配置
  12. 摩尔定律已经走到尽头?
  13. 学生每日计划表_初三学生逆袭每日计划表
  14. 基于深度学习cnnrnn的中文期刊分类(完整代码+课程设计)
  15. 拼多多:补贴与盈利背道而驰
  16. table固定列html5,css+js简单实现table固定首行首列
  17. java练习题---前五章
  18. win10计算机怎么拨号上网,宽带拨号,教您win10系统宽带拨号上网的教程
  19. listen函数详解
  20. 第 3 章  文本元素

热门文章

  1. html5编写软件哪个好?八款html5编写软件推荐
  2. 微信小程序“淘淘猜成语”开发教程(该成语接龙已上线,功能齐全)
  3. 爬取大众点评数据经验
  4. notepad++中文版下载
  5. 2019年上半年软件设计师上午试题及答案
  6. 南京邮电大学计算机复试心得,南京邮电大学13年电路与系统考研复试心得小结...
  7. vivado下载地址和ISE下载地址
  8. 两种.luac的反编译过程
  9. Mifare 1卡(M1卡、IC卡)读写操作及工作原理整理
  10. 设计模式之实验二: 创建型设计模式实验