<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_做一个鸡立鹤群的人</title><subtitle type="text">敌不动 我不动 敌一动 我乱动</subtitle><id>http://feed.cnblogs.com/blog/u/48733/rss</id><updated>2012-04-23T23:36:16Z</updated><author><name>helloj2ee</name><uri>http://www.cnblogs.com/helloj2ee/</uri></author><generator>feed.cnblogs.com</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/helloj2ee/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/48733/rss"/><entry><id>http://www.cnblogs.com/helloj2ee/archive/2011/04/19/2020499.html</id><title type="text">关于Google中国，百度搜索，Bing搜索，雅虎，搜搜，以及有道的简单测试</title><summary type="text">我不算是好事者。但是最近在南方周末上2011年4月14日头版上看到 漩涡中的中国首富，李彦宏和他的百度霸业。不由还是关注了一下百度（南方周末用了头版以及随后的两个版面报道，确实花费不少功夫）。对于几个搜索引擎一直以来 我秉持着“外事问Google，内事问百度，房事问天涯”的原则。所以也很少去关注关于百度的一些问题报道，比如竞价排名或者其他。也有人曾经向我咨询，到底是在Google上作广告，还是在百度上作推广。尽管作为一个程序员，我一直都在使用Google，也心偏向 Google，但我还是忍住了多事之口，以“没有研究 没有发言权”这样的说辞拒绝了给出任何建议。事实证明我对了，因为Google之后退出了中国。</summary><published>2011-04-19T01:22:00Z</published><updated>2011-04-19T01:22:00Z</updated><author><name>helloj2ee</name><uri>http://www.cnblogs.com/helloj2ee/</uri></author><link rel="alternate" href="http://www.cnblogs.com/helloj2ee/archive/2011/04/19/2020499.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/helloj2ee/archive/2011/04/19/2020499.html"/><content type="html">&lt;p&gt;&lt;span style="font-size: 12pt;"&gt;我不算是好事者。但是最近在南方周末上2011年4月14日头版上看到 漩涡中的中国首富，李彦宏和他的百度霸业。不由还是关注了一下百度（南方周末用了头版以及随后的两个版面报道，确实花费不少功夫）。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt;"&gt;对于几个搜索引擎一直以来 我秉持着&amp;#8220;外事问Google，内事问百度，房事问天涯&amp;#8221;的原则。所以也很少去关注关于百度的一些问题报道，比如竞价排名或者其他。也有人曾经向我咨询，到底是在Google上作广告，还是在百度上作推广。尽管作为一个程序员，我一直都在使用Google，也心偏向 Google，但我还是忍住了多事之口，以&amp;#8220;没有研究 没有发言权&amp;#8221;这样的说辞拒绝了给出任何建议。事实证明我对了，因为Google之后退出了中国。&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt;"&gt;不过在这里 我仍要给程序员们或者做学问的人给出建议，你们当然要用Google，如果一个程序员或者做学问者 不善用Google，将是一件非常可怕的事情。有很多学生或者同仁问我，你阅读的文章到底从何处而来，我说在Google里搜索的。于是他们还作怀疑状，以为我保守。但是以天为誓，我确实就是Google而已。当然有时候搜索微软的东西会用到bing。百度也用，Google退出之后经常性的不稳定。所以用不了Google的时候会用百度。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt;"&gt;另外，百度有的时候很让我惊讶。比如百度指数和Google Trends是同一款产品。但是百度指数，确能给出我让我惊讶的数据，比如职业分布，年龄，性别等等。而Google Trends确只能给出搜索量指数，地区分布几个少得可怜的数据。实在让我感慨中国IT企业确实超过了米国。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt;"&gt;&amp;nbsp;好了，唠叨了这么多，我还是直接给出简单测试的结果。测试很简单，就以我的网名为关键词搜索&amp;#8220;helloj2ee&amp;#8221;。&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt;"&gt;我主要活动的地方在博客园，即&amp;#8220;做一个鸡立鹤群的人&amp;#8221;，另外我以网名申请了一个网站为www.helloj2ee.com。由于我这个名字实在不是阿猫 阿狗这样通俗的字眼。因此是能够以该关键字搜索出来这些地方的。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt;"&gt;在google里的结果是&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/helloj2ee/google%E7%BB%93%E6%9E%9C.jpg" height="490" width="783" /&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt;"&gt;好在前三个都还是helloj2ee的博客地址或者网站（实在对不起，这个网站的确长期疏于维护，目前尽保留了域名）&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt;"&gt;第四个是Google的Project.第五个就不知道是什么网站了。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt;"&gt;&amp;nbsp;好，我们看百度。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/helloj2ee/%E7%99%BE%E5%BA%A6%E7%BB%93%E6%9E%9C.jpg" height="566" width="740" /&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt;"&gt;&amp;nbsp;虽然前三个都是我的文章，但是第一个是转载的不知道的网站，第二个是转载的不知道的网站，第三个还是转载的不知道的网站，我去！&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt;"&gt;第四个终于是了，第五个终于是了。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt;"&gt;大家不要小看，前三个不是。如果大家对用户行为稍有研究的话，就可能了解，实际上用户是最为关注前几项的。他们不是线性关系，也就是说处在排名第一的其影响力是远远超出后面几项的。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt;"&gt;好在看bing，注意这里我使用的google或者bing，以及雅虎都是中国的google（香港），bing和雅虎。中国人嘛。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/helloj2ee/Bing%E7%BB%93%E6%9E%9C.jpg" height="622" width="850" /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt;"&gt;bing比较实在，第一个是我的网站，第二个还是，第三个还是，第四个还是。第五个不是了。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt;"&gt;&amp;nbsp;这样的游戏玩上瘾之后，随即我又试了试雅虎。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/helloj2ee/yahoo%E7%BB%93%E6%9E%9C.jpg" height="655" width="807" /&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt;"&gt;&amp;nbsp;雅虎的结果也不容乐观，除了第一个是我注册的网站之外，其他四个也是均转载了我的文章，但是是未知的网站。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt;"&gt;好了 再看看国产的腾讯搜搜和网易的有道。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/helloj2ee/sousou.jpg" /&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/helloj2ee/%E6%9C%89%E9%81%93.jpg" height="596" width="835" /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt;"&gt;结果还好，鸡立鹤群还是出现在前三甲。&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt;"&gt;&amp;nbsp;这个测试的逻辑是，以我这个比较罕见，名不见经传的名字在各大搜索引擎里搜索，那么应该得到的也是我这个名不见经传的人的网站或者博客等。倘若以我真名搜索，估计前50页也是看不到的。这不能怪Google，百度。只能怪我爸不是李刚啊。因此这个逻辑应该是简单明了的。但是结果已经看到，因此我不再评说他们的好坏。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div&gt;&lt;p&gt;&lt;span style="font-size: 12pt;"&gt;我曾经在网上看到这样的文章。由于我安装了Alexa工具条，因此这篇文章的流行度应该是相当流行的。百度李彦宏：五年后大家将很难看到Google http://tech.sina.com.cn/i/2006-04-10/1635897517.shtml&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt;"&gt;里面提到 &amp;#8220;一个月前，李彦宏亲口告诉我说：&amp;#8216;5年以后，Google和百度之间的关系是百度一枝独秀，从市场份额来说，大家很难看到Google了。&amp;#8217;&amp;#8221;&amp;#8221; &lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt;"&gt;如果这是事实，这将是多么可怕的事实。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt;&amp;nbsp;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/helloj2ee/aggbug/2020499.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/helloj2ee/archive/2011/04/19/2020499.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/helloj2ee/archive/2011/04/16/Silverlight.html</id><title type="text">Helloj2ee的新译作：Silverlight 4 RIA开发全程解析（英文名为Silverlight4 Problem Desing Solution）</title><summary type="text">今天收到了清华大学出版社寄给我的新译作《Silverlight 4 RIA 开发全程解析》。随即，我查了查在当当，卓越以及China-pub上还没有此书。这本书是一本使用Silverlight 4构建富客户网站的实践书。在这里Helloj2ee为大家推荐一下该书。原因很简单，因为是本人翻译的，至于钱的方面，倒确实没有这方面的原因。因为译书和写书全然不一样。翻译是一锤子买卖的事情。即使这本书卖得再好，和我也没有任何关系。如果你有了一定的Silverlight或者WPF基础的人，又苦于平时看书全会，放下书全不会，那么这本书真的很合适你。下面是Helloj2ee为这本书写的一个序，以及该书的英文版。供大家选择时的一个参考。</summary><published>2011-04-16T14:21:00Z</published><updated>2011-04-16T14:21:00Z</updated><author><name>helloj2ee</name><uri>http://www.cnblogs.com/helloj2ee/</uri></author><link rel="alternate" href="http://www.cnblogs.com/helloj2ee/archive/2011/04/16/Silverlight.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/helloj2ee/archive/2011/04/16/Silverlight.html"/><content type="html">&lt;p&gt;&lt;span style="font-size: 12pt;"&gt;今天收到了清华大学出版社寄给我的新译作《Silverlight 4 RIA 开发全程解析》。随即，我查了查在当当，卓越以及China-pub上还没有此书。这本书是一本使用Silverlight 4构建富客户网站的实践书。&lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;在这里Helloj2ee为大家推荐一下该书。原因很简单，因为是本人翻译的，至于钱的方面，倒确实没有这方面的原因。因为译书和写书全然不一样。翻译是一锤子买卖的事情。即使这本书卖得再好，和我也没有任何关系。&lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;如果你有了一定的Silverlight或者WPF基础的人，又苦于平时看书全会，放下书全不会，那么这本书真的很合适你。下面是Helloj2ee为这本书写的一个序，以及该书的英文版。供大家选择时的一个参考。&lt;/span&gt;&lt;br style="font-size: 12pt;" /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div&gt;&lt;p&gt;&lt;span style="font-size: 12pt; line-height: 150%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2010&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: 宋体;"&gt;年夏天，当我刚刚完成了《葵花宝典&amp;#8212;&amp;#8212;&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%;"&gt;WPF&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: 宋体;"&gt;自学手册》一书，转而投向下一个战场&amp;#8212;&amp;#8212;博士论文的撰写时，一个陌生的来电，让我与此书结下了不解之缘。电话的那一头是清华大学出版社的李阳老师，李阳老师是一个热情、爽朗且睿智的技术编辑，她从朋友处详细地了解了我之所长，凭着多年的技术编辑经验，她认为这本书适合于我，而我也适合于本书。博士论文的压力使我有些犹豫，但还是忍不住看了看该书的目录，诱惑总是难以抵挡的，特别是对于&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%;"&gt;WPF/Silverlight&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: 宋体;"&gt;有着灵敏嗅觉的程序员而言。于是我恍若古代艺人，席间有人击筑，不觉技痒，直到签下翻译合同，才从徽羽之声中清醒。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: 宋体;"&gt;清醒之后，我开始做计划，&amp;#8220;三个月时间，近&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%;"&gt;500&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: 宋体;"&gt;页的书稿和读者满意&amp;#8221;，这三个条件构成似乎有些苛刻。于是我开始寻找合作者，在合作翻译书稿上，我的经验是人不在多，而在精。译者观点各一，理解有深浅，文笔不同，但是读者需要的是一本完整，表述一致的书。于是我将目光锁定在刘佳升身上，一个&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%;"&gt;16&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: 宋体;"&gt;岁上大学，&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%;"&gt;22&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: 宋体;"&gt;岁上博士的神童，作为中国科学院软件研究所的在读博士生，她的技术基础毋庸置疑，更难能可贵的是她有着女性一贯的认真和细致。我们的合作是全方位的。虽然我负责&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%;"&gt;1~6&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: 宋体;"&gt;章、&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%;"&gt;12&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: 宋体;"&gt;章翻译和全书的统稿工作，她负责&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%;"&gt;7~11&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: 宋体;"&gt;章的翻译，但实际上我们一直遵循小规模迭代的工作模式，互相检查翻译稿，然后再进一步统一术语和表述习惯，合作是相当的愉快。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: 宋体;"&gt;随着翻译工作的进行，我越来越喜欢这本书。这本书不是一本讲&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%;"&gt;Silverlight&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: 宋体;"&gt;基础的书，而是一本应用&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%;"&gt;Silverlight&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: 宋体;"&gt;，尤其是应用&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%;"&gt;Silverlight 4&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: 宋体;"&gt;新特性构建良好的&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%;"&gt;Web&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: 宋体;"&gt;应用的实践书。该书有一个且只有一个实例&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%;"&gt;FitnessTrackerPlus&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: 宋体;"&gt;网站，一本书读完，一个实例搭建完，想必是作者用心之所在。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: 宋体;"&gt;如果您已经有相当的&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%;"&gt;Silverlight&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: 宋体;"&gt;基础，但是苦于缺少实践，我想篡改一下宋丹丹演白云的一句话，那就是&amp;#8220;这本书是为你而生的&amp;#8221;；&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: 宋体;"&gt;如果您已经有过&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%;"&gt;WPF&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: 宋体;"&gt;的基础，相信我，完全可以略过&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%;"&gt;Silverlight&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: 宋体;"&gt;基础，只是需要再了解一下&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%;"&gt;Web&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: 宋体;"&gt;编程的基本原理，然后再投入到该书的怀抱中；&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: 宋体;"&gt;如果您具备了&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%;"&gt;.Net&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: 宋体;"&gt;知识，但是不知&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%;"&gt;WPF&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: 宋体;"&gt;是何物，&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%;"&gt;Silverlight&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: 宋体;"&gt;是何物，那么我想您还需要进一步了解一下&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%;"&gt;WPF&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: 宋体;"&gt;和&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%;"&gt;Silvleright&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: 宋体;"&gt;是否是您所需要的，然后他日有缘再见；&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: 宋体;"&gt;如果您只是一个&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%;"&gt;MFC&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: 宋体;"&gt;的爱好者，或者是一个&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%;"&gt;VB&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: 宋体;"&gt;爱好者，再或者是一个&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%;"&gt;Java&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: 宋体;"&gt;爱好者，那么您是否先去了解一下&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%;"&gt;.Net&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: 宋体;"&gt;，去了解一下当下的富客户应用，青山不改，绿水长流；&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: 宋体;"&gt;如果&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%;"&gt;&amp;#8230;&amp;#8230;.&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: 宋体;"&gt;还有如果么，如果您看到这儿了，我想您应该喜欢这本书，那么买下来吧。即便放在书架上，说不定哪天就会在夕阳西下的一个下午，端着一杯咖啡，随意翻翻，何不快哉？&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: 宋体;"&gt;全书作者近乎用了一种非常刻板和老套的模式，即提出问题（&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%;"&gt;Problem&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: 宋体;"&gt;）、分析问题（&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%;"&gt;Design&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: 宋体;"&gt;）和解决问题（&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%;"&gt;Solution&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: 宋体;"&gt;）。即使诸如第一章开场白，这种非常不适合于这种模式的章节，他仍然选择坚守他的固执。作者的固执造就了全书的脉络分明，清晰有序。您总可以在提出问题里，知道即将面对的问题和困难。总可以在分析问题里，看到作者选择的智慧。而在解决问题里，切切实实拿到解决方案，使之能够快速动手。全书的第二章是一个总纲，它相当于&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%;"&gt;FitnessTrackerPlus&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: 宋体;"&gt;网站的总体设计，在这一章里确定了&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%;"&gt;FitnessTrackerPlus&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: 宋体;"&gt;网站的技术体制。这一章读完之后，倘若完全理解，下面的章节，您就可以飞一般的阅读了。倘若似懂非懂，也丝毫没有关系，一章一章循着看过去，再回过头来领悟作者选择的智慧，也是可以柳暗花明的。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt; line-height: 150%;"&gt;2010&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: 宋体;"&gt;年岁末，再和责任编辑吴乐老师经历了无数次的沟通之后，终于将译稿交给出版社。之后，我又一次参加了微软的&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%;"&gt;TechEd&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: 宋体;"&gt;大会，大会上围绕着&amp;#8220;云和端&amp;#8221;的讨论不绝于耳，作为端的&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%;"&gt;Silverlight&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: 宋体;"&gt;，其重要性可见一斑。又恰逢潘正磊女士在作&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%;"&gt;LightSwitch&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: 宋体;"&gt;的讲座，恍惚间觉得&amp;#8220;降龙十八掌&amp;#8221;、&amp;#8220;九阴白骨掌&amp;#8221;、&amp;#8220;一阳指&amp;#8221;&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%;"&gt;&amp;#8230;&amp;#8230;&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: 宋体;"&gt;天下武学，形散神聚，本是一家，快哉，快哉。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt; line-height: 150%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt; line-height: 150%;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: 宋体;"&gt;译者&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2011&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 宋体;"&gt;年&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;3&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 宋体;"&gt;月&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;28&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 宋体;"&gt;日&lt;/span&gt; &lt;span style="font-size: 12pt; font-family: 宋体;"&gt;于郑州&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;英文书：&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;a href="http://files.cnblogs.com/helloj2ee/Silverlight.4.Problem.Design.Solution.part1.rar"&gt;/Files/helloj2ee/Silverlight.4.Problem.Design.Solution.part1.rar&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://files.cnblogs.com/helloj2ee/Silverlight.4.Problem.Design.Solution.part2.rar"&gt;/Files/helloj2ee/Silverlight.4.Problem.Design.Solution.part2.rar&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;当当：http://product.dangdang.com/product.aspx?product_id=21070384&lt;/p&gt;&lt;p&gt;China-pub: http://product.china-pub.com/55974 &lt;br /&gt;&lt;/p&gt;&lt;p&gt;卓越：http://www.amazon.cn/SilverLight-4-RIA%E5%BC%80%E5%8F%91%E5%85%A8%E7%A8%8B%E8%A7%A3%E6%9E%90-Nick-Lecrenski/dp/B004XOMDRW/ref=sr_1_9?ie=UTF8&amp;amp;qid=1304425641&amp;amp;sr=8-9 &lt;br /&gt;&lt;/p&gt;&lt;p&gt;书封面： &lt;br /&gt;&lt;/p&gt;&lt;div&gt;&lt;span style="font-size: 12pt; line-height: 150%;"&gt;&lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/helloj2ee/Silverlight4.jpg" height="193" width="135" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size: 12pt; line-height: 150%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size: 12pt; line-height: 150%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;div&gt;&lt;span style="font-size: 12pt; line-height: 150%;"&gt;&lt;/span&gt;&lt;/div&gt;&amp;nbsp;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/helloj2ee/aggbug/2018521.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/helloj2ee/archive/2011/04/16/Silverlight.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/helloj2ee/archive/2011/04/11/2013028.html</id><title type="text">David Freedman统计学书评</title><summary type="text">首先需要解释一下 程序员为什么 会去学习统计学。以Helloj2ee的个人经历而言。是因为程序员正在向可用性专家和用户研究专家 转型的时候需要用到。你或许也是这个原因。那么这篇文章 你就该看了。</summary><published>2011-04-11T15:06:00Z</published><updated>2011-04-11T15:06:00Z</updated><author><name>helloj2ee</name><uri>http://www.cnblogs.com/helloj2ee/</uri></author><link rel="alternate" href="http://www.cnblogs.com/helloj2ee/archive/2011/04/11/2013028.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/helloj2ee/archive/2011/04/11/2013028.html"/><content type="html">&lt;p&gt;&lt;span style="font-size: 12pt;"&gt;首先需要解释一下 程序员为什么 会去学习统计学。&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt;"&gt;以Helloj2ee的个人经历而言。是因为程序员正在向可用性专家和用户研究专家 转型的时候需要用到。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt;"&gt;你或许也是这个原因。那么这篇文章 你就该看了。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt;"&gt;从事可用性研究 从事用户研究 需要接触大量数据。举个简单的例子。如果你是一个可用性专家 需要评估两套方案A和B。如果你找了10个人去问，6个人说方案A好 4 个人说方案B好。通常我们就可以简单认为设计方案A好了？但是这样的结论是相当草率的。 至少 可以说明你没有受过太多统计学的训练。如果你受过一定的统计学的训练，那么你只能说 在多少多少置信度的情况下 方案A优于方案B。因为10个 是一个很小很小的样本，而6&amp;gt;4 能说明问题 但是在多大程度上说明问题。这个需要仔细考虑。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt;"&gt;我看过很多研究生的文章 坦率讲 这一点 让我很失望。很显然 很多研究生基本功 太不扎实。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt;"&gt;Helloj2ee也不扎实。但是好在Helloj2ee意识到这个问题。于是找出了上大学的教材《概率论与数理统计》来看。看了一遍 不懂。看第二遍 懂了 但是不会用。这个时候 Helloj2ee意识到 不是自己的问题 是书的问题了。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt;"&gt;中国人的书 真的 绝大部分 写的太有学问了 很难让人看懂。此为其一。其二是看懂了 也不会用到生活实际当中。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt;"&gt;David Freedman的这本统计学 我不得不推荐。真的是一本好书 好书 好书。好到什么程度呢？Helloj2ee 在近24年的读书生涯&lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;中，除了老师安排的课外习题以外。主动做后面的习题的 只有两本书。David Freedman的这本就是其中之一。另外一本是《深入理解计算机系统》。&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt;"&gt;这书 好在两点：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt;"&gt;1、它确实是一本 高中生 甚至是初中生就能看懂的书。Helloj2ee尽管 学历较高 但是比较属于高学历 低能力的人。 因此教材《概率论与数理统计》不大能看懂。但是这本一看就懂 一看就会。该书中在讲绘制直方图 绘制散点图 甚至是小学生也能够看懂。在Helloj2ee上小学的时候 经常会听说到 美国的小学生 怎么 怎么笨 不会解题。中国的小学生 怎么怎么聪明。那个时候 我也非常得意 觉得去美国了 可能就是天才神童了。到现在 意识到 可能并不是这样。他们训练的可能更注重实际 能够解决实际问题。而我们 只是学课本。举个简单的例子来说 我们在讲方差 讲标准差的时候 一定会讲一个定义 然后摆一个万恶的公式在哪儿 让你感到莫名的高深 莫名的膜拜。但是这本书 里讲标准差 他告诉你是描述数据的散布程度。同时他告诉你一个很有实践经验的东西。即 数列中68%的项都在离平均数的一个标准差范围之内。95%的项都在两个标准差之内。事实上 这个只是正态分布如此。但是 有的时候 科学也不一定是需要严谨的。有的时候 又确实需要严谨。如何处理 什么时候严谨 什么时候不严谨。套用 刚刚播出的非诚勿扰中的 女嘉宾一句话&amp;#8220;我觉得 男人该硬的时候得硬 该软的时候得软&amp;#8221; helloj2ee也只好说&amp;#8220;科学严谨 该硬的时候得硬 该软的时候得软&amp;#8221;&lt;/span&gt; &lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt;"&gt;2、它锻炼的是一种对数据的统计嗅觉。书中很多习题，&lt;/span&gt; &lt;span style="font-size: 12pt;"&gt;出题类似这种 比如你估计 他的均值应该是1，10，100。或者是你猜测 rms为1，10，100.这样 估计 猜测 在我们传统的教科书里是非常少见的。科学怎么能够估计和猜测呢。这就是该软的时候 你还是得软啊。&lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;如果一路把这写题做下去。你就会发现不知不觉你对这些数据变得敏感。你能很快定性有一种感觉。这就是对数据的嗅觉。甚至有的时候 你不用图形化出来就能感觉出来 数据的均值 散布的程度 相关性等等。这让Helloj2ee想起来 《黑客帝国》一幕 他们为了 节省计算机的计算资源 直接看那写纷乱的数据 就能看出端倪 而无需图形化。Helloj2ee想DavidFreedman 也许正想锻炼诸位这样的嗅觉能力。&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt;"&gt;作为一个老师 看这本书 真的有很多感慨。也对我们现在的教育弊病 深感担忧。我想把这本书推荐给大家吧。当然这本书 买不到了。在我的附件里 有一个电子版。就连我自己也是打印出来。说起来 中国的图书市场也是很有意思的事情 烂书满天飞 而真正的好书 确往往不见踪影了。唉 这也是一个问题啊.........&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;a href="http://files.cnblogs.com/helloj2ee/%E7%BB%9F%E8%AE%A1%E5%AD%A6.part1.rar"&gt;/Files/helloj2ee/统计学.part1.rar&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://files.cnblogs.com/helloj2ee/%E7%BB%9F%E8%AE%A1%E5%AD%A6.part2.rar"&gt;/Files/helloj2ee/统计学.part2.rar&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href="http://files.cnblogs.com/helloj2ee/%E7%BB%9F%E8%AE%A1%E5%AD%A6.part2.rar"&gt;&lt;/a&gt;&lt;a&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/helloj2ee/aggbug/2013028.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/helloj2ee/archive/2011/04/11/2013028.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/helloj2ee/archive/2011/02/01/1948640.html</id><title type="text">希望了解可用性和用户体验的简单发展 可以进来了解一下</title><summary type="text">好久没有写过技术博客。原因有很多 但绝不是懈怠。本章是一篇翻译稿 原文为User Experience Design： The Evolution of a Multi-Disciplinary Approach.作者也是比较有名的用户体验专家 J.Mayhew 该文章来自JUS（Journal of Usability Studies）2008年的。翻译的目的很简单 只是自己也一直致力于可用性研究。她的经历和我也颇有类似，比如大家都是从程序员在转型。由于毕竟不是在做一件正儿八经的翻译工作 只是和大家分享 所以文章翻译的只能说完整 但是还不精致。因此大家大可看看中文 看看英文。有问题 也不妨在下面回复。</summary><published>2011-02-01T05:32:00Z</published><updated>2011-02-01T05:32:00Z</updated><author><name>helloj2ee</name><uri>http://www.cnblogs.com/helloj2ee/</uri></author><link rel="alternate" href="http://www.cnblogs.com/helloj2ee/archive/2011/02/01/1948640.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/helloj2ee/archive/2011/02/01/1948640.html"/><content type="html">&lt;p&gt;&lt;span style="font-size: 12pt;"&gt;好久没有写过技术博客。原因有很多 但绝不是懈怠。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div&gt;&lt;span style="font-size: 12pt;"&gt;本章是一篇翻译稿 原文为User Experience Design： The Evolution of a Multi-Disciplinary Approach.&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://files.cnblogs.com/helloj2ee/UXDesign_JUS_Mayhew_May2008.pdf"&gt;&lt;span style="font-size: 12pt;"&gt;/Files/helloj2ee/UXDesign_JUS_Mayhew_May2008.pdf&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt;"&gt;作者也是比较有名的用户体验专家 J.Mayhew 该文章来自JUS（Journal of Usability Studies）2008年的。 &lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt;"&gt;翻译的目的很简单 只是自己也一直致力于可用性研究。她的经历和我也颇有类似，比如大家都是从程序员在转型。由于毕竟不是在做一件正儿八经的翻译工作 只是和大家分享 所以文章翻译的只能说完整 但是还不精致。因此大家大可看看中文 看看英文。有问题 也不妨在下面回复。&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt;"&gt;好了 &amp;#8220;菜花 上酸菜&amp;#8221;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div&gt;  &lt;p&gt;&lt;strong&gt;&lt;span style="font-family: 宋体; font-size: 24pt;"&gt;用户体验设计：多学科的演进之路&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div&gt;  &lt;p&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;作者：&lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;J. Mayhew&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1. &lt;span style="font-family: 宋体;"&gt;软件工程的早期简史&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;本节是&lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;60&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;年代到&lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;80&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;年代软件工程的简史&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;60&lt;span style="font-family: 宋体;"&gt;年代到&lt;/span&gt;70&lt;span style="font-family: 宋体;"&gt;年代&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;早期（&lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;60&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;年代末），是程序员包打一切的年代。&lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;Period&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;这个时候的软件开发产业根本没有或者没有真正意义的劳动分工。程序员要去进行业务和功能分析，他们要去做项目管理，他们要去做系统架构，他们要去做用户界面设计，他们要编码，还有他们要做软件测试，质量控制和后期的用户支持。某些情况下，他们还要去做销售。&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;这个时候也没有实际使用中的任何标准或者商业的软件开发学。每个公司的开发项目团队的领导者（同样也是程序员）也是通过他们自身的经验来指导项目。我在&lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;1978&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;年开始了我的软件行业的职业生涯。在那个时候，我正在攻读我的博士学位，其研究的内容是认知心理学。我在研究生院里做助理研究员时学到了一些编程技巧，同时暑假在一个软件开发咨询公司里找到一份程序员的工作来支持我能继续完成学业。我本来计划在暑假结束辞掉这个工作，然后全部精力投入到我的学位工作中。但是没想到的是我迷恋上了软件开发这个行业（更不用说还有一份不错的收入），于是我决定继续留下来。我是在咨询公司全职工作的情况下完成了我的博士学位。&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;80&lt;span style="font-family: 宋体;"&gt;年代&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;时间回到&lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;80&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;年代初，我还记得当公司试图首先推出一套标准的开发方法学时，我所在咨询公司程序员们愤怒的反应（他们正在试图标准化他们公司内部的开发方法学，希望最后能够像产品一样打包销售）。项目经理（当然他们还是程序员）为这个想法感到感到震惊，如果按照这种想法，他们以后就无法按照自己的方式来管理项目。他们抱怨遵循了这一套标准会压抑他们的创造性和创新的能力，也会降低他们工作的积极性。当公司准备开始进一步将项目开发团队的人力资源进一步细分和专业化的时候，开发者也因为同样的原因感到震惊。&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;早期最先分离出来的角色是&amp;#8220;业务分析师&amp;#8221;，这个角色不再是程序员，而是业务专家。程序员不再需要去做业务分析。这是从程序员包打一切的工作中分离出来的第一个职责。很快关于客户处理的职责也从程序员的工作中分离出来，处理这个职责的角色是&amp;#8220;客户经理&amp;#8221;，严格地讲，这也是一个业务角色。很快另一个新的专业角色也出现了&amp;#8212;&amp;#8212;项目经理&amp;#8212;&amp;#8212;该角色同样也不是真正意义的技术角色，他主要是管理角色。程序员又该不满了，因为他们需要被&amp;#8220;管理&amp;#8221;，同时更多地失去对项目的控制。&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;角色的专业化还在持续。在&lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;80&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;年代中期，系统架构中出现了一种可以将用户界面代码方法从应用逻辑代码分离的技术。这种分离使得应用程序变得更加强大且易于维护。相应，程序员的角色也开始分为&amp;#8220;后台工程师&amp;#8221;和&amp;#8220;前端程序员&amp;#8221;&amp;#8212;&amp;#8212;这样进一步的专业化使得从程序员角色里至少移除掉一部分用户界面设计角色，不过该角色仍然是在程序员角色中所控制。关于架构和构建独立界面代码的专业化工具开始出现，相应地在程序员社区一部分人开始致力于研究这些工具。&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;最终，使这个角色从程序员角色当中消失&amp;#8212;&amp;#8212;是计算机的一个领域的出现&amp;#8212;&amp;#8212;人机交互领域，它出现在&lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;70&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;年代后期，它开始全面接掌这个角色。程序员开始不得不听取&amp;#8220;用户界面设计师&amp;#8221;和&amp;#8220;人因&amp;#8221;专家的建议，他们都不是专业的软件人员。他们多半有心理学或者人因专业背景。很多但也不是全部的程序员（特别是专注于用户界面工具的这部分人），他们已经习惯并且喜欢用户界面设计，他们也认为自己完全可以胜任该领域，同时他们也不愿意失去对这个领域的控制。早期的可用性专家通常被程序员认为是不受欢迎的闯入者，同样一直不受管理者的理解和支持。在&lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;80&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;年代这是一个非常艰难的角色。&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;2. &lt;span style="font-family: 宋体;"&gt;软件可用性工程近来简史&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;下面一节是&lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;90&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;年代和二十一世纪初的软件可用性工程发展史。&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;90&lt;span style="font-family: 宋体;"&gt;年代&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 12pt;"&gt;90&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;年代初期，在软件开发产业中，角色的专业化和标准的开发方法学变得普遍和被人们接受，特别是来到这个产业的新人，他们没有这种历史上的极为宽泛的角色，他们能够更加自由地管理他们自己和他们的项目。另外一方面，在软件开发团队中，成为一个可用性专家仍然是不容易让人接受，而且仍然是一个很艰难的角色，仍然不受程序员的欢迎，仍然不受上级领导的支持。然而软件产业到现在已经采用了标准的开发方法学，可用性专家在这个方法论里找不到自己的正式位置，他还像早期&lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;80&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;年代的程序员一样&amp;#8212;&amp;#8212;是一个多面手，在任何一个特定的可用性角色里都没有完全的专业化（比如用户界面设计师，可用性需求分析师，可用性测试师等），他们也没有任何专业的，标准的方法将他们的经验和工作整合到软件开发团队和方法学中。历史又一次重演。&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 12pt;"&gt;90&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;年代后期进入到了&lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;.com&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;时代。&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;我记得我就是在这个时候开始了长期的&lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;dot com&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;的咨询工作。我现在已经快&lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;50&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;岁了，在软件产业有&lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;25&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;年的工作经历，而绝大部分雇员刚刚入行的时候，仅仅&lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;20&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;岁，刚刚离开学校。他们对自己专业化的角色（后台程序员和前端程序员）没有任何消极的感受，因为这就是他们所知道的一切。一部分专业的人员应该对程序员他们所构建的用户体验完全负责。在这一点上，他们毫无异议。&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;在和客户公司交互的过程中也出现了一个新的类型用户体验专业&amp;#8212;&amp;#8212;平面设计师。突然之间，类似我这样的可用性专家和&lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;20&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;年前的程序员处在了同样的位置，需要和这个新的完全是另一类的可用性专家共同承担责任，而在过去则完全是由我们来负责。不久之后，又出现了一个新的专业用户体验角色&amp;#8212;&amp;#8212;信息架构师。&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;我的书：可用性工程生命周期（&lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;Morgan Kaufmann Publishers&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;，&lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;1999&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;，&lt;/span&gt;&lt;a href="http://drdeb.vineyard.net/index2.php?loc=7&amp;amp;nloc=1"&gt;&lt;span style="color: windowtext; text-decoration: none; font-size: 12pt;"&gt;http://drdeb.vineyard.net/index2.php?loc=7&amp;amp;nloc=1&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;）更多的是引入了可用性工程的实践，主张通过结构化和工程性的方法学来达到好的界面设计，同时这些方法能够和软件开发方法整合起来，和当时的软件工程实践非常类似。这样的标准化方法在当时对可用性领域来说是全新的，这种变化就好像&lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;20&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;年前程序员所面临的变化。生命周期的方法也更清楚地明确了在一个开发团队里用户体验专业的各类不同角色。我们需要与时俱进。&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;我还记得最初，学习如何为用户体验设计区分平面设计角色和信息架构角色的权责是一件非常有意思的挑战。很清楚，我从一开始就认识到强强联合的重要性，但是我发现可用性原则经常会和平面设计以及品牌原则发生冲突，难以达到最优化的联合。这就需要在一定程度上，我们彼此了解对方的经验。我感到在这点上开始清除我们之间的技术和责任的分界线。同时也感到作为一个用户体验设计团队会比各自为战要有效率得多。&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;2000&lt;span style="font-family: 宋体;"&gt;年代&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;近来，我发现有一种新的用户体验专业出现：&amp;#8220;劝导架构师&amp;#8221;。这种专家会有市场和销售背景，专注于网站用户体验设计如何有利于&amp;#8220;转换&amp;#8221;，即网站有多少或者一定比例的访问者能够最终直接达到网站的商业目的，比如购买商品，登录即时通讯产品，注册或者使用网站支持等等。这是设计的两个不同方面，劝导设计是有利于将访问者转换成客户，而以前的设计是有利于任务快速和简单的完成，提高网站视觉上的吸引力，或者以最自然的方式构建网站信息或者功能。&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;我有一个新的商业伙伴（&lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;Todd Follansbee,&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;网络资源营销者），他即是一个优秀的劝导架构师。我已经开始和他合作，他开发了一个新工具，可以用来快速，客观和定量的评价网站的用户体验设计，特别是电子商务网站。这个工具结合了公司目前基本的可用性原则，内容原则，平面设计原则和劝导架构原则，让评测者获得该网站的一个分数。我已经将该软件的&lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;Beta&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;版本应用在我自己公司网站的评测中。虽然我的公司网站获得较高的可用性原则的分数，但是在劝导架构原则上得分很低。这就不是我所擅长的。同样平面设计也不是我所擅长的，这也反映在了我的网站设计上。&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;在&lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;Dudley&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;工具里劝导架构的评测是考查网站是否遵循如下营销概念和原则的：&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family: Wingdings;"&gt;&lt;span&gt;&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;在首页上提供一个清楚的&amp;#8220;价值主张（&lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;Value Proposition&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;）&amp;#8221;；（注：参见维基百科上的术语解释 &lt;div&gt;&lt;span style="font-size: 12pt;"&gt;http://en.wikipedia.org/wiki/Value_proposition&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;）&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family: Wingdings;"&gt;&lt;span&gt;&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;关注产品或者服务利益而不是其功能（客户关心的语言）；&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family: Wingdings;"&gt;&lt;span&gt;&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;有效地解决信誉和信任问题；&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family: Wingdings;"&gt;&lt;span&gt;&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;有效地解决隐私保护问题；&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family: Wingdings;"&gt;&lt;span&gt;&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;使用访问者的语言（避免行业或者企业的专业术语）；&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family: Wingdings;"&gt;&lt;span&gt;&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;提供访问者需要的全部信息，便于访问者沿着业务路径及时决定每一步；&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family: Wingdings;"&gt;&lt;span&gt;&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;呈现显著和清楚的&amp;#8220;行动召唤&amp;#8221;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;这些标准的市场概念和原则不一定能在专业的用户体验设计师（比如可用性工程师和平面设计师）打造的网站中找到。我重新设计了我的网站以达到&lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;Dudley&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;的劝导原则。有很明显的改善（过去显示在&lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;Google&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;搜索结果中可能是&lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;1-10&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;页，现在是&lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;1-2&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;页）&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;3 &lt;span style="font-family: 宋体;"&gt;展望&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;我们这些可用性专业人士需要和这种新的专业人精诚合作。在&lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;Web&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;世界里，任务的完成（传统可用性的目标）是不够的，一个吸引人的网站界面设计也是不够的。网站不仅仅要吸引住网站的访问者，还需要解决他们如何购买产品，注册或者登录等问题。您要比其他竞争网站更能快速地告诉访问者您能满足他们的需求，他们也能够迅速地在您的网站上购买产品。这是整个网站成功的关键。&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;因此，在这个位置上的我们需要让用户体验行业里接受和采用新的专业。在这一点上，一个多学科团队是我们成功的关键。正如&lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;20&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;年前的程序员，用户体验行业也需要包含新的专业，然后学会如何和他们一起有效地工作。另外一个关键的问题是定义和采用开发方法学，该方法学要以一种平衡的方式整合所有类型的技巧。这可能是未来摆在我们面前的最主要的挑战。程序员们从&lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;60&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;年代开始经历了很多的改变，也采用了很多的方法。但是他们仍然被认为是软件开发中不可获取的一部分。而用户体验专家进入这个行业经历了很多成长也超过了&lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;25&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;年，我们仍然在很大程度上没有被认为是其中一部分或者是不可或缺的角色。通过我们和其他用户体验专家精诚合作，在我们的组织中，将我们的方法整合到标准的软件开发方法学中，这样对于我们达到一个大的战略目标上将会有更好的机会。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family: 宋体; font-size: 12pt;"&gt;关于作者&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 12pt;"&gt;Dr.DDeborah J.Mayhew&lt;/span&gt;&lt;/p&gt;  &lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体;"&gt;软件用户界面设计和可用性工程的国际知名作者，老师，演讲者和顾问。她最近的新书是可用性工程的生命周期。&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: Calibri;"&gt;Dr. Mayhew&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体;"&gt;本科毕业于&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: Calibri;"&gt;Brown University&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体;"&gt;心理学专业，硕士毕业于&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: Calibri;"&gt;Denver&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体;"&gt;大学的实验心理学，博士毕业于&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: Calibri;"&gt;Tufts&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体;"&gt;大学的认知心理学。&lt;/span&gt;&lt;/div&gt;&amp;nbsp;&lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/helloj2ee/aggbug/1948640.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/helloj2ee/archive/2011/02/01/1948640.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/helloj2ee/archive/2010/12/09/1900818.html</id><title type="text">WPF自定义ListBox（二）</title><summary type="text">Helloj2ee的自定义ListBox（一），虽然很用心，但看出来反响不强烈。只能这一篇再给力一点。虽然评论很少，但是也看出一些讯息。讯息之一，就是Helloj2ee的WPF看不懂。的确在这里写的不是基本的东西，而是对其WPF的相关基础概念掌握了之后，才能看的一个系列。自定义控件在《葵花宝典——WPF自学手册》一书中，是放到第六卷——华山之巅，足见其高阶。因此Helloj2ee在后面列出的参考文献，就很有价值了。因为您若是看不懂，不妨去参考相关文献，即便您没有葵花宝典一书，但总可以知道需要掌握的相关概念是什么，参阅其他书又何妨？讯息之二，是提供的源码无法打开，那么Helloj2ee已经更新过。如果解压还是失败，您不妨在下面的回帖中告诉我。说到给力，那么只有让这个控件在本章当中酷起来或者炫起来，才是给力的王道。</summary><published>2010-12-08T16:31:00Z</published><updated>2010-12-08T16:31:00Z</updated><author><name>helloj2ee</name><uri>http://www.cnblogs.com/helloj2ee/</uri></author><link rel="alternate" href="http://www.cnblogs.com/helloj2ee/archive/2010/12/09/1900818.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/helloj2ee/archive/2010/12/09/1900818.html"/><content type="html">&lt;p&gt;&lt;span style="font-size: 12pt"&gt;Helloj2ee&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 宋体"&gt;的自定义&lt;/span&gt;&lt;span style="font-size: 12pt"&gt;ListBox&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 宋体"&gt;（一），虽然很用心，但看出来反响不强烈。只能这一篇再给力一点。虽然评论很少，但是也看出一些讯息。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt; font-family: 宋体"&gt;讯息之一，就是&lt;/span&gt;&lt;span style="font-size: 12pt"&gt;Helloj2ee&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 宋体"&gt;的&lt;/span&gt;&lt;span style="font-size: 12pt"&gt;WPF&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 宋体"&gt;看不懂。的确在这里写的不是基本的东西，而是对其&lt;/span&gt;&lt;span style="font-size: 12pt"&gt;WPF&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 宋体"&gt;的相关基础概念掌握了之后，才能看的一个系列。自定义控件在《葵花宝典&amp;#8212;&amp;#8212;&lt;/span&gt;&lt;span style="font-size: 12pt"&gt;WPF&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 宋体"&gt;自学手册》一书中，是放到第六卷&amp;#8212;&amp;#8212;华山之巅，足见其高阶。因此&lt;/span&gt;&lt;span style="font-size: 12pt"&gt;Helloj2ee&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 宋体"&gt;在后面列出的参考文献，就很有价值了。因为您若是看不懂，不妨去参考相关文献，即便您没有葵花宝典一书，但总可以知道需要掌握的相关概念是什么，参阅其他书又何妨？&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt; font-family: 宋体"&gt;讯息之二，是提供的源码无法打开，那么&lt;/span&gt;&lt;span style="font-size: 12pt"&gt;Helloj2ee&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 宋体"&gt;已经更新过。如果解压还是失败，您不妨在下面的回帖中告诉我。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体"&gt;说到给力，那么只有让这个控件在本章当中酷起来或者炫起来，才是给力的王道。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 18pt; line-height: 115%; font-family: 宋体"&gt;CircularPanel&lt;span style="font-size: 18pt; font-family: 宋体"&gt;的布局之美&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 18pt; line-height: 115%; font-family: 宋体"&gt;&lt;span style="font-size: 18pt; font-family: 宋体"&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 18pt; line-height: 115%; font-family: 宋体"&gt;&lt;span style="font-size: 18pt; font-family: 宋体"&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-bidi-language: EN-US; mso-ansi-language: EN-US"&gt;给力之前，&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 12pt; line-height: 115%; font-family: 'Calibri','sans-serif'; mso-fareast-language: ZH-CN; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-bidi-language: EN-US; mso-ansi-language: EN-US"&gt;Helloj2ee&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-bidi-language: EN-US; mso-ansi-language: EN-US"&gt;还是得枯燥一下，&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 12pt; line-height: 115%; font-family: 'Calibri','sans-serif'; mso-fareast-language: ZH-CN; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-bidi-language: EN-US; mso-ansi-language: EN-US"&gt;CircularPanel&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-bidi-language: EN-US; mso-ansi-language: EN-US"&gt;的那几个参数。第一个参数是&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 12pt; line-height: 115%; font-family: 'Calibri','sans-serif'; mso-fareast-language: ZH-CN; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-bidi-language: EN-US; mso-ansi-language: EN-US"&gt;CircularPanel&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-bidi-language: EN-US; mso-ansi-language: EN-US"&gt;的初始角度（&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 12pt; line-height: 115%; font-family: 'Calibri','sans-serif'; mso-fareast-language: ZH-CN; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-bidi-language: EN-US; mso-ansi-language: EN-US"&gt;InitialAngle&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-bidi-language: EN-US; mso-ansi-language: EN-US"&gt;）。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 18pt; line-height: 115%; font-family: 宋体"&gt;&lt;span style="font-size: 18pt; font-family: 宋体"&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-bidi-language: EN-US; mso-ansi-language: EN-US"&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/helloj2ee/InititalAngle.jpg" border="0" /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-bidi-language: EN-US; mso-ansi-language: EN-US"&gt;剩下的参数在该图中可以展现。&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 12pt; line-height: 115%; font-family: 'Calibri','sans-serif'; mso-fareast-language: ZH-CN; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-bidi-language: EN-US; mso-ansi-language: EN-US"&gt;Align&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-bidi-language: EN-US; mso-ansi-language: EN-US"&gt;属性实质是指的&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 12pt; line-height: 115%; font-family: 'Calibri','sans-serif'; mso-fareast-language: ZH-CN; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-bidi-language: EN-US; mso-ansi-language: EN-US"&gt;ListBoxItem&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-bidi-language: EN-US; mso-ansi-language: EN-US"&gt;的旋转点，&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 12pt; line-height: 115%; font-family: 'Calibri','sans-serif'; mso-fareast-language: ZH-CN; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-bidi-language: EN-US; mso-ansi-language: EN-US"&gt;Left&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-bidi-language: EN-US; mso-ansi-language: EN-US"&gt;表示外接矩形的左上角点，&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 12pt; line-height: 115%; font-family: 'Calibri','sans-serif'; mso-fareast-language: ZH-CN; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-bidi-language: EN-US; mso-ansi-language: EN-US"&gt;Center&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-bidi-language: EN-US; mso-ansi-language: EN-US"&gt;表示外接矩形的中心点，&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 12pt; line-height: 115%; font-family: 'Calibri','sans-serif'; mso-fareast-language: ZH-CN; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-bidi-language: EN-US; mso-ansi-language: EN-US"&gt;Right&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-bidi-language: EN-US; mso-ansi-language: EN-US"&gt;表示外接矩形的右下角点。而&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 12pt; line-height: 115%; font-family: 'Calibri','sans-serif'; mso-fareast-language: ZH-CN; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-bidi-language: EN-US; mso-ansi-language: EN-US"&gt;Radius&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-bidi-language: EN-US; mso-ansi-language: EN-US"&gt;指的是从圆心到旋转点的半径。&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 12pt; line-height: 115%; font-family: 'Calibri','sans-serif'; mso-fareast-language: ZH-CN; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-bidi-language: EN-US; mso-ansi-language: EN-US"&gt;AngleItem&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-bidi-language: EN-US; mso-ansi-language: EN-US"&gt;则是&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 12pt; line-height: 115%; font-family: 'Calibri','sans-serif'; mso-fareast-language: ZH-CN; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-bidi-language: EN-US; mso-ansi-language: EN-US"&gt;ListBoxItem&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-bidi-language: EN-US; mso-ansi-language: EN-US"&gt;之间的角度差。如下图所示：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-bidi-language: EN-US; mso-ansi-language: EN-US"&gt;&lt;img height="265" alt="" src="http://images.cnblogs.com/cnblogs_com/helloj2ee/其他参数.jpg" width="265" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-bidi-language: EN-US; mso-ansi-language: EN-US"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-size: 12pt"&gt;ListBoxItem&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 宋体"&gt;的外观&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt"&gt;ListBoxItem&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 宋体"&gt;的外观也需要通过模板来自定义。注意观察下图。实际上这样一个&lt;/span&gt;&lt;span style="font-size: 12pt"&gt;ListBoxItem&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 宋体"&gt;是由如下五个元素组成的，分别是一个&lt;/span&gt;&lt;span style="font-size: 12pt"&gt;Path&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 宋体"&gt;，三个&lt;/span&gt;&lt;span style="font-size: 12pt"&gt;Rectangle&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 宋体"&gt;和一个&lt;/span&gt;&lt;span style="font-size: 12pt"&gt;TextBlock&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 宋体"&gt;组成的。可能有人要问，为什么是三个&lt;/span&gt;&lt;span style="font-size: 12pt"&gt;Rectangle&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 宋体"&gt;，实际上只是为了让这个边框一层一层更有层次感。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt; font-family: 宋体"&gt;&lt;img height="256" alt="" src="http://images.cnblogs.com/cnblogs_com/helloj2ee/ListBoxItem.JPG" width="512" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt; font-family: 宋体"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 10pt"&gt;&lt;span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;好了，我们来看看代码。&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;" onclick="cnblogs_code_show('addcde3a-8cf8-43a5-9275-8b53a978df82')"&gt;&lt;img class="code_img_closed" id="code_img_closed_addcde3a-8cf8-43a5-9275-8b53a978df82" src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif"  alt="" /&gt;&lt;img class="code_img_opened" id="code_img_opened_addcde3a-8cf8-43a5-9275-8b53a978df82" style="display: none" onclick="cnblogs_code_hide('addcde3a-8cf8-43a5-9275-8b53a978df82',event)" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif"&gt;&lt;div class="cnblogs_code_hide" id="cnblogs_code_open_addcde3a-8cf8-43a5-9275-8b53a978df82"&gt;&lt;div&gt;&lt;!--&lt;br/&gt;&lt;br/&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/&gt;http://www.CodeHighlighter.com/&lt;br/&gt;&lt;br/&gt;--&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Style&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;TargetType&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="&lt;/span&gt;&lt;span style="color: #808000"&gt;{x:Type&amp;nbsp;ListBoxItem}&lt;/span&gt;&lt;span style="color: #0000ff"&gt;"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Setter&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;Property&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Template"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Setter.Value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;ControlTemplate&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;TargetType&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="&lt;/span&gt;&lt;span style="color: #808000"&gt;{x:Type&amp;nbsp;ListBoxItem}&lt;/span&gt;&lt;span style="color: #0000ff"&gt;"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Grid&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;x:Name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="gridSwatch"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;Height&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="180"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;Background&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="#00000000"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;RenderTransformOrigin&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="0.447,0.88"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;Width&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="55"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;Cursor&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Hand"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Grid.RenderTransform&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;TransformGroup&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;ScaleTransform&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;SkewTransform&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;RotateTransform&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;Angle&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="90"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;TranslateTransform&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;X&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="-65.75"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;Y&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="-71.05"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;TransformGroup&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Grid.RenderTransform&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Path&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;x:Name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="overShape"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;Data&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="M0,3.0000024&amp;nbsp;C0,1.3431468&amp;nbsp;1.3431457,0&amp;nbsp;3,0&amp;nbsp;L47,0&amp;nbsp;C48.656853,0&amp;nbsp;50,1.3431468&amp;nbsp;50,3.0000024&amp;nbsp;L50,185.00012&amp;nbsp;C50,186.65698&amp;nbsp;48.656853,188.00014&amp;nbsp;47,188.00014&amp;nbsp;C30.666666,190.16705&amp;nbsp;26.666666,222.49997&amp;nbsp;24.666666,231.5&amp;nbsp;C22.833332,222.49997&amp;nbsp;14,187.83371&amp;nbsp;3,188.00014&amp;nbsp;C1.3431457,188.00014&amp;nbsp;0,186.65698&amp;nbsp;0,185.00012&amp;nbsp;z"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;Fill&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="#FF3C3C3C"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;Stroke&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="&lt;/span&gt;&lt;span style="color: #808000"&gt;{x:Null}&lt;/span&gt;&lt;span style="color: #0000ff"&gt;"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;Margin&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="0,-4,0,-47.5"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;IsHitTestVisible&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="False"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;Visibility&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Collapsed"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Rectangle&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;x:Name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="shadow3"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;Margin&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="-4,-8,-4,-8"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;Fill&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="#FF000000"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;Stroke&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="&lt;/span&gt;&lt;span style="color: #808000"&gt;{x:Null}&lt;/span&gt;&lt;span style="color: #0000ff"&gt;"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;RadiusX&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="7"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;RadiusY&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="7"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;Opacity&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="0.08"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;IsHitTestVisible&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="False"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Rectangle&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;x:Name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="shadow2"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;Margin&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="-3,-7,-3,-7"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;Fill&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="#FF000000"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;Stroke&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="&lt;/span&gt;&lt;span style="color: #808000"&gt;{x:Null}&lt;/span&gt;&lt;span style="color: #0000ff"&gt;"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;RadiusX&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="6"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;RadiusY&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="6"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;Opacity&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="0.08"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;IsHitTestVisible&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="False"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Rectangle&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;x:Name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="shadow1"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;Margin&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="-2,-6,-2,-6"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;Fill&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="#FF000000"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;Stroke&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="&lt;/span&gt;&lt;span style="color: #808000"&gt;{x:Null}&lt;/span&gt;&lt;span style="color: #0000ff"&gt;"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;RadiusX&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="5"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;RadiusY&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="5"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;Opacity&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="0.08"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;IsHitTestVisible&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="False"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Rectangle&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;x:Name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="whiteSwatch"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;Margin&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="-1,-5,-1,-5"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;Fill&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="#FFFFFFFF"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;Stroke&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="&lt;/span&gt;&lt;span style="color: #808000"&gt;{x:Null}&lt;/span&gt;&lt;span style="color: #0000ff"&gt;"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;RadiusX&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="4"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;RadiusY&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="4"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;IsHitTestVisible&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="False"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;TextBlock&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;FontSize&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="22"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;FontFamily&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="华文行楷"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;Text&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="&lt;/span&gt;&lt;span style="color: #808000"&gt;{Binding&amp;nbsp;XPath=ImageText}&lt;/span&gt;&lt;span style="color: #0000ff"&gt;"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;TextBlock.RenderTransform&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;TransformGroup&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;RotateTransform&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;Angle&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="90"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;TranslateTransform&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;X&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="30"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;Y&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="30"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;TransformGroup&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;TextBlock.RenderTransform&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;TextBlock&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Grid&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;ControlTemplate&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Setter.Value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Setter&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Style&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt; font-family: 宋体"&gt;上面的代码有几处，&lt;/span&gt;&lt;span style="font-size: 12pt"&gt;Helloj2ee&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 宋体"&gt;简单说明一下。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt; font-family: 宋体"&gt;（&lt;/span&gt;&lt;span style="font-size: 12pt"&gt;1&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 宋体"&gt;）&lt;/span&gt;&lt;span style="font-size: 12pt"&gt;ListBoxItem&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 宋体"&gt;自定义的模板，首先是一个&lt;/span&gt;&lt;span style="font-size: 12pt"&gt;Grid&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 宋体"&gt;面板，该面板用了好几个变换，构成了一个变换组，尽管有诸如&lt;/span&gt;&lt;span style="font-size: 12pt"&gt;ScaleTransform&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 宋体"&gt;等都未填写，但是这是为后面的动画埋下伏笔。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt; font-family: 宋体"&gt;（&lt;/span&gt;&lt;span style="font-size: 12pt"&gt;2&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 宋体"&gt;）这样的&lt;/span&gt;&lt;span style="font-size: 12pt"&gt;Path&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 宋体"&gt;，的确难以用&lt;/span&gt;&lt;span style="font-size: 12pt"&gt;VS2010&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 宋体"&gt;绘制出来，那么使用&lt;/span&gt;&lt;span style="font-size: 12pt"&gt;Expression Blend&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 宋体"&gt;绘制就好，此外&lt;/span&gt;&lt;span style="font-size: 12pt"&gt;IsHitTestVisible&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 宋体"&gt;属性设置为&lt;/span&gt;&lt;span style="font-size: 12pt"&gt;False&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 宋体"&gt;，表明它并不接受用户的输入，只是作为一个基本的图元构成，同时设置了该&lt;/span&gt;&lt;span style="font-size: 12pt"&gt;Path&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 宋体"&gt;在平时并不可见。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt; font-family: 宋体"&gt;（&lt;/span&gt;&lt;span style="font-size: 12pt"&gt;3&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 宋体"&gt;）注意&lt;/span&gt;&lt;span style="font-size: 12pt"&gt;TextBlock&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 宋体"&gt;通过&lt;/span&gt;&lt;span style="font-size: 12pt"&gt;XPath&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 宋体"&gt;属性设置了和&lt;/span&gt;&lt;span style="font-size: 12pt"&gt;XML&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 宋体"&gt;文件的绑定。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt; font-family: 宋体"&gt;好了再次运行程序，您看到了什么？&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt; font-family: 宋体"&gt;&lt;img style="width: 472px; height: 500px" height="500" alt="" src="http://images.cnblogs.com/cnblogs_com/helloj2ee/ListBoxItem1.JPG" width="472" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt; font-family: 宋体"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt; font-family: 宋体"&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-bidi-language: EN-US; mso-ansi-language: EN-US"&gt;即使整个&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 12pt; line-height: 115%; font-family: 'Calibri','sans-serif'; mso-fareast-language: ZH-CN; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-bidi-language: EN-US; mso-ansi-language: EN-US"&gt;ListBox&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-bidi-language: EN-US; mso-ansi-language: EN-US"&gt;已经变样，但是它选择的效果可以说极其不好，因此我们必须再接再力，给它添加上一些动画效果。添加动画的效果主要靠控件模板的&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 12pt; line-height: 115%; font-family: 'Calibri','sans-serif'; mso-fareast-language: ZH-CN; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-bidi-language: EN-US; mso-ansi-language: EN-US"&gt;Trigger&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-bidi-language: EN-US; mso-ansi-language: EN-US"&gt;来触发了。大家先看代码，然后&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 12pt; line-height: 115%; font-family: 'Calibri','sans-serif'; mso-fareast-language: ZH-CN; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-bidi-language: EN-US; mso-ansi-language: EN-US"&gt;Helloj2ee&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-bidi-language: EN-US; mso-ansi-language: EN-US"&gt;再加以解释。&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt; font-family: 宋体"&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-bidi-language: EN-US; mso-ansi-language: EN-US"&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;" onclick="cnblogs_code_show('164151b8-8a3a-4083-acd9-8f6f70428904')"&gt;&lt;img class="code_img_closed" id="code_img_closed_164151b8-8a3a-4083-acd9-8f6f70428904" src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif"  alt="" /&gt;&lt;img class="code_img_opened" id="code_img_opened_164151b8-8a3a-4083-acd9-8f6f70428904" style="display: none" onclick="cnblogs_code_hide('164151b8-8a3a-4083-acd9-8f6f70428904',event)" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif"&gt;&lt;div class="cnblogs_code_hide" id="cnblogs_code_open_164151b8-8a3a-4083-acd9-8f6f70428904"&gt;&lt;div&gt;&lt;!--&lt;br/&gt;&lt;br/&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/&gt;http://www.CodeHighlighter.com/&lt;br/&gt;&lt;br/&gt;--&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;ControlTemplate.Triggers&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;EventTrigger&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;RoutedEvent&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="ListBoxItem.MouseEnter"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;BeginStoryboard&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Storyboard&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;DoubleAnimationUsingKeyFrames&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;BeginTime&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="00:00:00"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;Storyboard.TargetName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="gridSwatch"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;Storyboard.TargetProperty&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;SplineDoubleKeyFrame&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;KeySpline&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="0.5,0,0.5,1"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;KeyTime&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="00:00:00.1000000"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;Value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="1.2"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;DoubleAnimationUsingKeyFrames&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;DoubleAnimationUsingKeyFrames&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;BeginTime&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="00:00:00"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;Storyboard.TargetName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="gridSwatch"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;Storyboard.TargetProperty&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;SplineDoubleKeyFrame&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;KeySpline&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="0.5,0,0.5,1"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;KeyTime&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="00:00:00.1000000"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;Value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="1.2"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;DoubleAnimationUsingKeyFrames&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;ObjectAnimationUsingKeyFrames&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;BeginTime&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="00:00:00"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;Duration&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="00:00:00.0010000"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;Storyboard.TargetName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="overShape"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;Storyboard.TargetProperty&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="(UIElement.Visibility)"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;DiscreteObjectKeyFrame&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;KeyTime&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="00:00:00"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;DiscreteObjectKeyFrame.Value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Visibility&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;Visible&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Visibility&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;DiscreteObjectKeyFrame.Value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;DiscreteObjectKeyFrame&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;ObjectAnimationUsingKeyFrames&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Storyboard&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;BeginStoryboard&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;EventTrigger&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;EventTrigger&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;RoutedEvent&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="ListBoxItem.MouseLeave"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;BeginStoryboard&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Storyboard&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;DoubleAnimationUsingKeyFrames&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;BeginTime&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="00:00:00"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;Storyboard.TargetName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="gridSwatch"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;Storyboard.TargetProperty&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;SplineDoubleKeyFrame&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;KeySpline&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="0.5,0,0.5,1"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;KeyTime&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="00:00:00.2000000"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;Value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="1"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;DoubleAnimationUsingKeyFrames&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;DoubleAnimationUsingKeyFrames&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;BeginTime&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="00:00:00"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;Storyboard.TargetName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="gridSwatch"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;Storyboard.TargetProperty&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;SplineDoubleKeyFrame&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;KeySpline&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="0.5,0,0.5,1"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;KeyTime&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="00:00:00.2000000"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;Value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="1"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;DoubleAnimationUsingKeyFrames&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;ObjectAnimationUsingKeyFrames&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;BeginTime&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="00:00:00"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;Duration&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="00:00:00.0010000"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;Storyboard.TargetName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="overShape"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;Storyboard.TargetProperty&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="(UIElement.Visibility)"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;DiscreteObjectKeyFrame&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;KeyTime&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="00:00:00"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;DiscreteObjectKeyFrame.Value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Visibility&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;Collapsed&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Visibility&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;DiscreteObjectKeyFrame.Value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;DiscreteObjectKeyFrame&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;ObjectAnimationUsingKeyFrames&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Storyboard&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;BeginStoryboard&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;EventTrigger&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Trigger&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;Property&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="IsMouseOver"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="True"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Setter&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;Property&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Panel.ZIndex"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="1"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Trigger&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;ControlTemplate.Triggers&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-bidi-language: EN-US; mso-ansi-language: EN-US"&gt;主要是在&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 12pt; line-height: 115%; font-family: 'Calibri','sans-serif'; mso-fareast-language: ZH-CN; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-bidi-language: EN-US; mso-ansi-language: EN-US"&gt;MouseEnter&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-bidi-language: EN-US; mso-ansi-language: EN-US"&gt;和&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 12pt; line-height: 115%; font-family: 'Calibri','sans-serif'; mso-fareast-language: ZH-CN; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-bidi-language: EN-US; mso-ansi-language: EN-US"&gt;MouseLeave&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-bidi-language: EN-US; mso-ansi-language: EN-US"&gt;事件里做文章，当鼠标滑过某个&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 12pt; line-height: 115%; font-family: 'Calibri','sans-serif'; mso-fareast-language: ZH-CN; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-bidi-language: EN-US; mso-ansi-language: EN-US"&gt;ListBoxItem&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-bidi-language: EN-US; mso-ansi-language: EN-US"&gt;，我们通过改变它的&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 12pt; line-height: 115%; font-family: 'Calibri','sans-serif'; mso-fareast-language: ZH-CN; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-bidi-language: EN-US; mso-ansi-language: EN-US"&gt;ScaleTransform&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-bidi-language: EN-US; mso-ansi-language: EN-US"&gt;，让它变大。而离开&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 12pt; line-height: 115%; font-family: 'Calibri','sans-serif'; mso-fareast-language: ZH-CN; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-bidi-language: EN-US; mso-ansi-language: EN-US"&gt;ListBoxItem&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-bidi-language: EN-US; mso-ansi-language: EN-US"&gt;再通过改变&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 12pt; line-height: 115%; font-family: 'Calibri','sans-serif'; mso-fareast-language: ZH-CN; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-bidi-language: EN-US; mso-ansi-language: EN-US"&gt;ScaleTransform&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-bidi-language: EN-US; mso-ansi-language: EN-US"&gt;，让它恢复原状。比如像这样的语法，就未必有很多人能够写出来。请大家留心。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-bidi-language: EN-US; mso-ansi-language: EN-US"&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;!--&lt;br/&gt;&lt;br/&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/&gt;http://www.CodeHighlighter.com/&lt;br/&gt;&lt;br/&gt;--&gt;&lt;span style="color: #000000"&gt;Storyboard.TargetName="gridSwatch"&amp;nbsp;Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)"&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt; font-family: 宋体"&gt;光是变换还是不够的，因为当鼠标滑过的时候，很有可能希望这个&lt;/span&gt;&lt;span style="font-size: 12pt"&gt;ListBoxItem&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 宋体"&gt;凸现出来，那么要用到的就是&lt;/span&gt;&lt;span style="font-size: 12pt"&gt;Panel.ZIndex&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 宋体"&gt;这个附加属性，通过改变这个值，让鼠标滑过的&lt;/span&gt;&lt;span style="font-size: 12pt"&gt;ListBoxItem&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 宋体"&gt;凸现出来。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体"&gt;好了，现在的&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 'Calibri','sans-serif'"&gt;ListBoxItem&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体"&gt;已经完全变样了，但是还有美中不足。最为美中不足的就是&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 'Calibri','sans-serif'"&gt;ListBoxItem&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体"&gt;选中的时候，会出现一个虚框，这样的视觉效果确实很不好。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体"&gt;&lt;img style="width: 579px; height: 516px" height="516" alt="" src="http://images.cnblogs.com/cnblogs_com/helloj2ee/ListBoxItem2.JPG" width="579" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体"&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-bidi-language: EN-US; mso-ansi-language: EN-US"&gt;解决之道，又是一句话。&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体"&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-bidi-language: EN-US; mso-ansi-language: EN-US"&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;!--&lt;br/&gt;&lt;br/&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/&gt;http://www.CodeHighlighter.com/&lt;br/&gt;&lt;br/&gt;--&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Setter&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;Property&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="FocusVisualStyle"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;Value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="&lt;/span&gt;&lt;span style="color: #808000"&gt;{x:Null}&lt;/span&gt;&lt;span style="color: #0000ff"&gt;"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt; font-family: 宋体"&gt;还有美中不足，比如选中某一个&lt;/span&gt;&lt;span style="font-size: 12pt"&gt;ListBoxItem&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 宋体"&gt;，我们该作如何反应呢。这里&lt;/span&gt;&lt;span style="font-size: 12pt"&gt;helloj2ee&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 宋体"&gt;就不再写这样的代码了。各位去尝试一下吧。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体"&gt;剩下的&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 'Calibri','sans-serif'"&gt;Helloj2ee&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体"&gt;需要做的是让这个对话框透明起来和加上中间的小圆点。中间的小圆点并不难加，让对话框完全透明也&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 'Calibri','sans-serif'"&gt;So Easy&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体"&gt;。那么&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 'Calibri','sans-serif'"&gt;Helloj2ee&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体"&gt;向各位奉上代码就好了。如果真的新手不知道该如何让不规则对话框透明的话，那么不妨参见葵花宝典第&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 'Calibri','sans-serif'"&gt;8&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体"&gt;章&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 'Calibri','sans-serif'"&gt;8.3.4&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体"&gt;节好了。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family: 宋体"&gt;&lt;/span&gt;&amp;nbsp;源代码：&lt;a href="http://files.cnblogs.com/helloj2ee/ListBoxDemo3.rar"&gt;/Files/helloj2ee/ListBoxDemo3.rar&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family: 宋体"&gt;&lt;/span&gt;&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family: 宋体"&gt;&lt;/span&gt;&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family: 宋体"&gt;&lt;/span&gt;&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family: 宋体"&gt;&lt;/span&gt;&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;/span&gt;&lt;img src="http://www.cnblogs.com/helloj2ee/aggbug/1900818.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/helloj2ee/archive/2010/12/09/1900818.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/helloj2ee/archive/2010/12/07/1898574.html</id><title type="text">WPF中的自定义ListBox（一）</title><summary type="text">上周侯捷大师来京做了一次讲座，有幸和他聊聊。当别人排队，而我也在排队。有意思的是当别人在找侯捷大师签名时，而我确有幸为侯捷大师签了一次名，当然是在我的《葵花宝典——WPF自学手册》上签下了自己难看的名字。这不是重点，重点是他提到他的人生中几件关键的事情。其中一件，如果我的记忆没有错的话，应该是Windows 3.0来的时候的冲击，他当时还在一个台湾的研究所里工作，在考虑窗口，控件如何“Message Based，Event Driven”（以消息为基础，事件驱动之）。Windows3.0来了，一下他的模糊思路明晰起来，尽管侯大师考虑的只是一个雏形，而Windows是实实在在真正的产品。但这并不重要，重要的是他们的思路不谋而合。这样他不至于在DOS到Windows巨变的情况下“死在沙滩上”。很多程序员由于无法从DOS的编程思路迅速转换到Windows的“Message Based，Event Driven”，按照侯捷大师的话，“一半死在沙滩上”。</summary><published>2010-12-06T18:09:00Z</published><updated>2010-12-06T18:09:00Z</updated><author><name>helloj2ee</name><uri>http://www.cnblogs.com/helloj2ee/</uri></author><link rel="alternate" href="http://www.cnblogs.com/helloj2ee/archive/2010/12/07/1898574.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/helloj2ee/archive/2010/12/07/1898574.html"/><content type="html">&lt;p&gt;&lt;span style="font-size: 12pt"&gt;上周侯捷大师来京做了一次讲座，有幸和他聊聊。当别人排队，而我也在排队。有意思的是当别人在找侯捷大师签名时，而我确有幸为侯捷大师签了一次名，当然是在我的《葵花宝典&amp;#8212;&amp;#8212;WPF自学手册》上签下了自己难看的名字。&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 12pt"&gt;这不是重点，重点是他提到他的人生中几件关键的事情。其中一件，如果我的记忆没有错的话，应该是Windows 3.0来的时候的冲击，他当时还在一个台湾的研究所里工作，在考虑窗口，控件如何&amp;#8220;Message Based，Event Driven&amp;#8221;（以消息为基础，事件驱动之）。Windows3.0来了，一下他的模糊思路明晰起来，尽管侯大师考虑的只是一个雏形，而Windows是实实在在真正的产品。但这并不重要，重要的是他们的思路不谋而合。这样他不至于在DOS到Windows巨变的情况下&amp;#8220;死在沙滩上&amp;#8221;。很多程序员由于无法从DOS的编程思路迅速转换到Windows的&amp;#8220;Message Based，Event Driven&amp;#8221;，按照侯捷大师的话，&amp;#8220;一半死在沙滩上&amp;#8221;。&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 12pt"&gt;我是一个从Win32开始的程序员，经历了Win32，MFC，WinForm和WPF还有Silverlight。由于Silverlight的强势插足，我这个一直以来号称自己为桌面程序员，不得不改变其自己的身份，从现在起不能叫做桌面程序员，而是前端或者客户端程序员。每一次&amp;#8220;死在沙滩上&amp;#8221;发生在编程思路的变化上，尽管Windows客户端技术经历了上述五个阶段（划分不一定科学）。但是思路的转变是两次，第一次发生在从Win32到MFC。这是一个巨大的跳跃。传统的WinMain不见了，取而代之的是CWnd，CView等类。而第二次我认为发生在从WinForm到WPF。过去一种语言包打天下的时代不见了，取而代之的是XAML定义界面，C#或者Visual Basic实现业务逻辑。光是程序员重新去学一门语言，就增加了其困难。而且XAML并不是C++，C#或者Java这样的OO语言，而是一种Markup语言。但是更大的转变不在此，语言终究还是能学会的。思路！思路！是否能适应现在的编程思路才是最为核心的。而WPF当中最为光辉的思想，我认为莫过于控件模板。没有控件模板，改变控件的外观则成为一种空谈。这种改变绝不是改变颜色，改变字体，改变大小这样的小打小闹，而是巨变，真正的巨变，是大卸八块，再重新拼装起来的改变。&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 12pt"&gt;也许有人会问，我是一个&amp;#8220;银光&amp;#8221;爱好者，WPF对我如&amp;#8220;浮云&amp;#8221;。没有关系，这样的思路对WPF，Silverlight是普适的。如何学好控件模板呢？参阅《葵花宝典》无疑是需要的，但是只能学会呼吸，行走的方法。如果呼吸，行走你掌握了。那么不妨进入Helloj2ee的自定义控件的系列（我确实不是一个长性的人，天保佑我让这个系列长一点，阿门）。&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&lt;strong&gt;自定义ListBox&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&lt;/span&gt;&lt;span style="font-size: 12pt"&gt;大家都知道一个正常的ListBox是什么样的。如下图所示。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;img height="246" alt="" src="http://images.cnblogs.com/cnblogs_com/helloj2ee/NormalListBox.jpg" width="422" border="0" /&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt"&gt;我们这个系列希望ListBox最终变成下面这样。他是一个半透明的窗口，而且和扑克牌一样成扇形铺开，当鼠标移到每一个ListBoxItem时，ListBoxItem会有一个从小变大的动画。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;img style="width: 286px; height: 254px" height="254" alt="" src="http://images.cnblogs.com/cnblogs_com/helloj2ee/CustomListBox.JPG" width="286" border="0" /&gt;&lt;br /&gt;&lt;span style="font-size: 12pt"&gt;相信读过《葵花宝典&amp;#8212;&amp;#8212;WPF自学手册》一书的读者，还是会惊奇于第一章1.2.1七十二变中的ListBox例子（参考文献【2】）。但是我并未详细地解释那个例子是如何做出来的。不过完成了这个例子，相信哪个ListBox的变种也不是难事。我们Step by Step来完成这样一个ListBox。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&lt;strong&gt;认识ListBox&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt"&gt;认识ListBox首先要从他的类继承结构认识。如下图所示。&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;img height="428" alt="" src="http://images.cnblogs.com/cnblogs_com/helloj2ee/ListBoxHierarchy.jpg" width="95" border="0" /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt"&gt;控件很多，类层次结构很复杂。如何把握住整体结构呢？Helloj2ee在这里提醒各位以下三点：&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 12pt"&gt;（1）他们都派生自Control，因此应该熟悉Control的特性；&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 12pt"&gt;（2）掌握住Content模型，Content模型曾被Helloj2ee比作北冥神功，他是可以容纳任何控件的。所谓&amp;#8220;大舟小舟无不载，大鱼小鱼无不容&amp;#8221;[1]；&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 12pt"&gt;（3）在上面的基础上，就知道尽管控件分类繁杂，但是归纳起来从Control派系下来为四大类，相当Control的直系亲属，从Control旁系派生下来的为三大类，相当于Control的远亲[1]。如下图所示：&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;img height="182" alt="" src="http://images.cnblogs.com/cnblogs_com/helloj2ee/Control1.JPG" width="522" border="0" /&gt;&lt;/p&gt;&lt;p&gt;&lt;span lang="EN-US" style="font-size: 11pt; line-height: 115%; font-family: 'Calibri','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;Content&lt;/span&gt;&lt;span style="font-size: 11pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;模型的&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 11pt; line-height: 115%; font-family: 'Calibri','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;4&lt;/span&gt;&lt;span style="font-size: 11pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;大直系（来自参考文献【&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 11pt; line-height: 115%; font-family: 'Calibri','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;1&lt;/span&gt;&lt;span style="font-size: 11pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;】）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 11pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;img height="104" alt="" src="http://images.cnblogs.com/cnblogs_com/helloj2ee/Control2.JPG" width="494" border="0" /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 10pt"&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt;Content模型的远亲（来自参考文献【1】）&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 10pt"&gt;&lt;span lang="EN-US" style="font-size: 12pt; mso-fareast-language: ZH-CN"&gt;而ListBox是从直系派生下来，从ItemsControl派生下来。ItemsControl有什么样的特点呢？人如其名，他的最大特点就是有一个Items属性。Items属性是一个集合，这个集合里几乎可以放置任何类型的对象。&lt;br /&gt;&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 12pt; mso-fareast-language: ZH-CN"&gt;再多的基础，Helloj2ee只能寄希望您阅读过葵花宝典&amp;#8212;&amp;#8212;WPF自学手册，现在需要做的是自定义ListBox之前的一些准备工作，给ListBox绑定数据内容。&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 12pt; mso-fareast-language: ZH-CN"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;/p&gt;&lt;/span&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&lt;strong&gt;给ListBox绑定数据内容&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&lt;span lang="EN-US" style="font-size: 12pt; line-height: 115%; font-family: 'Calibri','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;ListBox&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;除了&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 12pt; line-height: 115%; font-family: 'Calibri','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;Items&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;属性可以让你直接在&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 12pt; line-height: 115%; font-family: 'Calibri','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;ListBox&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;里填充数据内容&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;" onclick="cnblogs_code_show('4640cb27-5f73-4626-bc63-73ef213c94d9')"&gt;&lt;img class="code_img_closed" id="code_img_closed_4640cb27-5f73-4626-bc63-73ef213c94d9" alt="" src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif" /&gt;&lt;img class="code_img_opened" id="code_img_opened_4640cb27-5f73-4626-bc63-73ef213c94d9" style="display: none" onclick="cnblogs_code_hide('4640cb27-5f73-4626-bc63-73ef213c94d9',event)" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif"&gt; &lt;div class="cnblogs_code_hide" id="cnblogs_code_open_4640cb27-5f73-4626-bc63-73ef213c94d9"&gt;&lt;div&gt;&lt;!--&lt;br/&gt;&lt;br/&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/&gt;http://www.CodeHighlighter.com/&lt;br/&gt;&lt;br/&gt;--&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;ListBox&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;Margin&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="10"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;BorderThickness&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="1"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;ListBoxItem&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;北京&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;ListBoxItem&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;ListBoxItem&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;天津&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;ListBoxItem&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;ListBoxItem&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;河北&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;ListBoxItem&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;ListBox&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt"&gt;还可以用ItemsSource属性来绑定数据内容，比如XML文件。XML文件定义如下，假定名为Cities.xml，在工程的Data文件夹目录下：&lt;/span&gt;&lt;img height="133" alt="" src="http://images.cnblogs.com/cnblogs_com/helloj2ee/ListBoxDemo.jpg" width="204" border="0" /&gt;&lt;br /&gt;&lt;span style="font-size: 12pt"&gt;Cities.xml文件如下：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;!--&lt;br/&gt;&lt;br/&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/&gt;http://www.CodeHighlighter.com/&lt;br/&gt;&lt;br/&gt;--&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Cities&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;xmlns&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=""&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;City&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;Type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="1"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;ImageText&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;北京&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;ImageText&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;City&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;City&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;Type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="3"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;ImageText&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;黑龙江&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;ImageText&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;City&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;#8230;&amp;#8230;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Cities&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt"&gt;数据绑定也是WPF或者Silverlight当中一个相对难的话题。基本的数据绑定概念，您也可以参见参考文献【3】，或者其他WPF书籍。这里要讨论的是和XML文件的绑定，在WPF里绑定XML文件需要用到XMLDataProvider。我们先快速地绑定这个XML文件，然后再稍稍细致地讨论一下该类的关键属性。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;" onclick="cnblogs_code_show('c6716c95-4b47-4a42-b3e4-f0e73536acb5')"&gt;&lt;img class="code_img_closed" id="code_img_closed_c6716c95-4b47-4a42-b3e4-f0e73536acb5" alt="" src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif" /&gt;&lt;img class="code_img_opened" id="code_img_opened_c6716c95-4b47-4a42-b3e4-f0e73536acb5" style="display: none" onclick="cnblogs_code_hide('c6716c95-4b47-4a42-b3e4-f0e73536acb5',event)" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif"&gt; &lt;div class="cnblogs_code_hide" id="cnblogs_code_open_c6716c95-4b47-4a42-b3e4-f0e73536acb5"&gt;&lt;div&gt;&lt;!--&lt;br/&gt;&lt;br/&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/&gt;http://www.CodeHighlighter.com/&lt;br/&gt;&lt;br/&gt;--&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Window.Resources&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;XmlDataProvider&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;x:Key&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Cities"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;Source&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Data\Cities.xml"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;XPath&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Cities"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Window.Resources&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Grid&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;ListBox&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;Margin&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="10"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;BorderThickness&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="1"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;ItemsSource&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="&lt;/span&gt;&lt;span style="color: #808000"&gt;{Binding&amp;nbsp;Source={StaticResource&amp;nbsp;Cities},&amp;nbsp;XPath=City}&lt;/span&gt;&lt;span style="color: #0000ff"&gt;"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;ListBox&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Grid&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt"&gt;上面的代码做了两件事情，第一件事情是将一个XmlDataProvider作为一个Window的静态资源。第二件事情是通过ItemsSource将ListBox和这个资源绑定起来。这里面有一个属性，名曰XPath。XmlDataProvider有这个属性，Binding里也有这个属性。我们仅在Binding的XPath属性上做些文章。因为通过它不仅可以将所有的数据都绑定起来，还可以绑定符合一定条件的数据。比如需要从中只提取直辖市（Type=1表示为北京，而Type=2表示其他直辖市）。非常奇怪的语法，是吗？详情可以参见参考文献【4】。也可以参见我附带的例子（ListBoxDemo1）。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;!--&lt;br/&gt;&lt;br/&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/&gt;http://www.CodeHighlighter.com/&lt;br/&gt;&lt;br/&gt;--&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;ListBox&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000"&gt;Grid.Column&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="1"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;Margin&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="10"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;BorderThickness&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="1"&lt;/span&gt;&lt;span style="color: #ff0000"&gt;&amp;nbsp;ItemsSource&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="&lt;/span&gt;&lt;span style="color: #808000"&gt;{Binding&amp;nbsp;Source={StaticResource&amp;nbsp;Cities},&amp;nbsp;XPath=City[@Type\=1or@Type\=2]}&lt;/span&gt;&lt;span style="color: #0000ff"&gt;"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;span style="font-size: 12pt"&gt;&amp;nbsp;好了，Helloj2ee磨刀霍霍，剑指ListBox。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&lt;strong&gt;如何改变ListBox的外观&lt;/strong&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt"&gt;改变一个控件的外观，无外乎几种方法。&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 12pt"&gt;（1）改变它的属性，比如设置背景色的颜色；&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 12pt"&gt;（2）通过样式改变，其实质还是定义一组需要改变的属性；&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 12pt"&gt;（3）通过Content模型来改变，因为每个ListBoxItem里能够任何放置任何东西。这是通过Content模型改变ListBox的前提；&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 12pt"&gt;（4）通过控件模板和数据模板，这是一种变形金刚似的改变，通常对程序员也要具备相当高的条件，定义一个良好完备的模板实在是一件不容易的事情；&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 12pt"&gt;（5）通过附加属性来扩展控件的功能，这一点可能绝大多数人都不理解，Helloj2ee曾经在参考文献【5】里列举过一个通过附加属性扩展控件的例子；&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 12pt"&gt;（6）所有的方法都无法满足您的要求的话，那么只剩下最后的王牌方法，就是自定义控件。即使自定义控件也是要分层次的。自定义控件的哲学，Helloj2ee还是老王卖瓜，自卖自夸。参考文献【5】里对这一部分进行详细的讨论。&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 12pt"&gt;这一次我们对ListBox的改变，实则一次手术刀似的巨变。上述六种方法，唯有第五种没有涉及。我们首先观察一下ListBox和ListBoxItem这样几个特殊的属性。&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt"&gt;表 ListBox关于模板的属性&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;table class="MsoTableGrid" style="border-right: medium none; border-top: medium none; border-left: medium none; border-bottom: medium none; border-collapse: collapse; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-yfti-tbllook: 1184; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt" cellspacing="0" cellpadding="0" border="1"&gt;&lt;tbody&gt;&lt;tr style="height: 13.15pt; mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;&lt;td style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: black 1pt solid; padding-left: 5.4pt; padding-bottom: 0cm; border-left: black 1pt solid; width: 75.45pt; padding-top: 0cm; border-bottom: black 1pt solid; height: 13.15pt; background-color: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1" valign="top" width="101"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; text-align: center" align="center"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;属性名&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: black 1pt solid; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #ece9d8; width: 71.7pt; padding-top: 0cm; border-bottom: black 1pt solid; height: 13.15pt; background-color: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1" valign="top" width="96"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; text-align: center" align="center"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;属性类型&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: black 1pt solid; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #ece9d8; width: 278.95pt; padding-top: 0cm; border-bottom: black 1pt solid; height: 13.15pt; background-color: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1" valign="top" width="372"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal; text-align: center" align="center"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;描述&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 1"&gt;&lt;td style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0cm; border-left: black 1pt solid; width: 75.45pt; padding-top: 0cm; border-bottom: black 1pt solid; background-color: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1" valign="top" width="101"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt;ItemsPanel&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #ece9d8; width: 71.7pt; padding-top: 0cm; border-bottom: black 1pt solid; background-color: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" valign="top" width="96"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt;ItemsPanelTemplate&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #ece9d8; width: 278.95pt; padding-top: 0cm; border-bottom: black 1pt solid; background-color: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" valign="top" width="372"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt;ItemsControl&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;的&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt;Items&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;的&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt;Panel&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;模板，他用来定义这个&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt;Panel&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;的外观。&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 2"&gt;&lt;td style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0cm; border-left: black 1pt solid; width: 75.45pt; padding-top: 0cm; border-bottom: black 1pt solid; background-color: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1" valign="top" width="101"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt;ItemTemplate&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #ece9d8; width: 71.7pt; padding-top: 0cm; border-bottom: black 1pt solid; background-color: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" valign="top" width="96"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt;DataTemplate&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #ece9d8; width: 278.95pt; padding-top: 0cm; border-bottom: black 1pt solid; background-color: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" valign="top" width="372"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;定义每一个&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt;Item&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;数据项的展示方法，它相当于&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt;ListBoxItem&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;的&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt;ContentTemplate&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="mso-yfti-irow: 3; mso-yfti-lastrow: yes"&gt;&lt;td style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0cm; border-left: black 1pt solid; width: 75.45pt; padding-top: 0cm; border-bottom: black 1pt solid; background-color: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1" valign="top" width="101"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt;Template&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #ece9d8; width: 71.7pt; padding-top: 0cm; border-bottom: black 1pt solid; background-color: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" valign="top" width="96"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt;ControlTemplate&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #ece9d8; width: 278.95pt; padding-top: 0cm; border-bottom: black 1pt solid; background-color: transparent; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" valign="top" width="372"&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: normal"&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt;ListBox&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;的模板，用来改变&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt;ListBox&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;的外观&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;表 ListBoxItem关于模板的属性&lt;/p&gt;&lt;p&gt;&lt;table style="border-right: medium none; border-top: medium none; border-left: medium none; border-bottom: medium none; border-collapse: collapse" cellspacing="0" cellpadding="0" border="1"&gt;&lt;tbody&gt;&lt;tr style="height: 13.15pt"&gt;&lt;td style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: black 1pt solid; padding-left: 5.4pt; padding-bottom: 0cm; border-left: black 1pt solid; width: 89.25pt; padding-top: 0cm; border-bottom: black 1pt solid; height: 13.15pt; background-color: transparent" valign="top" width="119"&gt;&lt;p align="center"&gt;&lt;span style="font-family: 宋体"&gt;属性名&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: black 1pt solid; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #ece9d8; width: 86.45pt; padding-top: 0cm; border-bottom: black 1pt solid; height: 13.15pt; background-color: transparent" valign="top" width="115"&gt;&lt;p align="center"&gt;&lt;span style="font-family: 宋体"&gt;属性类型&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: black 1pt solid; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #ece9d8; width: 250.4pt; padding-top: 0cm; border-bottom: black 1pt solid; height: 13.15pt; background-color: transparent" valign="top" width="334"&gt;&lt;p align="center"&gt;&lt;span style="font-family: 宋体"&gt;描述&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0cm; border-left: black 1pt solid; width: 89.25pt; padding-top: 0cm; border-bottom: black 1pt solid; background-color: transparent" valign="top" width="119"&gt;&lt;p&gt;Template&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #ece9d8; width: 86.45pt; padding-top: 0cm; border-bottom: black 1pt solid; background-color: transparent" valign="top" width="115"&gt;&lt;p&gt;ControlTemplate&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #ece9d8; width: 250.4pt; padding-top: 0cm; border-bottom: black 1pt solid; background-color: transparent" valign="top" width="334"&gt;&lt;p&gt;&lt;span style="font-family: 宋体"&gt;定义&lt;/span&gt;ListBoxItem&lt;span style="font-family: 宋体"&gt;外观的模板&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0cm; border-left: black 1pt solid; width: 89.25pt; padding-top: 0cm; border-bottom: black 1pt solid; background-color: transparent" valign="top" width="119"&gt;&lt;p&gt;ContentTemplate&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #ece9d8; width: 86.45pt; padding-top: 0cm; border-bottom: black 1pt solid; background-color: transparent" valign="top" width="115"&gt;&lt;p&gt;DataTemplate&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #ece9d8; padding-left: 5.4pt; padding-bottom: 0cm; border-left: #ece9d8; width: 250.4pt; padding-top: 0cm; border-bottom: black 1pt solid; background-color: transparent" valign="top" width="334"&gt;&lt;p&gt;&lt;span style="font-family: 宋体"&gt;定义&lt;/span&gt;ListBoxItem&lt;span style="font-family: 宋体"&gt;里面内容的外观。&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt"&gt;这样的&lt;/span&gt;&lt;span style="font-size: 12pt"&gt;几个属性，极易模糊。今天，我们就彻底把他们之间的关系搞清楚。想要搞清楚这个问题，我们需要一个小工具查看ListBox和ListBoxItem默认的模板结构。Helloj2ee曾经提供过一个查看模板的工具，不过发现Charles Peztold大师提供的查看模板工具更为好用，考虑更为周全。因此推荐大家使用Charles Peztold大师的DumpControlTemplate（见参考文献【6】），小工具的源码在随本章的附例中。如下图所示，您可以在第一个菜单里选择任意一个控件，如果它是一个ItemsControl，则不仅可以查看它的Template属性，也可以查看它的ItemsPanel的模板。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;img height="553" alt="" src="http://images.cnblogs.com/cnblogs_com/helloj2ee/ListBox的控件模板.JPG" width="963" border="0" /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt"&gt;Helloj2ee不在这里把ListBox或者ListBoxItem的模板代码贴出来。而是绘制出它们的模板结构来，这样有利于表达其核心概念。还是以一个外观为如下图的ListBox为例来说明。&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;img height="246" alt="" src="http://images.cnblogs.com/cnblogs_com/helloj2ee/NormalListBox.jpg" width="422" border="0" /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt"&gt;ListBox的模板结构如下图所示：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;img height="330" alt="" src="http://images.cnblogs.com/cnblogs_com/helloj2ee/ListBoxTemplate.jpg" width="473" border="0" /&gt;&lt;br /&gt;&lt;span style="font-size: 12pt"&gt;从上面的图中可以看出来以下两点：&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 12pt"&gt;（1）ListBox默认的Template里面包含了一个Border和一个ItemsPresenter；&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 12pt"&gt;（2）ItemsPresenter是一个非常特殊的类，它就好像一个占位符，是随时可以被其他Panel替换的，替换的依据就是模板，只不过这儿的模板类型为ItemsPanelTemplate。ListBox的ItemsPanel属性就是负责定义ListBox的项所处的Panel的外观。默认的ItemsPanel提供了一个VirualizingStackPanel。&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 12pt"&gt;接着往下看ListBoxItem的模板结构。&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;img height="189" alt="" src="http://images.cnblogs.com/cnblogs_com/helloj2ee/ListBoxItemTemplate.jpg" width="481" border="0" /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt"&gt;从上面的图中也可以看出来以下两点：&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 12pt"&gt;（1） ListBoxItem默认的Template属性定义了ListBox里包含Border和ContentPresenter；&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 12pt"&gt;（2）ContentPresenter也是一个非常特殊的类，它和ItemsPresenter一样。只不过区别在于替换ItemsPresenter是一个Panel，而这里更为宽泛，几乎任何一个控件都可以。这里ListBoxItem中内容的外观就取决于ListBoxItem的ContentTemplate属性。当然为了方便使用ListBox的ItemTemplate属性也是设定ListBoxItem的内容外观，它相当于ContentTemplate属性。&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 12pt"&gt;我们现在改变ListBox的外观，最重要的就是将这几个属性用到极致。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&lt;strong&gt;自定义Panel&lt;/strong&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;第一步我们是需要将原有的&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 12pt; line-height: 115%; font-family: 'Calibri','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;ListBox&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;纵向排列他的&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 12pt; line-height: 115%; font-family: 'Calibri','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;Item&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;，变成按照圆形排列。那么这势必要改变&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 12pt; line-height: 115%; font-family: 'Calibri','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;ListBox&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;他们所处的&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 12pt; line-height: 115%; font-family: 'Calibri','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;Panel&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;。过去我们已经知道&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 12pt; line-height: 115%; font-family: 'Calibri','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;ListBox&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;默认的&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 12pt; line-height: 115%; font-family: 'Calibri','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;Panel&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;是&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 12pt; line-height: 115%; font-family: 'Calibri','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;VirualizingStackPanel&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;。&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 12pt; line-height: 115%; font-family: 'Calibri','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;WPF&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;所能够提供的&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 12pt; line-height: 115%; font-family: 'Calibri','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;Panel&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;，没有一个能满足这种按照圆形排列的需求。因此&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 12pt; line-height: 115%; font-family: 'Calibri','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;Helloj2ee&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;只能自定义一个&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 12pt; line-height: 115%; font-family: 'Calibri','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;Panel&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 11pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;&lt;img height="302" alt="" src="http://images.cnblogs.com/cnblogs_com/helloj2ee/自定义ItemsPanel.jpg" width="764" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 11pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;自定义一个Panel绝对是一件颇有技术含量的事情。他的核心是要解决Panel里面的控件如何排列，以及尺寸的问题。实际上Panel布置它当中的控件位置和尺寸经历了两个阶段，第一个阶段是测量（Measure）阶段，在这个阶段中父元素会逐一询问子元素所期望的尺寸，从而确定自己所期望的尺寸。第二个阶段是布置（Arrange）阶段，在这个期间父元素会明确子元素的尺寸和位置。具体到编程模型里面，主要涉及到要重载两个函数，一个是MeasureOverride，另一个是ArrangeOverride[7]。&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;MeasureOverride函数的实现里面需要注意要做如下几件事：&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;（1）遍历所有包含的子元素，并且调用它们的Measure方法；&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;（2）调用完了Measure方法后，子元素的DesiredSize即是它们各自期望的尺寸；您可以获得它们的DesiredSize属性；&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;（3）根据所包含的子元素的尺寸，计算自己所期望的尺寸，并返回该值。注意MeasureOverride传递过来的参数，是父元素告诉子元素，它能够分配子元素的空间大小。当然子元素所期望的尺寸可以大于父元素给子元素分配的尺寸大小【8】。&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;现在我们再来看看CircularPanel的MeasureOverride函数的实现。相信看了上面一段话之后，不用Helloj2ee再逐字逐句去解释了。&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 11pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;" onclick="cnblogs_code_show('09e53cc7-5dde-4c0e-8996-9b0704997fe2')"&gt;&lt;img class="code_img_closed" id="code_img_closed_09e53cc7-5dde-4c0e-8996-9b0704997fe2" alt="" src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif" /&gt;&lt;img class="code_img_opened" id="code_img_opened_09e53cc7-5dde-4c0e-8996-9b0704997fe2" style="display: none" onclick="cnblogs_code_hide('09e53cc7-5dde-4c0e-8996-9b0704997fe2',event)" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif"&gt; &lt;div class="cnblogs_code_hide" id="cnblogs_code_open_09e53cc7-5dde-4c0e-8996-9b0704997fe2"&gt;&lt;div&gt;&lt;!--&lt;br/&gt;&lt;br/&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/&gt;http://www.CodeHighlighter.com/&lt;br/&gt;&lt;br/&gt;--&gt;&lt;span style="color: #0000ff"&gt;protected&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;override&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Size&amp;nbsp;MeasureOverride(Size&amp;nbsp;availableSize)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Size&amp;nbsp;resultSize&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Size(&lt;/span&gt;&lt;span style="color: #800080"&gt;0&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;0&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;foreach&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(UIElement&amp;nbsp;child&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;in&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.Children)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;child.Measure(availableSize);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;resultSize.Width&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Math.Max(resultSize.Width,&amp;nbsp;child.DesiredSize.Width);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;resultSize.Height&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Math.Max(resultSize.Height,&amp;nbsp;child.DesiredSize.Height);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;resultSize.Width&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;double&lt;/span&gt;&lt;span style="color: #000000"&gt;.IsPositiveInfinity(availableSize.Width)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;?&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;resultSize.Width&amp;nbsp;:&amp;nbsp;availableSize.Width;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;resultSize.Height&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;double&lt;/span&gt;&lt;span style="color: #000000"&gt;.IsPositiveInfinity(availableSize.Height)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;?&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;resultSize.Height&amp;nbsp;:&amp;nbsp;availableSize.Height;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;resultSize;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/span&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 10pt"&gt;&lt;span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;再来说说&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt;&lt;span style="font-size: 12pt"&gt;ArrangeOverride&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;函数。这是第二阶段的事情。在这一个阶段里&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt;&lt;span style="font-size: 12pt"&gt;Panel&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;要最终确定控件的位置和尺寸大小。控件的位置和尺寸大小是通过调用每一个控件的&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt;&lt;span style="font-size: 12pt"&gt;Arrange&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;方法来确定的。&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt;&lt;span style="font-size: 12pt"&gt;Arrange&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;方法需要传递的参数是类型为&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt;&lt;span style="font-size: 12pt"&gt;Rect&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;的&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt;&lt;span style="font-size: 12pt"&gt;finalRect&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;参数。他是决定控件位置和尺寸的最终决定因素。&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;好了，现在可以看看&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 12pt; line-height: 115%; font-family: 'Calibri','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;ArrangeOverride&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;函数的实现了。对每一个&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 12pt; line-height: 115%; font-family: 'Calibri','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;ListBoxItem&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;的位置计算取决于初始的角度（&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 12pt; line-height: 115%; font-family: 'Calibri','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;InitialAngle&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;），每个&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 12pt; line-height: 115%; font-family: 'Calibri','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;ListBoxItem&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;之间的间隔角度（&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 12pt; line-height: 115%; font-family: 'Calibri','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;AngleItem&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;），半径&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 12pt; line-height: 115%; font-family: 'Calibri','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;Radius&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;，以及旋转的中心点（&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 12pt; line-height: 115%; font-family: 'Calibri','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;Align&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;）。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;" onclick="cnblogs_code_show('d96185a8-4765-4159-8254-2855f5a3a2dd')"&gt;&lt;img class="code_img_closed" id="code_img_closed_d96185a8-4765-4159-8254-2855f5a3a2dd" alt="" src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif" /&gt;&lt;img class="code_img_opened" id="code_img_opened_d96185a8-4765-4159-8254-2855f5a3a2dd" style="display: none" onclick="cnblogs_code_hide('d96185a8-4765-4159-8254-2855f5a3a2dd',event)" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif"&gt; &lt;div class="cnblogs_code_hide" id="cnblogs_code_open_d96185a8-4765-4159-8254-2855f5a3a2dd"&gt;&lt;div&gt;&lt;!--&lt;br/&gt;&lt;br/&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/&gt;http://www.CodeHighlighter.com/&lt;br/&gt;&lt;br/&gt;--&gt;&lt;span style="color: #0000ff"&gt;protected&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;override&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Size&amp;nbsp;ArrangeOverride(Size&amp;nbsp;finalSize)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.Refresh();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;base&lt;/span&gt;&lt;span style="color: #000000"&gt;.ArrangeOverride(finalSize);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;private&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Refresh()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;count&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;0&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;double&lt;/span&gt;&lt;span style="color: #000000"&gt;.IsNaN(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.Width))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.Width&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;200&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;double&lt;/span&gt;&lt;span style="color: #000000"&gt;.IsNaN(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.Height))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.Height&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;200&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;foreach&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(FrameworkElement&amp;nbsp;element&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;in&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.Children)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RotateTransform&amp;nbsp;r&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;RotateTransform();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;double&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;alignX&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;0&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;double&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;alignY&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;0&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;switch&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.Align)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;case&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;AlignmentOptions.Left:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;alignX&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;0&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;alignY&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;0&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;break&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;case&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;AlignmentOptions.Center:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;alignX&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;element.DesiredSize.Width&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;/&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;2&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;alignY&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;element.DesiredSize.Height&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;/&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;2&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;break&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;case&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;AlignmentOptions.Right:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;alignX&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;element.DesiredSize.Width;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;alignY&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;element.DesiredSize.Height;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;break&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;r.CenterX&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;alignX;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;r.CenterY&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;alignY;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;r.Angle&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.AngleItem&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;*&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;count&lt;/span&gt;&lt;span style="color: #000000"&gt;++&lt;/span&gt;&lt;span style="color: #000000"&gt;)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;-&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.InitialAngle;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;element.RenderTransform&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;double&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;x&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.Radius&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;*&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Math.Cos(Math.PI&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;*&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r.Angle&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;/&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;180&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;double&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;y&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.Radius&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;*&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Math.Sin(Math.PI&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;*&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;r.Angle&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;/&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;180&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #000000"&gt;!&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;double&lt;/span&gt;&lt;span style="color: #000000"&gt;.IsNaN(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.Width))&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;!&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;double&lt;/span&gt;&lt;span style="color: #000000"&gt;.IsNaN(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.Height))&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;!&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;double&lt;/span&gt;&lt;span style="color: #000000"&gt;.IsNaN(alignX))&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;!&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;double&lt;/span&gt;&lt;span style="color: #000000"&gt;.IsNaN(alignY))&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;!&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;double&lt;/span&gt;&lt;span style="color: #000000"&gt;.IsNaN(element.DesiredSize.Width))&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;!&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;double&lt;/span&gt;&lt;span style="color: #000000"&gt;.IsNaN(element.DesiredSize.Height)))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;element.Arrange(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Rect(x&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.Width&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;/&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;2&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;-&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;alignX,&amp;nbsp;y&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.Height&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;/&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;2&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;-&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;alignY,&amp;nbsp;element.DesiredSize.Width,&amp;nbsp;element.DesiredSize.Height));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;当然这些属性都是依赖属性，也是自定义的依赖属性。这些只能请各位读者参考文献【&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt;&lt;span style="font-size: 12pt"&gt;9&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;】和【&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt;&lt;span style="font-size: 12pt"&gt;10&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;】了。文献【&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt;&lt;span style="font-size: 12pt"&gt;9&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;】可以帮助大家理解自定义的依赖属性，而文献【&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt;&lt;span style="font-size: 12pt"&gt;10&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;】则能用好依赖属性。由于&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt;&lt;span style="font-size: 12pt"&gt;Helloj2ee&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;对自己的书一定会熟悉很多。因此在参考文献的引用上，多是引用自己所写的，因此难免会给读者一点广告之嫌，还请各位见谅。当然相关的概念看任何一本&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt;&lt;span style="font-size: 12pt"&gt;WPF&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;的书都是&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt;&lt;span style="font-size: 12pt"&gt;OK&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;的。&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;完成这个自定义&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 12pt; line-height: 115%; font-family: 'Calibri','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;ListBox&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;的这条路还很漫长，敬请大家耐心等待&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 12pt; line-height: 115%; font-family: 'Calibri','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;Helloj2ee&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;的第二篇。最后附上我和侯大师的一张合影。能够遇到侯大师，真是一件很幸运的事情。&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size: 11pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;&lt;/span&gt;&lt;p&gt;&lt;img height="538" alt="" src="http://images.cnblogs.com/cnblogs_com/helloj2ee/我和侯杰.JPG" width="717" border="0" /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&lt;strong&gt;参考文献&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 14pt"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 10pt"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;【&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt;1&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;】&lt;/span&gt;&lt;span style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt; &lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;李响，《葵花宝典&amp;#8212;&amp;#8212;&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt;WPF&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;自学手册》第十一章控件与&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt;Content&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;&amp;#8212;&amp;#8212;北冥神功，&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt;2010&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 10pt"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;【&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt;2&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;】&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt;Pavan Podila, Kevin Hoffman, 2009, WPF Control Development Unleashed&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 10pt"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;【&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt;3&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;】李响，《葵花宝典&amp;#8212;&amp;#8212;&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt;WPF&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;自学手册》第十四章数据绑定&amp;#8212;&amp;#8212;桃花岛软件公司管理人员系统之始末，&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt;2010&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 10pt"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;【&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt;4&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;】&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt;MSDN&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;，&lt;/span&gt;&lt;font face="Calibri"&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;XmlDataProvider.XPath Property,&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;ms-help://MS.VSCC.v90/MS.MSDNQTR.v90.en/fxref_system.windows.data/html/b9776844-ca43-58ac-6d05-3f3c98f66e39.htm&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 10pt"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;【&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt;5&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;】李响，《葵花宝典&amp;#8212;&amp;#8212;&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt;WPF&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;自学手册》第二十章自定义数据控件&amp;#8212;&amp;#8212;出手无招，何招可破&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt;2010&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 10pt"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;【&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt;6&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;】&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt;Charles Peztold&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;，&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt;Applications = Code + Markup: A Guide to the Microsoft Windows Presentation Foundation&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;，&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt;Chapter 25 Templates&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;，&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt; 2006 &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 10pt"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;【&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt;7&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;】李响，《葵花宝典&amp;#8212;&amp;#8212;&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt;WPF&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;自学手册》第十章布局&amp;#8212;&amp;#8212;药师的桃花岛&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt; 2010&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 10pt"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;【&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt;8&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;】&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt;MSDN&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;，&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt;FrameworkElement&lt;span style="display: none; mso-hide: all"&gt;..::&lt;/span&gt;.MeasureOverride Method&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;，&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt;ms-help://MS.VSCC.v90/MS.MSDNQTR.v90.en/fxref_system.windows/html/f16effb3-da72-2bb9-290b-0fd6b9b79b4c.htm&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0cm 0cm 10pt"&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;【&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt;9&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;】李响，《葵花宝典&amp;#8212;&amp;#8212;&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt;WPF&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-language: ZH-CN; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin"&gt;自学手册》第五章依赖属性&amp;#8212;&amp;#8212;木木的汗血宝马&lt;/span&gt;&lt;span lang="EN-US" style="mso-fareast-language: ZH-CN"&gt;&lt;font face="Calibri"&gt; 2010&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 11pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;【&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 11pt; line-height: 115%; font-family: 'Calibri','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;10&lt;/span&gt;&lt;span style="font-size: 11pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;】李响，《葵花宝典&amp;#8212;&amp;#8212;&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 11pt; line-height: 115%; font-family: 'Calibri','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;WPF&lt;/span&gt;&lt;span style="font-size: 11pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;自学手册》第二十章&lt;/span&gt;&lt;span style="font-size: 11pt; line-height: 115%; font-family: 'Calibri','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt; &lt;/span&gt;&lt;span style="font-size: 11pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;自定义控件&amp;#8212;&amp;#8212;出手无招&lt;/span&gt;&lt;span style="font-size: 11pt; line-height: 115%; font-family: 'Calibri','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt; &lt;/span&gt;&lt;span style="font-size: 11pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;何招可破&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 11pt; line-height: 115%; font-family: 'Calibri','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;2010&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span lang="EN-US" style="font-size: 11pt; line-height: 115%; font-family: 'Calibri','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-bidi-theme-font: minor-bidi"&gt;&lt;/span&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;&lt;br /&gt;&amp;nbsp;附件：&lt;/p&gt;&lt;p&gt;源码：ListBoxDemo &lt;a href="http://files.cnblogs.com/helloj2ee/src.rar"&gt;/Files/helloj2ee/src.rar&lt;/a&gt;&lt;/p&gt;&lt;p&gt;查看控件模板工具：&lt;a href="http://files.cnblogs.com/helloj2ee/DumpControlTemplate.rar"&gt;/Files/helloj2ee/DumpControlTemplate.rar&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/helloj2ee/aggbug/1898574.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/helloj2ee/archive/2010/12/07/1898574.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/helloj2ee/archive/2010/11/18/1881225.html</id><title type="text">广告贴——希望大家有空能够参加11月27日的《葵花宝典——WPF自学手册》签名售书活动</title><summary type="text">这是一个广告贴。但是我会用心去写，否则发在首页，就愧对大家了。刚刚从南京回来。参加了UserFriendly2010的大会。这是一个关于产品设计和可用性的大会。在那个大会上，见到了膜拜已久的多位大师，其中还拿到了Bill Buxton和Norman的签名书以及签名照。Bill Buxton的签名售书活动算是相当成功。尽管他的中文版 非常贵 168元。但是大家都毫不吝啬，纷纷解囊 然后排成长队 等待Bill Buxton签名。出版社的编辑 站在我旁边说：“如果你签名那天.....”话没说完，我就咋舌， 表示不可能。头一天 经销商 小马 关于Bill Buxton的书 带得比较少。结果过早卖完 没有完成任务 有些小小的郁闷。尽管我在旁边 也帮着尽三寸不烂之舌 推荐一些在我看来还不错的书 可是也每卖出几本。但是这样一个签售 小马就露出了笑脸。</summary><published>2010-11-18T13:36:00Z</published><updated>2010-11-18T13:36:00Z</updated><author><name>helloj2ee</name><uri>http://www.cnblogs.com/helloj2ee/</uri></author><link rel="alternate" href="http://www.cnblogs.com/helloj2ee/archive/2010/11/18/1881225.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/helloj2ee/archive/2010/11/18/1881225.html"/><content type="html">&lt;p&gt;&lt;a href="http://www.upachina.org/userfriendly2010/cn/index/index.aspx?MeetingID=2"&gt;&lt;font class="Apple-style-span" color="#000000"&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-size: 11pt; font-family: 宋体;"&gt;活动主办方：&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family: 宋体;"&gt;电子工业出版社博文视点公司&lt;/span&gt;&lt;span style="font-family: 宋体;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: left;" align="left"&gt;&lt;strong&gt;&lt;span style="font-size: 11pt; font-family: 宋体; color: red;"&gt;活动时间及地点：&lt;/span&gt;&lt;/strong&gt;&lt;span style="color: red;" lang="EN-US"&gt;2010&lt;/span&gt;&lt;span style="font-family: 宋体; color: red;"&gt;年&lt;/span&gt;&lt;span style="color: red;" lang="EN-US"&gt;11&lt;/span&gt;&lt;span style="font-family: 宋体; color: red;"&gt;月&lt;/span&gt;&lt;span style="color: red;" lang="EN-US"&gt;27&lt;/span&gt;&lt;span style="font-family: 宋体; color: red;"&gt;日&lt;/span&gt;&lt;span style="color: red;" lang="EN-US"&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: red;"&gt;下午&lt;/span&gt;&lt;span style="color: red;" lang="EN-US"&gt;13:30~15:00&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: red;"&gt;中关村图书大厦五层多功能厅&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt;"&gt;这是一个广告贴。但是我会用心去写，否则发在首页，就愧对大家了。有一件事情 必须声明 就是我的字写得不好。所以签名的话 可能会让各位看得稍稍些许难受。不过 我会很认真去签 尽我所能。刚刚从南京回来。参加了&lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;UserFriendly2010&lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;的大会。这是一个关于产品设计和可用性的大会。在那个大会上，见到了膜拜已久的多位大师，其中还拿到了Bill Buxton和Norman的签名书以及签名照。Bill Buxton的签名售书活动算是相当成功。尽管他的中文版 非常贵 168元。但是大家都毫不吝啬，纷纷解囊 然后排成长队 等待Bill Buxton签名。出版社的编辑 站在我旁边说：&amp;#8220;如果你签名那天.....&amp;#8221;话没说完，我就咋舌，&lt;/span&gt;&amp;nbsp;&lt;span class="Apple-style-span" style="font-size: 16px;"&gt;表示不可能。头一天 经销商 小马 关于Bill Buxton的书 带得比较少。结果过早卖完 没有完成任务 有些小小的郁闷。尽管我在旁边 也帮着尽三寸不烂之舌 推荐一些在我看来还不错的书 可是也每卖出几本。但是这样一个签售 小马就露出了笑&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: 16px;"&gt;脸。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="Apple-style-span" style="font-size: 16px;"&gt;说到大师的签售 当然我无意比肩 自己几斤几两骨头 还是清楚。我想应该给大家提前透露一下 我能带给大家什么。让大家 还能够如此浪费自己的时间去听我的一些漫谈。我想了想 应该会有这&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: 16px;"&gt;样几点：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="Apple-style-span" style="font-size: 16px;"&gt;（1）一个Windows程序员的经验 仅仅是经验 因为我曾说过我是一个从Win32 MFC WinForm 和WPF这样一路走过来的程序员 我不会为说WPF &amp;nbsp;而说 WPF。看待WPF 何不从一个纵向 和横向 去看待。&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span class="Apple-style-span" style="font-size: 16px;"&gt;（2）学习的艰辛 与 快乐。面对现实的些许无奈 我会向大家介绍一些 我自己的学习方法 只能供大家参考。因为方法 只有合适自己的才是最好。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="Apple-style-span" style="font-size: 16px;"&gt;（3）WPF的快速概览 主要特点&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;（4）........&lt;/p&gt;&lt;p&gt;&lt;span class="Apple-style-span" style="font-size: 16px;"&gt;省略号的表示 还是想给大家留一些惊喜 其实与其说是讲座 倒是想和大家共同分享。我想我主要面向的对象 还是大学生 或者刚刚工作 涉及到用户界面 交互等工作的人。绝大部分 应该还是会面对 初级 或者中级的 读者。绝对有深入 但是 绝不是 华山论剑。感谢 大家 浪费自己宝贵时间 去参加这样的 一个 讲座活动。下面是这次活动 出版社方面的具体介绍。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-size: 12pt; font-family: 宋体;"&gt;博文视点大讲堂&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-size: 12pt; color: red;" lang="EN-US"&gt;42&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-size: 12pt; font-family: 宋体;"&gt;期&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-size: 12pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;strong&gt;&lt;span style="font-size: 18pt; font-family: 宋体;"&gt;程序员修炼道路上的&amp;#8220;葵花宝典&amp;#8221;&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-size: 18pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-indent: 21pt;"&gt;&lt;span style="font-family: 宋体;"&gt;您见识过很多技术图书，有无见过写得如此生动和诡异的&lt;/span&gt;&lt;span lang="EN-US"&gt;WPF&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;自学手册？&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-indent: 21pt;"&gt;&lt;span style="font-family: 宋体;"&gt;您参加过很多技术讲座，有无进入过这样气势磅礴和自由翱翔的&lt;/span&gt;&lt;span lang="EN-US"&gt;WPF&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;世界？&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-indent: 21pt;"&gt;&lt;span style="font-family: 宋体;"&gt;电子工业出版社畅销新书《葵花宝典&lt;/span&gt;&lt;span lang="EN-US"&gt;&amp;#8212;&amp;#8212;WPF&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;自学手册》，最大的作用是让从未接触过&lt;/span&gt;&lt;span lang="EN-US"&gt;Microsoft WindowsPresentation Foundation&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;的读者能够从初学到精通掌握，运用&lt;/span&gt;&lt;span lang="EN-US"&gt;WPF&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;进行桌面开发，而且图书的叙事风格和手法使得读者在经历掌握&lt;/span&gt;&lt;span lang="EN-US"&gt;Microsoft WPF&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;开发的整个过程是如此轻松快乐，在作者风趣调侃的语言当中不知不觉地学会&lt;/span&gt;&lt;span lang="EN-US"&gt;WPF&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;开发。&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-indent: 21pt;"&gt;&lt;span style="font-family: 宋体;"&gt;博文视点大讲堂第&lt;/span&gt;&lt;span lang="EN-US"&gt;42&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;期，特邀本书作者李响，一位在程序员舞台&amp;#8220;龙套&amp;#8221;成长为&amp;#8220;主角&amp;#8221;的博士，与您相约&lt;/span&gt;&lt;span lang="EN-US"&gt;11&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;月&lt;/span&gt;&lt;span lang="EN-US"&gt;27&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;日中关村图书大厦，一同参透程序员修炼道路上的&amp;#8220;葵花宝典&amp;#8221;相信本次讲座不仅给大家带来&lt;/span&gt;&lt;span lang="EN-US"&gt;WPF&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;这一个新兴技术，而且还将为大家的职场之路铺垫坚实的一步！&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-size: 11pt; font-family: 宋体;"&gt;主&lt;span&gt;讲人简介：&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-size: 11pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-indent: 21pt;"&gt;&lt;span style="font-family: 宋体;"&gt;李响，信息工程大学测绘学院制图学与地理信息工程系讲师，博士研究生。目前研究方向为地理信息系统和人机交互。十年程序生涯，漫漫征途，方修得一本宝书《葵花宝典&amp;#8212;&amp;#8212;&lt;/span&gt;&lt;span lang="EN-US"&gt;WPF&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;自学手册》。&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-size: 11pt;" lang="EN-US"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-size: 11pt; font-family: 宋体;"&gt;活动主办方：&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family: 宋体;"&gt;电子工业出版社博文视点公司&lt;/span&gt;&lt;span style="font-family: 宋体;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: left;" align="left"&gt;&lt;strong&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-size: 11pt; font-family: 宋体; color: red;"&gt;活动时间及地点：&lt;/span&gt;&lt;/strong&gt;&lt;span style="color: red;" lang="EN-US"&gt;2010&lt;/span&gt;&lt;span style="font-family: 宋体; color: red;"&gt;年&lt;/span&gt;&lt;span style="color: red;" lang="EN-US"&gt;11&lt;/span&gt;&lt;span style="font-family: 宋体; color: red;"&gt;月&lt;/span&gt;&lt;span style="color: red;" lang="EN-US"&gt;27&lt;/span&gt;&lt;span style="font-family: 宋体; color: red;"&gt;日&lt;/span&gt;&lt;span style="color: red;" lang="EN-US"&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: red;"&gt;下午&lt;/span&gt;&lt;span style="color: red;" lang="EN-US"&gt;13:30~15:00&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: red;"&gt;中关村图书大厦五层多功能厅&lt;/span&gt;&lt;span style="color: red;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-size: 11pt; font-family: 宋体;"&gt;讲座内容：&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-size: 11pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-indent: 21pt;"&gt;&lt;span style="font-family: 宋体;"&gt;这次讲座，《葵花宝典&lt;/span&gt;&lt;span lang="EN-US"&gt;&amp;#8212;&amp;#8212;WPF&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;自学手册》作者，一位在程序员舞台&amp;#8220;龙套&amp;#8221;成长为&amp;#8220;主角&amp;#8221;的博士，为您拆解程序员修炼道路上的两条路线&amp;#8212;&amp;#8212;全真教和梅超风，他将在挽起袖子、义不容辞地亮家底：&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-indent: 21pt;"&gt;&lt;span style="font-family: 宋体;"&gt;细细想想梅超风何以成名？她成名的原因就在于获得了一本《九阴真经》，而且是一个残缺本。于是她学会了&amp;#8220;摧心掌&amp;#8221;和&amp;#8220;九阴白骨爪&amp;#8221;这样的快速功夫，从而横行武林。但武功始终处在二流，不能有所精进。这个从《射雕》一书当中就能看到，梅超风被黄药师抓住的时候，就仿佛是老鹰抓小鸡一般没有丝毫抵抗。&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-indent: 21pt;"&gt;&lt;span style="font-family: 宋体;"&gt;全真教的小道士入门却不学招式，只学呼吸、坐下、行路、睡觉的心法。这一点从郭靖和马钰道长在山顶修炼时可见。但是《射雕》一书当中绝顶高手，非中神通王重阳莫属。即使到了《神雕》也是中顽童周伯通莫属。两本武侠圣经，都是全真当道，为何？&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-indent: 21pt;"&gt;&lt;span style="font-family: 宋体;"&gt;之后，将为大家解读学习&lt;/span&gt;&lt;span lang="EN-US"&gt;WPF&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;之前须具备的基础，&lt;/span&gt;&lt;span lang="EN-US"&gt;WPF&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;的重点概念，以及&lt;/span&gt;&lt;span lang="EN-US"&gt;WPF&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;一个综合实例。&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-indent: 21pt;"&gt;&lt;span style="font-family: 宋体;"&gt;相信，这次讲座不仅给大家带来&lt;/span&gt;&lt;span lang="EN-US"&gt;WPF&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;这一个新兴技术，而且还会大家的职场之路铺垫坚实的一步！&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-indent: 20.65pt;"&gt;&lt;strong&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-indent: 20.65pt;"&gt;&lt;strong&gt;&lt;span style="font-family: 宋体;"&gt;由于场地有限，还请各位有兴趣参加的朋友提前报名。凡到会参加者，均可获赠精美小礼品一份，现场还有抽奖活动！奖项设置如下：&lt;/span&gt;&lt;/strong&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left: 21pt;"&gt;&lt;strong&gt;&lt;span style="font-family: 宋体;"&gt;一等奖一名：《葵花宝典&lt;/span&gt;&lt;span lang="EN-US"&gt;&amp;#8212;&amp;#8212;WPF&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family: 宋体;"&gt;自学手册》&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left: 21pt;"&gt;&lt;strong&gt;&lt;span style="font-family: 宋体;"&gt;二等奖两名：《过河卒》各&lt;/span&gt;&lt;span lang="EN-US"&gt;1&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family: 宋体;"&gt;本&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left: 21pt;"&gt;&lt;strong&gt;&lt;span style="font-family: 宋体;"&gt;三等奖三名：&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family: 宋体;"&gt;博文视点精致咖啡杯各&lt;/span&gt;&lt;span lang="EN-US"&gt;1&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family: 宋体;"&gt;个&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-left: 21pt;"&gt;&lt;strong&gt;&lt;span style="font-family: 宋体;"&gt;报名方式：&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-indent: 21pt;"&gt;&lt;span lang="EN-US"&gt;1&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;．请致电：&lt;/span&gt;&lt;span lang="EN-US"&gt;86-010-88254369&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;。&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-indent: 21pt;"&gt;&lt;span lang="EN-US"&gt;2&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;．登录博文视点官方网站&lt;/span&gt;&lt;span lang="EN-US"&gt;www.broadview.com.cn&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;在线报名。&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-indent: 21pt;"&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-size: 11pt; font-family: 宋体;"&gt;相关图书&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-size: 11pt;" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="font-family: 宋体;"&gt;《葵花宝典&lt;/span&gt;&lt;span lang="EN-US"&gt;&amp;#8212;&amp;#8212;WPF&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family: 宋体;"&gt;自学手册》&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="line-height: 16pt;"&gt;&lt;!--[if gte vml 1]&gt;&lt;v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"&gt; &lt;v:stroke joinstyle="miter" /&gt; &lt;v:formulas&gt;  &lt;v:f eqn="if lineDrawn pixelLineWidth 0" /&gt;  &lt;v:f eqn="sum @0 1 0" /&gt;  &lt;v:f eqn="sum 0 0 @1" /&gt;  &lt;v:f eqn="prod @2 1 2" /&gt;  &lt;v:f eqn="prod @3 21600 pixelWidth" /&gt;  &lt;v:f eqn="prod @3 21600 pixelHeight" /&gt;  &lt;v:f eqn="sum @0 0 1" /&gt;  &lt;v:f eqn="prod @6 1 2" /&gt;  &lt;v:f eqn="prod @7 21600 pixelWidth" /&gt;  &lt;v:f eqn="sum @8 21600 0" /&gt;  &lt;v:f eqn="prod @7 21600 pixelHeight" /&gt;  &lt;v:f eqn="sum @10 21600 0" /&gt; &lt;/v:formulas&gt; &lt;v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect" /&gt; &lt;o:lock v:ext="edit" aspectratio="t" /&gt;&lt;/v:shapetype&gt;&lt;v:shape id="_x0000_s1026" type="#_x0000_t75" style='position:absolute; left:0;text-align:left;margin-left:8.25pt;margin-top:6pt;width:106.5pt; height:150pt;z-index:251657728' stroked="t"&gt; &lt;v:imagedata src="file:///C:\Users\张卫东\AppData\Local\Temp\msohtmlclip1\01\clip_image001.jpg" o:title="11405" /&gt; &lt;v:shadow on="t" /&gt; &lt;w:wrap type="square" /&gt;&lt;/v:shape&gt;&lt;![endif]--&gt;&lt;!--[if !vml]--&gt;&lt;img src="file:///C:/Users/%E5%BC%A0%E5%8D%AB%E4%B8%9C/AppData/Local/Temp/msohtmlclip1/01/clip_image002.png" v:shapes="_x0000_s1026" alt="" width="147" align="left" height="205" hspace="12" /&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span style="font-family: 宋体;"&gt;购买链接：&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="line-height: 18pt;"&gt;&lt;span lang="EN-US"&gt;&lt;a href="http://product.dangdang.com/product.aspx?product_id=20933179&amp;amp;ref=search-1-pub"&gt;&lt;span style="font-family: 宋体;" lang="EN-US"&gt;&lt;span lang="EN-US"&gt;当当网&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="Apple-style-span" style="line-height: 24px;"&gt;&lt;a href="http://www.amazon.cn/mn/detailApp/ref=sr_1_1?_encoding=UTF8&amp;amp;s=books&amp;amp;qid=1288684334&amp;amp;asin=B0041LT1MW&amp;amp;sr=1-1"&gt;&lt;span style="font-family: 宋体;" lang="EN-US"&gt;&lt;span lang="EN-US"&gt;卓越网&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/helloj2ee/aggbug/1881225.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/helloj2ee/archive/2010/11/18/1881225.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/helloj2ee/archive/2010/10/06/1844540.html</id><title type="text">写给刚刚毕业非名校而且正在迷惑中的工科大学生们之二——全真教与梅超风 谈程序员的修炼之路</title><summary type="text">一时激动 写下了这个系列之二。这个话题 其实在我上课的时候 已属老调重弹的话题 即使在我的新书《葵花宝典——WPF自学手册》中第15章也谈过 但是还从未见之互联网。这是把家底亮出来。当然能够写出来还是缘于第一篇 被大家所关注。老实讲 这里是程序员的舞台 我只不过是这个舞台上的一个“龙套” 能够得到大家的关注 所以挽起袖子 义不容辞地亮家底了。</summary><published>2010-10-06T01:54:00Z</published><updated>2010-10-06T01:54:00Z</updated><author><name>helloj2ee</name><uri>http://www.cnblogs.com/helloj2ee/</uri></author><link rel="alternate" href="http://www.cnblogs.com/helloj2ee/archive/2010/10/06/1844540.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/helloj2ee/archive/2010/10/06/1844540.html"/><content type="html">&lt;p&gt;&lt;span style="font-size: 12pt"&gt;一时激动 写下了这个系列之二。这个话题 其实在我上课的时候 已属老调重弹的话题 即使在我的新书《葵花宝典&amp;#8212;&amp;#8212;WPF自学手册》中第15章也谈过 但是还从未见之互联网。这是把家底亮出来。当然能够写出来还是缘于第一篇 被大家所关注。老实讲 这里是程序员的舞台 我只不过是这个舞台上的一个&amp;#8220;龙套&amp;#8221; 能够得到大家的关注 所以挽起袖子 义不容辞地亮家底了。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt"&gt;七年前 我是一个程序员 当然现在还是一个程序员 但是要注意的我不是一个科班的程序员 仅仅属于计算机专业相关的专业。在初学程序之初，上课学习完 谭浩强的C语言之后 我的程序语言生涯 就算结束了。于是需要自学C++ 当时非常遗憾的是 并不知道有一本C++圣经 就是&amp;#8220;离谱的人&amp;#8221;（&lt;/span&gt;&lt;font color="#cc0033"&gt;&lt;span style="font-size: 12pt"&gt;Lippman &lt;/span&gt;&lt;/font&gt;&lt;span style="font-size: 12pt"&gt;）&lt;/span&gt;&lt;font color="#cc0033"&gt;&amp;nbsp;&lt;/font&gt;&lt;span style="font-size: 12pt"&gt;所著的C++Primer。好在C++的教材 浩如烟海&amp;nbsp;溺水三千 只取一瓢饮即可。但是我的学友们 已经不满足简单的Console窗口 弹出一个结果。很快开始转向了MFC。于是当我还在单调的写一个Main的时候 眼巴巴地看着Console窗口 弹出一个结果时。他们已经可以弹出一个对话框来。这样的一种被人慢慢甩在后面的感觉实在不好受 尤其是你个人还觉得 你很用功 仍然被人甩在后面 就不单单是感觉不好受 而是开始怀疑自己的智商了。不过好在我这个人 还是一个坚持的人 还是慢慢学完C++之后 才开始看MFC。不过由于受学友们的影响 老实说 C++ 越到后面的模板 多重继承等等 自己看的越是快 并没有打下艰深的基础 迫不及待地转向MFC。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt"&gt;转向MFC 对我而言 简直是一个梦魇。从Main直接跳跃到CWinApp CMainFrame等等。简直就是一个三级跳。每次我都止步于《VC技术内幕》 第六章（具体可参见我系列一）。每一本MFC的书 无疑都会在第一章写下Win32 但是每一次都是蜻蜓点水。可能我资质鲁钝 怎么也搞不清楚 Win32是何方神圣？既然它在每本MFC书中都要提起 为何又如此简单呢？于是我在学习了大半年MFC之后 一直只能停留于做一个对话框 加上一个按钮 在一个按钮里写下Click的事件处理函数的水平上。过去在Consol窗口里看结果 现在在MessageBox里看结果。当我惆怅万般 形影单只 望穿秋月时。学友们 已经在考虑一个系统 一个架构的问题了。这个时候心灵的寂寞 对自己的否认 是来得何等强烈。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt"&gt;由于Win32这个讨厌的东西 每次都出现 但每次都出现的不清不楚 于是我想 我应该找一本专门讲Win32的书才好。那个时候选择书 是很盲目的。我不会上网去看书评 好在运气不错 让我碰见了一本好书。运气更不错的时候 是碰到了一本Win32的权威之著&amp;#8212;&amp;#8212;Charles Peztold的Windows程序设计。不用全看 看了三章之后。我终于见着了Win32的庐山真面目 从此恍若中国的革命找到了马克思主义一般 揭开了新篇章。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt"&gt;.......&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt"&gt;当然这仅仅只是我的程序员之路 前面一两年发生的事情。直到今天 才看看昔日的学友们 尽管他们都很不错 但是很多都已不在程序员这条路上。或者他们依旧在考虑系统 考虑架构 但是恕我直言和前若干年相比除了经验上多了一些。技术的深度似乎少有进展。而我虽然也是没什么成就 但是依然走在这条路上 而且加速在前进。以前 总是追赶不上微软 但是现在却可以紧跟上 而且不必匆忙学习 而是见一眼 就能知其根底。好比看演出 台上的那个女人还是那个女人 衣服不同而已。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt"&gt;于是回过头 我总结出了程序员的两条路：&lt;/span&gt;&lt;strong style="font-size: 12pt"&gt;全真教和梅超风两条截然不同的路。&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt"&gt;细细想想梅超风何已成名？她成名的原因就在于获得了一本《九阴真经》 而且是一个残缺本。于是她学会了&amp;#8220;摧心掌&amp;#8221;和&amp;#8220;九阴白骨爪&amp;#8221;这样的快速功夫 从而横行武林。&lt;/span&gt;&lt;span style="font-size: 12pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"&gt;但武功始终处在二流，不能有所精进。&lt;/span&gt;&lt;span style="font-size: 12pt"&gt;这个从《射雕》一书当中就能看到 梅超风被黄药师抓住的时候 就仿佛是老鹰抓小鸡一般没有丝毫抵抗。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"&gt;全真教的小道士入门确不学招式，只学呼吸、坐下、行路、睡觉的心法。这一点从郭靖和马钰道长在山顶修炼时可见。但是《射雕》一书当中绝顶高手 非中神通王重阳莫属。即使到了《神雕》也是中顽童周伯通莫属。两本武侠圣经 都是全真当道 为何？&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"&gt;我们不妨看看 全真教和梅超风的学习曲线图。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 10.5pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"&gt;&lt;img height="257" alt="" src="http://images.cnblogs.com/cnblogs_com/helloj2ee/全真教和梅超风.JPG" width="359" border="0" /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 10.5pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 10.5pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"&gt;&lt;span style="font-size: 12pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"&gt;超风的学习曲线先快而后慢，而全真教学习曲线先慢而后快。在这里应该一目了然 梅超风到最后 也只能是平平而为。而全真的方法确能升到极点而且到后面的加速度会越来越快。&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 10.5pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"&gt;&lt;span style="font-size: 12pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"&gt;但是写到这里 请各位花费时间看我博客的朋友们注意 我并没有&lt;/span&gt;&lt;span style="font-size: 12pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"&gt;&lt;strong&gt;扬全真 而抑超风&lt;/strong&gt;&lt;span style="font-size: 12pt"&gt;的意思。这两条学习路线都有可取之处 因人 因事而异。在这里我想系统地说如下几点：&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 10.5pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"&gt;&lt;span style="font-size: 12pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"&gt;（1）选择全真的修炼路线的各位注意了 拐点之前 对大家而言 无疑是挑战 因为在拐点之前 不是每个人 都能坚持的。在这其间 你的学习上升很慢 尤其是你的学友在做梅超风路线时 会大踏步地前进。如果您不是一个耐得住寂寞的人 也许在拐点之前 您会从全真的路线 拐向超风的路线。在拐点之前 唯一的秘诀就是&amp;#8220;耐得住寂寞&amp;#8221;。&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 10.5pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"&gt;&lt;span style="font-size: 12pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"&gt;（2）同时意味着并不是每一个当初选择全真的 就一定能成为绝顶高手 只有矢志不渝的人 才能成为高手。&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 10.5pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"&gt;&lt;span style="font-size: 12pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"&gt;（3）并不是所有的人 所有的时候都适合走全真路线。因为很多时候&amp;nbsp;您需要的只是今天使用这个技术去解决一个问题 而往后都不会再用到这样的一个技术 您何必费劲心力去选择全真路线。不妨&amp;#8220;九阴白骨爪&amp;#8221; 一招制敌。&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10.5pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"&gt;&lt;span style="font-size: 10.5pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 10.5pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"&gt;&lt;span style="font-size: 12pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-size: 11.0pt; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"&gt;全真教与梅超风 两条路线 您可以根据个人情况 事情不同选择不同的路。废话这么多 感谢您的阅读 感谢您的时间。&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/helloj2ee/aggbug/1844540.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/helloj2ee/archive/2010/10/06/1844540.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/helloj2ee/archive/2010/10/01/1839767.html</id><title type="text">写给刚刚毕业非名校而且正在迷惑中的工科大学生们之一——为什么编程读书全会 放下书写代码却又全不会</title><summary type="text">我写系列 成功 失败 都不是第一次了。但是促使我写这个系列 还是有两个原因。其一 可能已经有人知道我是一个老师 而且是一个非名校的老师。虽然长相貌似年轻 但是实际上已经是一个有六年经验的老教师了。呵呵。可以说是桃李满天下了。其二 则是最近由于比较关注自己写的一本书《葵花宝典——WPF自学手册》 于是在网路上又呈现出一种活跃姿态。深夜不睡 连续加上好几个WPF相关的群，在群里充当老师 师兄 过来人 等诸多角色。为刚刚毕业非名校而且正在迷惑中的工科大学生们解惑或者是更加增添他们的疑惑。</summary><published>2010-09-30T18:33:00Z</published><updated>2010-09-30T18:33:00Z</updated><author><name>helloj2ee</name><uri>http://www.cnblogs.com/helloj2ee/</uri></author><link rel="alternate" href="http://www.cnblogs.com/helloj2ee/archive/2010/10/01/1839767.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/helloj2ee/archive/2010/10/01/1839767.html"/><content type="html">&lt;p&gt;&lt;span style="font-size: 12pt"&gt;我写系列 成功 失败 都不是第一次了。但是促使我写这个系列 还是有两个原因。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt"&gt;其一 可能已经有人知道我是一个老师 而且是一个非名校的老师。虽然长相貌似年轻 但是实际上已经是一个有六年经验的老教师了。呵呵。可以说是桃李满天下了。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt"&gt;其二 则是最近由于比较关注自己写的一本书《葵花宝典&amp;#8212;&amp;#8212;WPF自学手册》 于是在网路上又呈现出一种活跃姿态。深夜不睡 连续加上好几个WPF相关的群，在群里充当老师 师兄 过来人 等诸多角色。为刚刚毕业非名校而且正在迷惑中的工科大学生们解惑或者是更加增添他们的疑惑。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt"&gt;其间 就有一个学弟问了这样一个问题：&amp;#8220;为什么编程读书全会 放下书写代码确又全不会&amp;#8221;。其实我学习编程十年多 又何尝不是呢。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt"&gt;上大学其间 作为一个工科大学生 当然是要学习编程的。一个学校总是一个风格，如果一个学校 先驱者是使用Delphi开发项目 那么后来者当然是Delphi成风。那么我们学校是VC起家的。于是我成为了众多VC学习中的一员。当时我买了厚厚的一本《VC技术内幕》第六版。尽管当时有盗版书 但是我还是毅然地选择了正版。也许有人要表扬我这种维护正版的坚贞的情操。但是朋友们，我真不是人格有多高尚 而是想让自己找到一种心疼的感觉 心疼了自然就不会将书束之高阁。抱着厚厚的一本书 我开始泡一杯咖啡 正襟危坐。看第一章 略懂 第二章略懂 一直到第六章。我彻底崩溃了。于是又开始从头看起 第一章 略懂 第二章 直到第六章 又一次崩溃。索性不看了。过了几天 我又开始这样的循环 我是一个很有毅力的人。这样的循环 我大约持续了二十遍以上，直到毕业时才算真正放弃。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt"&gt;这和我在青春懵懂时代看红楼梦一样。由于从小受教育 就知道红楼梦是四大名著 于是买回一本看 每次看到贾宝玉梦遗 带着青春的兴奋之后 随即崩溃 看不下去，如此反复。直到现在 我也没看完 完整的红楼梦。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt"&gt;所以关键的一点出来了&lt;/span&gt;&lt;strong style="font-size: 12pt"&gt;&amp;#8220;一本大家公认的好书 如果你看不下去 那么对你而言 它就不是一本好书&amp;#8221;。&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt"&gt;到了后来 我还知道我看不下去《VC技术内幕》第六版的原因何在呢？因为他的翻译质量确实欠妥。在大学时 我对铅字是有一种莫名的崇拜的。我不会去怀疑书的。于是关键的第二点出来了&lt;/span&gt;&lt;strong style="font-size: 12pt"&gt;&amp;#8220;尽信书 不如无书&amp;#8221;。&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt"&gt;这里关于识别翻译书的质量 有一个小小的技巧。翻译书 需要看译者 主要是看出名的译者 比如侯杰 潘爱民 蔡学庸。但是这一招 也往往未必奏效。因为太过出名的人 往往只是挂名 不在翻译 所以还是要关注像helloj2ee这样在出名ing中，而尚未出名的人 这样的人通常会更努力一些。呵呵。此外翻译书的质量和译者的数量成反比。一个人翻译书的质量&amp;gt;两个人&amp;gt;三个人&amp;gt;......一个团队。还是拿VC技术内幕说事 大家推崇的经典是第五版 潘爱民老师翻译的 一个人独立完成。而第六版 是一个什么公司 具体名字我也忘记了。潘老师当时也不算盛名。因此第五版成为了经典。如果现在再买书看到有潘老师翻译的 也许我会慎重考虑。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt"&gt;编程的过程 就是就是习武的过程 修炼 战斗 再修炼 再战斗这样的循环过程。学习编程 也是看书 实践 再看书 再实践的过程。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt"&gt;初学编程的时候&amp;nbsp;好多同学会问我：&amp;#8220;说老师 怎么学编程&amp;#8221; 我的回答通常是：&amp;#8220;你先编写有一百行代码的时候 再来问我这个问题&amp;#8221;没有代码量的积累 确实是无法学习编程的。因此关键点之三出来了&lt;/span&gt;&lt;strong style="font-size: 12pt"&gt;&amp;#8220;没有一定的代码量积累 何谈学会编程？&lt;/strong&gt;&amp;#8221;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt"&gt;我的网名叫做Helloj2ee，经常到.NET的学习论坛 或者群里 大家都会以为我是一个Java方面的卧底。但是这不是无间道 也不是潜伏。我的网名来自于 我大四期间需要用Java干的一个项目。当时项目紧张的不得了 整天整夜的加班 最为夸张的是需要在三天之内 做好三十个功能齐全的对话框。两个人 三天。这样编写了一年Java的代码。老实讲终身都无法忘记Java 因为它潜移默化成为了我的一种习惯，深入骨髓。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt"&gt;那么由此又引出来一个问题：&lt;/span&gt;&lt;strong style="font-size: 12pt"&gt;&amp;#8220;看书和干项目 鱼与熊掌如何兼得？&amp;#8221;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt"&gt;在这里我要分别说说 看书 干项目他们分别的优与劣&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt"&gt;看书是一种系统的学习 它优 优在系统 但是劣 劣在盲目。尤其对于初学者来说 更是盲目。相信计算机科班出身的同学们 上大学时学的操作系统 汇编已经变成了一种遥远的记忆吧。当时的学习 是盲目的 不知道有何用。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt"&gt;干项目是一种真正解决问题的实践 它优 优在实践 解决问题 时间紧还能给人压力 激发无穷的潜力 它劣 却劣在零散 所有都是围绕问题去学习 加上时间紧 都是囫囵吞枣 解决问题即可 不管架构多不合理 效率多么低下。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt"&gt;因此 对于刚刚毕业非名校的诸位 我有一个建议就是 刚参加工作 如果足够幸运 跟上一个大项目 好好干完 无论 自己基础多么差 多么不牢 咬咬牙 顶住。不要想我要学什么 学什么 一切都为了解决这个项目 围绕项目而转。这期间 你必然有很多都是在困惑中 都是在待解决中。当这个项目干完 你会知道自己有多么多么不足 哪些方面是需要学习的 这个时候再去系统的学习一段时间 好好思考一段时间 打好基础。再去投入新的工作当中。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt"&gt;我想这样的建议或许有效 其实古人已经用简单的四个字概括了我上面的一段话 那就是&lt;/span&gt;&lt;strong style="font-size: 12pt"&gt;&amp;#8220;知行合一&amp;#8221;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt"&gt;好了 唠叨了这么久 总结一下本文 四句话：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt"&gt;（1）一本大家公认的好书 如果你看不下去 那么对你而言 它就不是一本好书&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt"&gt;（2）尽信书 不如无书（我知道这样写 对我的《葵花宝典&amp;#8212;&amp;#8212;WPF自学手册》没有任何好处 谁也不会去&amp;#8220;自宫&amp;#8221; 阿门 老天保佑吧 我只是说了真话而已 呵呵）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt"&gt;（3）没有一定的代码量积累 何谈学会编程？&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 12pt"&gt;（4）看书和干项目 鱼与熊掌如何兼得？答案是知行合一。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;img src="http://www.cnblogs.com/helloj2ee/aggbug/1839767.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/helloj2ee/archive/2010/10/01/1839767.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/helloj2ee/archive/2010/09/30/1839660.html</id><title type="text">路由事件的演变史——写在真正学习路由事件之前</title><summary type="text">终于敢写路由事件（routed event）了，原因很简单。因为我在研究一个东西，喜欢研究一个东西的演变，因此在研究路由事件的时候，我不得不先从事件（event）开始。由于自己有过Win32的背景，于是很自然地联想到消息（Message）。在这一章，我将带着各位从Win32，MFC，WinForm和WPF这样一路游览过来，路上无疑会看到函数指针（Function Pointer）,回调函数（Callback Function），成员函数指针（Member Function Pointer）,委托（Delegate），事件（Event）和路由事件（Routed Event）,真的很有趣……</summary><published>2010-09-30T10:05:00Z</published><updated>2010-09-30T10:05:00Z</updated><author><name>helloj2ee</name><uri>http://www.cnblogs.com/helloj2ee/</uri></author><link rel="alternate" href="http://www.cnblogs.com/helloj2ee/archive/2010/09/30/1839660.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/helloj2ee/archive/2010/09/30/1839660.html"/><content type="html">&lt;span style="font-size: 11pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US"&gt;&lt;p&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 115%; font-family: Arial; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: Arial; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US"&gt;这是一个很长的文章 尽管在下班之前 我编辑了足足快一个下午的时间，但是后来发现浏览的时候 IE会报错。于是干脆制作成pdf格式 方便更多人阅读。&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: Arial; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US"&gt;就不在这儿贴的满满都是 以满足我个人的小小虚荣了。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 10pt; line-height: 115%; font-family: Arial; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: Arial; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US"&gt;这篇文章 实际上是我写路由事件之前的思考。事件其实总是一个很让人向往的话题，也是一个 很有意思的话题。而我一个从Win32开始的程序员 一开始就&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: Arial; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US"&gt;想到了Win32的回调函数 再往后 委托事件 再往后.....&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: Arial; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US"&gt;于是就有了这篇路由事件的演变。当然这篇文章并没有涉及到路由事件，如果想了解路由事件 可以参看我的拙著《葵花宝典&amp;#8212;&amp;#8212;WPF自学手册》 第六章 &lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: Arial; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US"&gt;路由事件&amp;#8212;&amp;#8212;绝情谷底玉蜂飞。&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 115%; font-family: Arial; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US"&gt;&lt;a href="http://www.cnblogs.com/helloj2ee/archive/2010/09/24/1834189.html"&gt;&lt;span style="font-size: 12pt"&gt;http://www.cnblogs.com/helloj2ee/archive/2010/09/24/1834189.html&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: Arial; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US"&gt;（呵呵 这里似乎有点广告嫌疑）。的确我老王卖瓜 自卖自夸了。当然写事件的 无论著作 还是网路上的文章 都有很多经&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: Arial; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US"&gt;典。大家不妨擦亮眼睛自己阅读。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 10pt; line-height: 115%; font-family: Arial; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: Arial; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US"&gt;话不多说 奉上这篇的pdf文档。祝节日快乐 阅读快乐。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 10pt; line-height: 115%; font-family: Arial; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US"&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-size: 12pt; line-height: 115%; font-family: Arial; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US"&gt;文章下载处：&lt;a href="http://files.cnblogs.com/helloj2ee/路由事件的演变.pdf"&gt;&lt;span style="font-size: 12pt"&gt;路由事件的演变.pdf&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 10pt; line-height: 115%; font-family: Arial; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 11pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 11pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 11pt; line-height: 115%; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: EN-US"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/helloj2ee/aggbug/1839660.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/helloj2ee/archive/2010/09/30/1839660.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry></feed>
