代码改变世界

随笔分类 -  WPF

WPF学习(5) – 样式、模板、皮肤、主题

2012-08-29 17:40 by JustRun, 3706 阅读, 收藏,
摘要: 1. 样式1.1 样式的基本使用样式类似于html中的样式,用来提取出来共用的一些外观属性,一般其它地方共享。style是一组Setter的集合。一个简单的例子:<StackPanel Orientation="Horizontal" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"><StackPanel.Resources&g 阅读全文

WPF学习(4) – WPF中的数据绑定

2012-08-20 11:12 by JustRun, 1401 阅读, 收藏,
摘要: 1. 绑定对象数据绑定是通过System.Windows.Data.Binding对象来实现,它能够将2个属性绑定在一起,在接下来的应用程序生命周期中让绑定来负责所有的同步工作。1.1 在代码中实现绑定代码Binding binding = new Binding();//设置源对象binding.Source = treeview;//设置源属性binding.Path = new PropertyPath("SelectedItem.Header");//添加到目标属性currentFolder.SetBinding(TextBlock.TextProperty, bi 阅读全文

WPF学习(3) – WPF控件

2012-08-14 15:42 by JustRun, 1049 阅读, 收藏,
摘要: 控件可以根据它们所对应的继承关系分成 4 个不同的种类:内容控件Items 控件Range 控件文本和墨水控件1. 内容控件内容控件是只允许包含单一项(item)的简单控件。内容控件都继承自System.Windows.Controls.ContentControl,它们拥有只含有一项的Object 类型的Content 属性WPF 自带的内容控件有3 大种类:按钮简单容器带头(header)的容器1.1 按钮按钮控件完全继承自 ButtonBase 类,这些控件是:ButtonRepeatButton, 会在按钮一直被按着的情况下触发点击事件ToggleButton, 第1 次点击它的时候, 阅读全文

WPF学习(2) – 逻辑树和可视树、依赖属性、附加属性、路由事件、命令

2012-08-13 16:24 by JustRun, 1335 阅读, 收藏,
摘要: 1. 逻辑树和可视树XAML天生就是用来呈现用户界面的,这是由于它具有层次化的特性。在WPF中,用户界面由一个对象树构建而成,这棵树叫作逻辑树逻辑树的概念很直观,但是为什么要关注它呢?因为几乎WPF的每一方面(属性、事件、资源等)都有与逻辑树相关联的行为。例如,属性值有时会沿着树自动传递给子元素,而触发的事件可以自底向上或自顶向下遍历树.可视树基本上是逻辑树的扩展,在可视树中,节点都被打散,分放到核心可视组件中。可视树提供了一些详细的可视化实现,而不是把每个元素当作一个“黑盒”。逻辑树是静态的,不会受到程序员的干扰(例如动态添加/删除元素),但只要用户切换不同的Windows主题,可视树就会改 阅读全文

WPF学习(1) – XAML

2012-08-09 17:52 by JustRun, 1063 阅读, 收藏,
摘要: 1. 什么是XAML定义XAML是一种相对简单、通用的声明式编程语言,它适合于构建和初始化.NET对象.XAML的表现形式是xml的格式,但是实际上它是一种编程语言,你能够用它来创建和初始化.Net对象。和WPF的关系XAML和WPF没有必然联系,它们是各自独立的。 任何其它.net技术都能够使用XAML, 比如(workflow).所有XAML能够做的事情(构建和初始化.Net对象), 毫无疑问,都能够用C#等编程语言实现。WPF中为什么使用XAML?由于使用XAML来创建WPF显示层的对象,简单方便,所以实际上WPF的应用中都是和XAML一起使用的。2. XAML如何构建和初始化.NET对 阅读全文