Hyman的博客

你想要什么样的生活,并真正为之努力,你一定会得到它!

WPF中的资源(二) - 二进制资源

WPF中的二进制资源,就是类似于MFC中在对话框程序中添加的图片、字符串等资源,程序在运行时将其转换成二进制,以供程序使用。 下面以将字符串转换成二进制为例来说明,二进制资源的使用方法: 首先在项目的Properties->Resources.resx中添加如下的字符串: 然后...

2016-09-01 10:33:59

阅读数:1005

评论数:0

WPF中的资源(一) - 静态资源和动态资源

WPF中,每个界面元素都含有一个名为Resources的属性,其存储的是以“键-值”对形式存在的资源,而其子级元素在使用这些资源时会从Resources中找到这些资源。在子级元素引用的资源分为StaticResource和DynamicResource,两者的不同在于,StaticResource...

2016-08-29 09:28:07

阅读数:2197

评论数:0

WPF中的命令(二)- 命令中传递参数

在上一节中,new一个名叫Clear的RoutedCommand进行了命令绑定步骤的演示,其实在WPF中已经准备了一些便捷的命令库,他们都是静态类,包括了很多New、Close此类全局的静态的RoutedCommand。而这些命令可以用任何一个控件元素作为命令源,以New命令为例,全局范围内只有一...

2016-08-29 09:21:37

阅读数:1714

评论数:0

动态加载XAML

原文链接:http://www.cnblogs.com/pbuilder/ 好久没写Blogs了,现在在看【WPF编程宝典】,决定开始重新写博客,和大家一起分享技术。 在编程时我们常希望界面是动态的,可以随时变换而不需要重新编译自己的代码。 以下是动态加载XAML的一个事例代码。...

2016-08-26 14:28:37

阅读数:872

评论数:0

WPF中的命令(一)- 使用命令的步骤

命令的传递原理类似于路由事件,沿着VisualTree向上进行传递,但是和路由事件不同的是,它是有命令目标的,只有到达某个目标命令才会被执行。 总体来说,命令分为以下几个步骤: (1)声明并定义命令类对象 每一个命令类都继承自ICommand类,或者...

2016-08-24 17:25:04

阅读数:1244

评论数:1

WPF中的事件(三)- 附加事件

附加事件的本质也是路由事件,路由事件的宿主是Button、Grid等这些我们可以在界面上看得见的控件对象,而附加事件的宿主是Binding类、Mouse类、KeyBoard类这种无法在界面显示的类对象。附加事件的提出就是为了让这种我们无法看见的类也可以通过路由事件同其他类对象进行交流。 下面我们先...

2016-08-22 09:05:57

阅读数:1806

评论数:0

WPF中的事件(二)- 自定义路由事件

自定义路由事件的添加,共分为三个步骤:1、声明并注册路由事件 2、为路由事件添加CLR事件包装 3、创建可以激发路由事件的方法 以下实例,实现的功能是创建一个Button,每次点击该Button时激发自定义的路由事件ReportTime,传递按钮被点击的时间。 首先定义用于承载时间消...

2016-08-22 08:55:33

阅读数:1896

评论数:0

WPF中的属性(一)- CLR属性和依赖属性

一、CLR属性 CLR(Common Language Running)属性,本质是将一个类中的字段进行封装,以达到控制字段获取以及赋值的目的。 如下的Student类,作为一个学生,年龄显然不能为负数如果想要对age这一字段进行限制,我们可以采用C...

2016-08-18 10:28:27

阅读数:1562

评论数:0

WPF中的模板(五)- 使用Style

一、Style中的Setter

2016-08-18 10:21:45

阅读数:564

评论数:0

GridView实现合并单元格效果

XMAL文件<Window x:Class="_11_222.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" x...

2016-07-25 08:13:57

阅读数:1656

评论数:0

WPF中的模板(四)- 寻找ControlTemplate和DataTemplate的控件

一、WPF中的两棵树 WPF中每个控件的Template都是由ControlTemplate构成,ControlTemplate包含了构成该控件的各种子控件,这些子控件就构成了VisualTree;而在我们可见的界面,所有搭建出整个程序UI的控件构成了LoginTree。Vis...

2016-07-25 08:07:59

阅读数:3681

评论数:0

WPF中的模板(三)- ControlTemplate和DataTemplate的应用

一、控件的TemplateParent属性。 在WPF中,每个控件都有一个TemplateParent属性,如果他的值不为Null,标明这个控件是由Template自动生成的,而该属性的值就是应用了该模板的控件。 如,在前面提到的TextBox实际上是由Microsoft_W...

2016-07-24 10:35:19

阅读数:821

评论数:0

WPF中的简单打印

在WPF中,Grid、Canvas等界面的布局都支持利用PrintDialog进行简单打印。首先新建一个项目,Xmal代码如下: <Window x:Class="Print.MainWindow" xmlns="http://schemas....

2016-07-19 18:51:15

阅读数:1628

评论数:1

WPF中控制窗口显示位置的三种方式

首先新建一个WPF工程,在主界面添加一个按钮,并给按钮添加点击事件button1_Click,然后新建一个用于测试弹出位置的窗口TestWindow。 1、在屏幕中间显示,设置window.WindowStartupLocation = WindowStartupLocation.CenterS...

2016-07-19 18:42:38

阅读数:15923

评论数:1

WPF中的模板(二)- ControlTemplate

一、TextBox控件的内部结构 首先,我们先利用Blend解开TextBox控件的内部结构。利用Blend新建一个WPF项目,在界面上添加一个TextBox。 我们看到,TextBox的四个角都是直角,我们现在试着把他的角变成圆角: 选中这个控件,右键->编辑模板->编...

2016-07-11 10:53:00

阅读数:1053

评论数:0

WPF中的模板(一)- DataTemplate

WPF中DataTemplate和ControlTemplate的一直感觉无法区分明白,后面看了两遍书,第二遍时才感觉有一点点明白这两个之间的区别。 这里先介绍下我对DataTemplate的理解: 一、先说定义 DataTemplate,顾名思义是数据模板,从字面上理解是数据的表现形式,书...

2016-07-11 10:38:23

阅读数:957

评论数:0

WPF中的binding(十二)- 多路Binding

有时候,UI需要的信息不止一个数据来源,这时候就需要使用多路绑定MultiBinding,上一节中我们实现了通过一个TextBox是否为空来控制一个Button的可用性。下面我们实现通过两个TextBox来控制Button的可用性:两个TextBox的不为空且内容一致时,Button才可用;否则不...

2016-07-05 07:59:28

阅读数:623

评论数:0

WPF中的binding(十一)- Binding数据的转换

在实际的开发中,我们经常会遇到Binding的Source和Target是不同的类型,如下面的例子,我们需要将一个Button的IsEnable属性绑定到一个TextBox的Text属性,实现的效果是当TextBox的输入为空时,Button不可用。        Bingding中有一个叫做C...

2016-07-05 07:54:05

阅读数:789

评论数:0

WPF中的binding(十)- Binding数据的校验

Binding的ValidationRules属性的类型是Collection,从它的名称可以看见,每个 Binding可以接收多个校验条件,每个条件都是ValidationRule对象。 一、校验外部方法的更新操作 首先,新建一个WPF项目,Xmal文件的代码如下: <Window ...

2016-06-29 08:04:20

阅读数:679

评论数:0

WPF中的binding(九)- 使用Binding的RelativeSource

我们进行Bingding时,如果明确知道数据源的Name,就能用Source或者ElementName进行绑定,但是有时候我们需要绑定的数据源可能没有明确的Name,此时我们就需要利用Bingding的RelativeSource进行绑定。 一、控件关联自身的属性 <Window x...

2016-06-29 07:54:22

阅读数:4024

评论数:5

提示
确定要删除当前文章?
取消 删除
关闭
关闭