关闭

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

WPF中的二进制资源,就是类似于MFC中在对话框程序中添加的图片、字符串等资源,程序在运行时将其转换成二进制,以供程序使用。 下面以将字符串转换成二进制为例来说明,二进制资源的使用方法: 首先在项目的Properties->Resources.resx中添加如下的字符串: 然后在Xmal文件中,添加如下代码: <Window x:Class="_9_5.MainWindow" ...
阅读(858) 评论(0)

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

WPF中,每个界面元素都含有一个名为Resources的属性,其存储的是以“键-值”对形式存在的资源,而其子级元素在使用这些资源时会从Resources中找到这些资源。在子级元素引用的资源分为StaticResource和DynamicResource,两者的不同在于,StaticResource在程序编译完成后就不能改变,而DynamicResource在编译完成后可以进行修改,如下代码:...
阅读(1588) 评论(0)

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

在上一节中,new一个名叫Clear的RoutedCommand进行了命令绑定步骤的演示,其实在WPF中已经准备了一些便捷的命令库,他们都是静态类,包括了很多New、Close此类全局的静态的RoutedCommand。而这些命令可以用任何一个控件元素作为命令源,以New命令为例,全局范围内只有一个New命令,界面上有两个button,每个button都可以发送该命令。这时,问题就来了,我们怎么区...
阅读(1309) 评论(0)

动态加载XAML

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

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

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

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

附加事件的本质也是路由事件,路由事件的宿主是Button、Grid等这些我们可以在界面上看得见的控件对象,而附加事件的宿主是Binding类、Mouse类、KeyBoard类这种无法在界面显示的类对象。附加事件的提出就是为了让这种我们无法看见的类也可以通过路由事件同其他类对象进行交流。 下面我们先定义一个包含附加事件的类: public class Student { pub...
阅读(1369) 评论(0)

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

自定义路由事件的添加,共分为三个步骤:1、声明并注册路由事件 2、为路由事件添加CLR事件包装 3、创建可以激发路由事件的方法 以下实例,实现的功能是创建一个Button,每次点击该Button时激发自定义的路由事件ReportTime,传递按钮被点击的时间。 首先定义用于承载时间消息的事件参数,主要充当在事件中传递的参数的载体,必须继承自EventArgs类: public clas...
阅读(1227) 评论(0)

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

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

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

一、Style中的Setter...
阅读(480) 评论(0)

GridView实现合并单元格效果

XMAL文件<Window x:Class="_11_222.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:c="clr-...
阅读(1087) 评论(0)

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

一、WPF中的两棵树 WPF中每个控件的Template都是由ControlTemplate构成,ControlTemplate包含了构成该控件的各种子控件,这些子控件就构成了VisualTree;而在我们可见的界面,所有搭建出整个程序UI的控件构成了LoginTree。VisualTree和LoginTree相互独立,互相不可访问,每中树都有各自的方法来查找自己的子控件。 二...
阅读(2265) 评论(0)

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

一、控件的TemplateParent属性。 在WPF中,每个控件都有一个TemplateParent属性,如果他的值不为Null,标明这个控件是由Template自动生成的,而该属性的值就是应用了该模板的控件。 如,在前面提到的TextBox实际上是由Microsoft_Windows_Themes:ListBoxChrome下面包含一个ScrollViewer构成,对于Li...
阅读(627) 评论(0)

WPF中的简单打印

在WPF中,Grid、Canvas等界面的布局都支持利用PrintDialog进行简单打印。首先新建一个项目,Xmal代码如下: <Window x:Class="Print.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://s...
阅读(705) 评论(0)

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

首先新建一个WPF工程,在主界面添加一个按钮,并给按钮添加点击事件button1_Click,然后新建一个用于测试弹出位置的窗口TestWindow。 1、在屏幕中间显示,设置window.WindowStartupLocation = WindowStartupLocation.CenterScreen; private void button1_Click(object sender, R...
阅读(10879) 评论(1)

WPF中的模板(二)- ControlTemplate

一、TextBox控件的内部结构 首先,我们先利用Blend解开TextBox控件的内部结构。利用Blend新建一个WPF项目,在界面上添加一个TextBox。 我们看到,TextBox的四个角都是直角,我们现在试着把他的角变成圆角: 选中这个控件,右键->编辑模板->编辑副本。这里面我们选择编辑副本是在当前这个TextBox的模板之上进行修改。然后弹出如下图所示的对话框。其中名称指...
阅读(790) 评论(0)
30条 共2页1 2 下一页 尾页
    个人资料
    • 访问:429564次
    • 积分:7078
    • 等级:
    • 排名:第3661名
    • 原创:294篇
    • 转载:17篇
    • 译文:1篇
    • 评论:66条
    其它平台
    博客专栏