这篇博客依旧是以电子签名板为基础而展开的,主要是对前文([WPF]学习笔记(一)--做一个简单的电子签名板)存在的部分问题进行解释,以及部分小功能的添加.由于这篇博客是建立在学习笔记一的基础上的,所以希望各位在正式阅览本文之前,对前文有一个大体的了解. 先简单谈谈这篇博客的目标:1.解决前文将电子签名保存至本地时存在的问题  2.为电子签名加上水印(文本) 3.全局异常捕获.是否以管理员权限运行.防止应用多开这些小功能的实现 1. 解决前文将电子签名保存至本地时存在的问题 1.1 前文存在的问题…
原文:WPF-学习笔记 动态修改控件Margin的值 举例说明:动态添加一个TextBox到Grid中,并设置它的Margin: TextBox text = new TextBox(); t_grid.Children.Add(text); Thickness margin = new Thickness(left, top, right, bottom); text.Margin = margin;…
敬告读者:因为是事件驱动模式的高速学习,高速学习意味着,不系统,不科学,不合逻辑,不一定正确.所以要是有不对的地方,页面下面留言给我,跪谢! 背景介绍: 最近在公司的开发工作中,接手了从别的公司交代过来的代码巨怪,其中主要的技术有 WPF,控制反转框架Spring.net,SqlMap(有点像是ibatis.net),Remoting,作业调度框架Quarz,我们的工作,是把这只怪兽,敲碎,重组并且优化,目标暂时是重构成WebAPI底层和WPF界面两个部分,下面是我学习WPF的过程中,留下的一些…
总结下学习WPF的笔记,方便查阅 1   编译 添加程序集引用:WindowsBase.dll,PresentationCore.dll,PresentationFramework.dll 2  布局 Layout Grid <Grid VerticalAlignment="Top" HorizontalAlignment="Left" ShowGridLines="True" >         <Grid.RowDefini…
<深入浅出WPF> 序言 1. 什么是WPF    2. 为什么要学习WPF 第一章 XAML概览 1. XAML是什么? 2. XAML有哪些优点 第二章 从零起步认识XAML 1. 新建WPF项目 2. 剖析最简单的XAML代码 第三章 系统学习XAML语法 1. XAML文档的树形结构 2. XAML中为对象属性赋值的语法 2.1 使用标签的Attribute为对象属性赋值 2.2 使用TypeConverter 2.3 属性元素 2.4 标记扩展(Markup Extensions)…
参加实习(WPF)已经有两个多周的时间了,踩了一些坑,也算积累了一些小东西,准备慢慢拿出来分享一下.(●'◡'●) 这次呢就讲讲一个简单的电子签名板的实现. 先上张图(PS:字写得比较丑,不要太在意哈): 1.任务目标 最基本的需求:1.签名功能 2.清除签名 3.保存签名(让用户选择文件夹.签名保存为PNG格式的图片) 尝试额外功能:1.Ctrl + Z实现撤销功能 2.Ctrl + Y实现重做功能 3.保存签名后打开文件位置并选中文件 2.搞事情 1)UI方面 如图,总体来说,一个InkCa…
这篇博客呢,主要谈谈在实现电子签名功能中踩过的几个坑:1.System.BadImageFormatException异常:2.无法加载DLL“###.dll”,: 找不到指定的模块. (异常来自 HRESULT:0x8007007E):3.wpf获取控件句柄. 如果你想了解如何在wpf中使用InkCanvas实现一个类似于签名板(涂鸦板系列)的功能,请参考我的上一篇博客. 再扯点题外话,写这篇博客的很大一部分原因是InkCanvas版本的签名板被否决了.究其原因呢,是这个签名板将用于触摸屏上的…
基础知识: WPF的资源是一种保管一系列有用对象的简单方法,方便于重用. WPF UI元素的Resources属性,都是继承自FrameworkElement列,且其类型为ResourceDictionary. ResourceDictionary在保存资源时,会将资源转换为object类型.XAML编译器能根据标签的Attribute自动识别资源类型,而C#中则需要我们介入转换. WPF资源网站:http://wpf.codeplex.com/ StaticResource是在程序载入内存时对…
基础知识: 命令是应用程序的任务,并跟踪任务是否能够被执行. 命令不包含执行应用程序任务的代码. 命令是比事件更高级的元素.默认的命令目标是当前获得焦点的元素. 良好的Win应用程序,应用程序逻辑不应位于事件处理程序中,而应在更高层的方法中编写代码. 将事件委托到适当的命令,使控件的启动状态和相应命令的状态保持同步. WPF命令模型: 图1 WPF命令模型 7. System.Windows.Input.RoutedCommand类是WPF中唯一实现了ICommand接口的类.它不包含任何应用程…
基础知识: 数据绑定是一种关系,该关系告诉WPF从源对象提取一些信息,并用这些信息设置目标对象的属性:目标对象始终是依赖属性,而源对象则可以是任何内容. BindingOperations类,提供静态方法用于操作绑定,包括Binding对象.MultiBinding对象和PriorityBinding对象. 绑定到非元素对象时,需放弃Binding.ElementName属性,并使用:Source.RelativeSource和DataContext属性中的任意一个. 续上:显示信息必须存储在公…