﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>博客园-深蓝色右手</title><link>http://www.cnblogs.com/alamiye010/</link><description>右手紧握生命的刹车</description><language>zh-cn</language><lastBuildDate>Wed, 10 Feb 2010 03:29:51 GMT</lastBuildDate><pubDate>Wed, 10 Feb 2010 03:29:51 GMT</pubDate><ttl>60</ttl><item><title>C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial)：(五十) 终章！新的曙光！</title><link>http://www.cnblogs.com/alamiye010/archive/2010/02/01/1660693.html</link><dc:creator>深蓝色右手</dc:creator><author>深蓝色右手</author><pubDate>Sun, 31 Jan 2010 16:46:00 GMT</pubDate><guid>http://www.cnblogs.com/alamiye010/archive/2010/02/01/1660693.html</guid><description><![CDATA[<p>阅读: 2054 评论: 29 作者: <a href="http://www.cnblogs.com/alamiye010/" target="_blank">深蓝色右手</a> 发表于 2010-02-01 00:46 <a href="http://www.cnblogs.com/alamiye010/archive/2010/02/01/1660693.html" target="_blank">原文链接</a></p><p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt; line-height: 150%; text-align: left; mso-char-indent-count: 2.0; mso-outline-level: 2" align="left"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">本节无法为大家再次呈现更多的游戏更新，仅仅是对目前引擎的一些</span><span lang="EN-US"><font face="Times New Roman">BUG</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">修复以及增加简单的自定义</span><span lang="EN-US"><font face="Times New Roman">Loading</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">界面。用最后的一点元气，我想谈谈</span><span lang="EN-US"><font face="Times New Roman">Silverlight</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在游戏图片音乐等素材的资源部署方面的问题。在常规的</span><span lang="EN-US"><font face="Times New Roman">Web</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">网页游戏开发中，需要分清哪些资源是必须在游戏加载时就要完整下载的，哪些资源是在玩家进入游戏后才根据实际需要动态下载的。例如一个玩家刚登陆游戏，那么首先需要</span><span lang="EN-US"><font face="Times New Roman">Loading</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">他所处地图的</span><span lang="EN-US"><font face="Times New Roman">Mini</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">地图图片（通常也就几十</span><span lang="EN-US"><font face="Times New Roman">K</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">最多了），该图片可以作为雷达地图与寻路地图的背景，这在第</span><span lang="EN-US"><a href="http://www.cnblogs.com/alamiye010/archive/2009/11/20/1607176.html" target="_blank"><font face="Times New Roman">41</font></a></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">、</span><span lang="EN-US"><a href="http://www.cnblogs.com/alamiye010/archive/2009/11/30/1613773.html" target="_blank"><font face="Times New Roman">42</font></a></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">节已做详细介绍；其实它还存在着神奇的第三个用途。大家不妨打开一下</span><span lang="EN-US"><font face="Times New Roman">Google</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的图片搜索，搜索出来的图片都是缩略图，当你点击一张图片时，主窗口首先将这张缩略图拉伸放大填充窗口，此时看到的当然是模糊的图片，但总比放一把红</span><span lang="EN-US"><font face="Times New Roman">X</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">好吧。而于此同时</span><span lang="EN-US"><font face="Times New Roman">Google</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">会同时去动态加载该图片的原图，一旦下载完成即替换掉缩略图，最终展示出该图的实际图片到主窗口中：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 150%; text-align: left; mso-outline-level: 2" align="left"><span lang="EN-US"><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"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"></v:path><o:lock v:ext="edit" aspectratio="t"></o:lock></v:shapetype><img height="726" alt="" src="http://silverfuture.cn/MyImages/100201/0.jpg" width="617" border="0" /></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt; line-height: 150%; text-align: left; mso-char-indent-count: 2.0; mso-outline-level: 2" align="left"><font face="Times New Roman"><st1:place w:st="on"><span lang="EN-US">Dee</span></st1:place><span lang="EN-US">pZoom</span></font><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">其实不也是类似的原理吗，当然，它的技术更加复杂些。讲到</span><span lang="EN-US"><font face="Times New Roman">DeepZoom</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，大家是否会联想到</span><span lang="EN-US"><font face="Times New Roman">Silverlight</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</span><span lang="EN-US"><font face="Times New Roman">DeepEarch</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">？开始有些觉醒啦</span><span lang="EN-US"><font face="Times New Roman">~</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">？不妨再看一图：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 150%; text-align: left; mso-outline-level: 2" align="left"><span lang="EN-US"><img height="426" alt="" src="http://silverfuture.cn/MyImages/100201/1.jpg" width="617" border="0" /></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 150%; text-align: left; mso-outline-level: 2" align="left"><span lang="EN-US"><span style="mso-spacerun: yes"><font face="Times New Roman">&nbsp;&nbsp;&nbsp; </font></span></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这是一张</span><span lang="EN-US"><font face="Times New Roman">Web RPG</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">游戏截图，模糊的区域即是还未加载的地图部分，一旦该区域图片被加载后，将被替换掉，类似这样的地图缓冲技术在很多领域得以应用，做法又是多种多样的，总的目的就是不失游戏趣味性与性能的前提下提升游戏的品质</span><span lang="EN-US"><font face="Times New Roman">~</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，在</span><span lang="EN-US"><font face="Times New Roman">Silverlight</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中该如何处理呢？说了这么多原理应该难不倒大家吧。</span><span lang="EN-US"><font face="Times New Roman">^ ^</font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt; line-height: 150%; text-align: left; mso-char-indent-count: 2.0; mso-outline-level: 2" align="left"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">游戏中一张缩略图能为三处所用，真乃物尽其用；另外的，大家是否还注意到了上图中那个叫&#8220;小海&#8221;的</span><span lang="EN-US"><font face="Times New Roman">NPC</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。由于他刚进入主角的视线范围，正处于素材下载阶段，因此显示的是一张透明的人偶图片；与地图一样，一旦该</span><span lang="EN-US"><font face="Times New Roman">NPC</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的素材图片下载完全后，它的真实图片将替换掉目前的图例：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 150%; text-align: left; mso-outline-level: 2" align="left"><span lang="EN-US"><img height="280" alt="" src="http://silverfuture.cn/MyImages/100201/2.jpg" width="550" border="0" /></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt; line-height: 150%; text-align: left; mso-char-indent-count: 2.0; mso-outline-level: 2" align="left"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这样做的好处可想而知，在游戏动态资源下载与游戏画面的展示方面进行平衡性处理，这就是</span><span lang="EN-US"><font face="Times New Roman">Web RPG</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">类型游戏设计的精髓所在。那么，要实现这样的技术前提必须是角色素材以整图的形式存在而不是小图，例如本教程前</span><span lang="EN-US"><font face="Times New Roman">40</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">节</span><span lang="EN-US"><font face="Times New Roman">WPF</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">部分的角色素材均使用的是整图，这样在</span><span lang="EN-US"><font face="Times New Roman">Silverlight</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中如需加载某角色时只需下载一张图片即可，而画面上的体现就如上图一般，仅仅在性能上有些缺点；而如果像本教程后</span><span lang="EN-US"><font face="Times New Roman">10</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">节那样一个角色使用</span><span lang="EN-US"><font face="Times New Roman">N</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">张小图，同样打算采用上述技术的话，实际中则会出现图片频繁闪烁现象，这将使游戏的体验性大打折扣。各有利弊，当然我更推荐前者，传统的做法是在不断探索中总结出来的规律，当然有它存在的深远意义。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21pt; line-height: 150%; mso-char-indent-count: 2.0; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">从</span><st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="23" month="5" year="2009"><span lang="EN-US"><font face="Times New Roman">2009</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">年</span><span lang="EN-US"><font face="Times New Roman">5</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">月</span><span lang="EN-US"><font face="Times New Roman">23</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">日</span></st1:chsdate><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">时至今日历时</span><span lang="EN-US"><font face="Times New Roman">8</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">个多月的教程编写即将画上句号，无所谓别离与感伤，我与朋友们一路谈笑风生走来，尽情的释放与宣泄着对</span><span lang="EN-US"><font face="Times New Roman">Silverlight</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">游戏开发的激情！从无知到慢慢的开始感兴趣，由兴趣转化为学习的动力，最终迸发出自身极限潜能</span><span lang="EN-US"><font face="Times New Roman"> -- </font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">与银光的完美融合。不知有多少朋友与我一样，一起走过了这段令人神往的旅程。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21pt; line-height: 150%; mso-char-indent-count: 2.0; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用</span><span lang="EN-US"><font face="Times New Roman">50</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">节来结束这部《</span><span lang="EN-US"><font face="Times New Roman">C#</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">开发</span><span lang="EN-US"><font face="Times New Roman">WPF/Silverlight</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">动画及游戏系列教程</span><span lang="EN-US"><font face="Times New Roman">(Game Tutorial)</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">》不多也不少了；前</span><span lang="EN-US"><font face="Times New Roman">30</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">节浅浅的，从一笔一画开始，没有过多的修饰却富含着深刻的体验与耐心，通过这</span><span lang="EN-US"><font face="Times New Roman">30</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">节，让我结识了现在群里诸多同样致力于</span><span lang="EN-US"><font face="Times New Roman">Silverlight</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">深度开发的高手，这是我一生的财富与荣幸，也是一份我倍感珍惜的缘分；后</span><span lang="EN-US"><font face="Times New Roman">20</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">节在大量的华丽中仍坚持着严谨，整个教程开始由算法向美工方向发展，我希望更多的向读者传达一些思想：</span><span lang="EN-US"><font face="Times New Roman">Silverlight</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">开发其实是算法、架构、美工与创意的完美结合，当这些元素水乳交融之时，奇迹将会诞生！</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21pt; line-height: 150%; mso-char-indent-count: 2.0; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是否仍有些遗憾？这是当然的。毕竟最初打算完成单机</span><span lang="EN-US"><font face="Times New Roman">RPG</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的所有功能的愿望未能实现，计划中还有诸如：任务系统、宠物系统、坐骑系统、物品掉落系统、消息提示系统、动态多国语言切换、怪物多类型攻击</span><span lang="EN-US"><font face="Times New Roman">(</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">人工智能</span><span lang="EN-US"><font face="Times New Roman">AI</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">进阶</span><span lang="EN-US"><font face="Times New Roman">)</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">、</span><span lang="EN-US"><font face="Times New Roman">Buff And DeBuff(</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">魔法附加属性及效果进阶</span><span lang="EN-US"><font face="Times New Roman">)</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">等功能模块还未能添加进引擎。个人业余时间实在有限，如要以记流水帐的方式将教程死皮赖脸的延续下去，我宁可就此打住。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21pt; line-height: 150%; mso-char-indent-count: 2.0; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">同样的原因导致由于教程后期对游戏引擎功能不断添加，无法对每次的需求增加进行有利的重构，至似现在的引擎结构比较混乱，这也是我打算结束这部教程的另一个因素；但这并不意味着终结，因为新的开始正在孕育，理想中那将是一个根基更深，更为强大，更趋于和谐的新的征程，我时刻准备着。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt; line-height: 150%; text-align: left; mso-char-indent-count: 2.0; mso-outline-level: 2" align="left"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">留给大家的一点点心意：本教程的</span><span lang="EN-US"><font face="Times New Roman"><a href="http://silverfuture.cn/MyImages/Source/Toturial.doc" target="_blank"><span lang="EN-US"><font face="Times New Roman">Word</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">文档</span></a></font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">（作者仍强烈建议大家以多看</span><span lang="EN-US"><font face="Times New Roman">Blog</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">为主，特别是每篇文章后的评论，往往谜底就孕育其中）。如果大家能从中体会到作者的用心良苦，我倍感欣慰。很多朋友曾质疑我写教程的目的，是否是微软的枪手亦或是有利可图？？这时常让我感到憋屈：作者</span><span lang="EN-US"><font face="Times New Roman">.net</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">技术真的很一般，你大可以理解教程中大量存在着用它人图片来美化自己的途径，更有高人察觉到些许的诈骗之嫌，也有朋友毫不吝惜的批判：传说中的深蓝色真的视金钱如粪土？？？如果论奉献是一种财富，感谢上帝，</span><span lang="EN-US"><font face="Times New Roman">I got it</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。我不是</span><span lang="EN-US"><font face="Times New Roman">21</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">世界的雷锋，但我一直信仰着一种精神！早已被中国</span><span lang="EN-US"><font face="Times New Roman">IT</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">界所遗忘的</span><span lang="EN-US"><font face="Times New Roman">Dark Blue Spirit --</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">通过毫不吝惜的努力去证实自身存在的价值的多方面体现：<span style="color: red">交流与共同提升</span>；与众高手相互切磋强过独自闭门造车千百倍。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt; line-height: 150%; text-align: left; mso-char-indent-count: 2.0; mso-outline-level: 2" align="left"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">回首，从</span><span lang="EN-US"><font face="Times New Roman">5</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">岁开始玩电子游戏，玩了</span><span lang="EN-US"><font face="Times New Roman">20</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">多年的游戏，从</span><span lang="EN-US"><font face="Times New Roman">FC</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">到</span><span lang="EN-US"><font face="Times New Roman">PC</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，从单机到网游，从日本</span><span lang="EN-US"><font face="Times New Roman">-</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">韩国</span><span lang="EN-US"><font face="Times New Roman">-</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">美国到中国，在我大学毕业前，只要你说的出名字的游戏我全玩过。依旧记得</span><span lang="EN-US"><font face="Times New Roman">19</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">岁那年，我在家玩英文版的《恶魔城》，做软件开发的姨父刚从美国回来探亲，我开玩笑的问他其中的一句对话翻译成中文是什么意思，出乎我意料，他口气很差的说：你这么喜欢玩游戏，干嘛不自己做一个？一句话缔造了现在的这部教程。一个小肚鸡肠的人时刻铭记着自己的理想与信念，他无时不在渴望着去制作一款属于自己的游戏，感谢这</span><span lang="EN-US"><font face="Times New Roman">20</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">年的游戏史让他爆发出如此汹涌澎湃的小宇宙。这辈子不再期盼还能为这花花世界创造出啥子奇迹；但求能为大家，为无限热爱的中国那可爱又可狠的</span><span lang="EN-US"><font face="Times New Roman">IT</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">界贡献一份微薄之力，足以</span><span lang="EN-US"><font face="Times New Roman">&#8230;&#8230;</font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt; line-height: 150%; text-align: left; mso-char-indent-count: 2.0; mso-outline-level: 2" align="left"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">感慨，在人生前进的道路中谁不曾迷茫过，当今中国的大学生为什么总感觉在这社会中找不到自己的定位？寒窗十数载到底学到了什么？你对自己真的了解吗？你是否有察觉到了自己身体中与众不同的东西在蠢蠢欲动？是的，那才是你的价值，冲动创造魔鬼，懦弱与逃避是背叛历史，惟有理想与信念才能铸就永恒。我一直对我的学生说，不要用你的软肋去就业，释放你引以为豪的专长，前途一片光明！！</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt; line-height: 150%; text-align: left; mso-char-indent-count: 2.0; mso-outline-level: 2" align="left"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">前些天收到了</span><span lang="EN-US"><a href="http://ria.dzone.com/articles/net-fireside-chats-microsofts" target="_blank"><font face="Times New Roman">Chris Swenson</font></a></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">写来的一封电子邮件，虽然很简短，但是字里行间无处不体现微软</span><span lang="EN-US"><font face="Times New Roman">Silverlight</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">开发团队已高度迫切的注意到了</span><span lang="EN-US"><font face="Times New Roman">Silverlight</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在开发大型网络游戏方面的巨大潜力与商机！我很兴奋，这是机遇呀，于是我第一时间回复了他：在中国，据我了解，已经有很多公司正在从事或在今年即将打算从事</span><span lang="EN-US"><font face="Times New Roman">Silverlight</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">方面的游戏开发，对于使用</span><span lang="EN-US"><font face="Times New Roman">Silverlight</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这样新兴技术，用于有如此庞大潜力市场的领域，在中国，乃至世界上都前所未有！但是我们做到了，因为我们一直坚信微软能将</span><span lang="EN-US"><font face="Times New Roman">Silverlight4</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">乃至后面的版本做得更好，强大的后盾让我们义无返顾。如果能让我提个意见的话，那就是快些，快些，再快些，让渲染来得更猛烈些吧！！</span><span lang="EN-US"><font face="Times New Roman">2D</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">仅仅只是个开始，玩转</span><span lang="EN-US"><font face="Times New Roman">3D -- </font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">我虔诚的期待着某天</span><span lang="EN-US"><font face="Times New Roman">Silverlight</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">将引领世界</span><span lang="EN-US"><font face="Times New Roman">RIA</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的革命风暴！这是我们所有</span><span lang="EN-US"><font face="Times New Roman">Silverlight</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">爱好者共同的梦想！</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt; line-height: 150%; text-align: left; mso-char-indent-count: 2.0; mso-outline-level: 2" align="left"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">遥远的彼岸一道新的曙光已悄然浮现，深深的遥望......</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt; line-height: 150%; text-align: left; mso-char-indent-count: 2.0; mso-outline-level: 2" align="left"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">所有源码请到<a href="http://www.cnblogs.com/alamiye010/archive/2009/06/17/1505346.html" target="_blank">目录</a>中下载，在线演示地址：</span><span lang="EN-US"><a href="http://silverfuture.cn/" target="_blank"><font face="Times New Roman">http://silverfuture.cn</font></a></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span lang="EN-US">（<strong>教程完</strong>)</span></span></p>
<div class="MySign">
<div class="MyImage"><img alt="WPF/Silverlight" src="http://silverfuture.cn/MyImages/sl.jpg" /></div>
<div>作者：<a href="http://alamiye010.cnblogs.com/" target="_blank">深蓝色右手</a><br />出处：<a href="http://alamiye010.cnblogs.com/" target="_blank">http://alamiye010.cnblogs.com/</a><br />教程目录及源码下载：<a href="http://www.cnblogs.com/alamiye010/archive/2009/06/17/1505346.html" target="_blank">点击进入</a>(<a href="http://space.cnblogs.com/group/WPF_SL/" target="_blank">欢迎加入WPF/Silverlight小组</a>　<a href="http://wpf_sl.cnblogs.com/" target="_blank">WPF/Silverlight博客团队</a>)<br />本文版权归作者和博客园共有，欢迎转载。但未经作者同意必须保留此段声明，且在文章页面显著位置给出原文连接，否则保留追究法律责任的权利。 </div></div><img src="http://www.cnblogs.com/alamiye010/aggbug/1660693.html?type=1" width="1" height="1" alt=""/><p>评论: 29　<a href="http://www.cnblogs.com/alamiye010/archive/2010/02/01/1660693.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/alamiye010/archive/2010/02/01/1660693.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56815/" target="_blank">李开复创新工场发展基金曝光 首单投移动互联</a><span style="color:gray">(2010-02-10 11:28)</span><br/>· <a href="http://news.cnblogs.com/n/56814/" target="_blank">Sun前CEO欲写自传 称经济危机是Sun被购主因</a><span style="color:gray">(2010-02-10 11:25)</span><br/>· <a href="http://news.cnblogs.com/n/56812/" target="_blank">Google社会化产品Buzz发布会实录</a><span style="color:gray">(2010-02-10 11:15)</span><br/>· <a href="http://news.cnblogs.com/n/56813/" target="_blank">福布斯：苹果生态产业链上的十大企业</a><span style="color:gray">(2010-02-10 11:14)</span><br/>· <a href="http://news.cnblogs.com/n/56811/" target="_blank">纽约时报：Google凭借Buzz进军社交网络</a><span style="color:gray">(2010-02-10 10:59)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56812/" target="_blank">Google社会化产品Buzz发布会实录</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial)：(四十九) 落雷！治疗！陷阱！连锁闪电！多段群伤！魔法之终极五重奏②</title><link>http://www.cnblogs.com/alamiye010/archive/2010/01/18/1650787.html</link><dc:creator>深蓝色右手</dc:creator><author>深蓝色右手</author><pubDate>Mon, 18 Jan 2010 07:44:00 GMT</pubDate><guid>http://www.cnblogs.com/alamiye010/archive/2010/01/18/1650787.html</guid><description><![CDATA[<p>阅读: 2905 评论: 41 作者: <a href="http://www.cnblogs.com/alamiye010/" target="_blank">深蓝色右手</a> 发表于 2010-01-18 15:44 <a href="http://www.cnblogs.com/alamiye010/archive/2010/01/18/1650787.html" target="_blank">原文链接</a></p><p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">本节，我将完成本教程示例游戏的最终两个魔法：传说中的连锁闪电与暴风雪。如此经典与华丽的家伙无论在哪款好游戏中都少不了它们的踪影。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">首先是连锁闪电，在《英雄无敌》中体现得尤为出色，击中一个怪物后，闪电会继续向它周围延续，连锁到下一个怪物并对其进行第二次攻击，接着重复前面步骤往周围延续，直到次数达到连锁次数上限或周围已没有其他怪物为止。当然，每一次攻击产生的伤害及附加属性都会少于前一次，例如在本教程示例游戏中，我将连锁闪电设定为每一级连锁攻击力都较头一次减半，且附加麻痹属性的时间也减半，这些数据均记录在</span><span lang="EN-US"><font face="Times New Roman">Config.xml</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">魔法配置文件中，非常有意思，大家可以通过</span><span lang="EN-US" style="font-size: 9pt; color: red; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">AffectedNum</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">来自由设定不同等级能连锁的次数上限，例如</span><span lang="EN-US"><font face="Times New Roman">3</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">级连锁闪电可最多</span><span lang="EN-US"><font face="Times New Roman">3</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">次连锁等等：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Level</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> </span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Value</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">=</span><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">"<span style="color: blue">3</span>"<span style="color: blue"> </span><span style="color: red">ATK</span><span style="color: blue">=</span>"<span style="color: blue">380</span>"<span style="color: blue"> </span><span style="color: red">Consumption</span><span style="color: blue">=</span>"<span style="color: blue">20</span>"<span style="color: blue"> </span><span style="color: red">AdditionalEffect</span><span style="color: blue">=</span>"<span style="color: blue">90</span>"<span style="color: blue"> </span><span style="color: red">AdditionalEffectTime</span><span style="color: blue">=</span>"<span style="color: blue">8</span>"<span style="color: blue"> </span><span style="color: red">AffectedNum</span><span style="color: blue">=</span>"<span style="color: blue">3</span>"<span style="color: blue">/&gt;<o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">那么在</span><span lang="EN-US"><font face="Times New Roman">Silverlight</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中我们是如何进行这些连锁处理的呢？其实我们可以把整个释法过程分成</span><span lang="EN-US"><font face="Times New Roman">3</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">个步骤，第一步，捕捉要攻击对象及其周围在连锁闪电攻击半径</span><span lang="EN-US" style="font-size: 9pt; color: red; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Radius</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">内小于或等于</span><span lang="EN-US" style="font-size: 9pt; color: red; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">AffectedNum</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的敌对精灵对象，放入一个</span><span lang="EN-US" style="font-size: 9pt; color: #2b91af; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">List</span><span lang="EN-US" style="font-size: 9pt; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;<span style="color: #2b91af">QXSprite</span>&gt;</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中</span><span lang="EN-US"><font face="Times New Roman">(</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">其中第一个即为被鼠标点中的攻击对象</span><span lang="EN-US"><font face="Times New Roman">)</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">；第二步，类似</span><span lang="EN-US"><a href="http://www.cnblogs.com/alamiye010/archive/2010/01/12/1644749.html" target="_blank"><span lang="EN-US" style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><span lang="EN-US">第四<span lang="EN-US">十七节</span></span></span></a></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中的单体飞行魔法原理，通过</span><span lang="EN-US"><font face="Times New Roman">Storyboard</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">创建飞行动画，并在动画</span><span lang="EN-US"><font face="Times New Roman">Completed</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">事件时触发对第一个怪物的第一次伤害；第三步，以该怪物中心为起点，再次创建</span><span lang="EN-US"><font face="Times New Roman">Storyboard</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">飞行动画，将魔法飞行到</span><span lang="EN-US" style="font-size: 9pt; color: #2b91af; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">List</span><span lang="EN-US" style="font-size: 9pt; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;<span style="color: #2b91af">QXSprite</span>&gt;</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中的第二个怪物中心，并触发连锁闪电的第二次攻击，后面的依次类推，直到连锁完成</span><span lang="EN-US"><font face="Times New Roman">(</font></span><span lang="EN-US" style="font-size: 9pt; color: #2b91af; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">List</span><span lang="EN-US" style="font-size: 9pt; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;<span style="color: #2b91af">QXSprite</span>&gt;</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中所有对象均伤害一次</span><span lang="EN-US"><font face="Times New Roman">)</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US"><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"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"></v:path><o:lock v:ext="edit" aspectratio="t"></o:lock></v:shapetype><img height="218" alt="" src="http://silverfuture.cn/MyImages/100118/0.jpg" width="286" border="0" /></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US"></span>&nbsp;</p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US"><img height="393" alt="" src="http://silverfuture.cn/MyImages/100118/1.jpg" width="486" border="0" /></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">接下来是暴风雪，就好比《传奇》中的火墙，它的大致原理类似本教程中的群攻魔法，不同的是它的伤害性质为多段的，即该魔法将一直循环播放，不同等级的暴风雪持续时间不同，例如我将</span><span lang="EN-US"><font face="Times New Roman">9</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">级暴风雪持续时间设置为</span><span lang="EN-US"><font face="Times New Roman">7000</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">毫秒：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US" style="font-size: 9pt; color: blue; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Level</span><span lang="EN-US" style="font-size: 9pt; color: blue; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> </span><span lang="EN-US" style="font-size: 9pt; color: red; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Value</span><span lang="EN-US" style="font-size: 9pt; color: blue; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">=</span><span lang="EN-US" style="font-size: 9pt; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">"<span style="color: blue">9</span>"<span style="color: blue"> </span><span style="color: red">ATK</span><span style="color: blue">=</span>"<span style="color: blue">150</span>"<span style="color: blue"> </span><span style="color: red">Consumption</span><span style="color: blue">=</span>"<span style="color: blue">100</span>"<span style="color: blue"> </span><span style="color: red">AdditionalEffect</span><span style="color: blue">=</span>"<span style="color: blue">280</span>"<span style="color: blue"> </span><span style="color: red">AdditionalEffectTime</span><span style="color: blue">=</span>"<span style="color: blue">4</span>"<span style="color: blue"> </span><span style="color: red">AffectedNum</span><span style="color: blue">=</span>"<span style="color: blue">7000</span>"<span style="color: blue">/&gt;</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21pt; line-height: 150%; mso-outline-level: 2; mso-char-indent-count: 2.0"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">只要进入该魔法攻击范围内的所有敌对精灵均会遭受伤害，伤害间隔可以通过参数来设定，这里我设置为每间隔</span><span lang="EN-US"><font face="Times New Roman">600</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">毫秒定值进行一次伤害：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">if</span><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> (totalTime &gt; AffectedNum) {<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>Timer.Tick -= Timer_Tick;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span><span style="color: #2b91af">Super</span>.RemoveObject(<span style="color: blue">this</span>, <span style="color: blue">true</span>);<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">} <span style="color: blue">else</span> {<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span><span style="color: blue">if</span> (totalTime == 0) { <span style="color: #2b91af">Super</span>.DoInjure(<span style="color: blue">this</span>); }<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>totalTime += TimerInterval.Milliseconds;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp; </span><span style="mso-spacerun: yes">&nbsp;</span><span style="mso-spacerun: yes">&nbsp;</span>count += TimerInterval.Milliseconds;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue">if</span> (count &gt;= 600) {<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #2b91af">Super</span>.DoInjure(<span style="color: blue">this</span>);<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span><span style="mso-spacerun: yes">&nbsp;</span>count = count - 600;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">}<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在本教程示例游戏中，暴风雪附加的是冰冻效果，由于我并未为系统加入魔法命中率及附加效果命中率系统，因此只要被该魔法击中基本上怪物只有死路一条，嘿嘿。实际制作中该类型魔法应该尽量少的附加效果，或者加入低附加效果命中，游戏才会更具趣味性，尤其在</span><span lang="EN-US"><font face="Times New Roman">PK</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US"><img height="218" alt="" src="http://silverfuture.cn/MyImages/100118/2.jpg" width="286" border="0" /></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US"></span>&nbsp;</p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US"><img height="393" alt="" src="http://silverfuture.cn/MyImages/100118/3.jpg" width="486" border="0" /></span><strong><span lang="EN-US" style="font-size: 11.5pt; color: #006699; line-height: 150%; font-family: Verdana; mso-font-kerning: 18.0pt"><o:p></o:p></span></strong></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">魔法类型其实还有很多，本教程中的魔法类型基本上已经囊括了目前市面上游戏中的大多数种类，其他的如全屏魔法，联协魔法，镜象魔法等等更多高级的魔法大家可以自行尝试制作，游戏开发不需要拘泥于传统，新奇的事物更能吸引玩家的注意与兴趣。还是回到创新这个词上，有创意的事物都会体现出鲜活的生命力，它是进步的象征，将驱动一切的前进。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">到此为止，完成了本教程物理攻击及魔法的所有设计与制作。由于此引擎设计之初就是为了配合教程教学的，因此功能模块都是时时的不断添加更新，代码难免有些丑陋，同时也少不了面向过程的内容与高耦合度。希望大家还是以理解为主，思想是一切的根源嘛。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">最后感谢朋友们长期以来对我的支持，我一直在期待</span><span lang="EN-US"><font face="Times New Roman">Silverlight4</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的降临，到时我将为此引擎重新来过，让其完全的面向对象，减少初级的成分，让朋友们都能参与到设计中来，一同体验一同进步。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">当脑海中时常浮现未来的景色，那么，离它已不再遥远了。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"></span><strong><span lang="EN-US" style="font-size: 11.5pt; color: #006699; line-height: 150%; font-family: Verdana; mso-font-kerning: 18.0pt"><o:p><span style="font-size: 10pt; color: #000000; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">本节源码请到目录中下载，在线演示地址：</span><span lang="EN-US"><a href="http://silverfuture.cn/" target="_blank"><font face="Times New Roman" color="#1848b9">http://silverfuture.cn</font></a></span></o:p></span></strong></p>
<div class="MySign">
<div class="MyImage"><img alt="WPF/Silverlight" src="http://silverfuture.cn/MyImages/sl.jpg" /></div>
<div>作者：<a href="http://alamiye010.cnblogs.com/" target="_blank">深蓝色右手</a><br />出处：<a href="http://alamiye010.cnblogs.com/" target="_blank">http://alamiye010.cnblogs.com/</a><br />教程目录及源码下载：<a href="http://www.cnblogs.com/alamiye010/archive/2009/06/17/1505346.html" target="_blank">点击进入</a>(<a href="http://space.cnblogs.com/group/WPF_SL/" target="_blank">欢迎加入WPF/Silverlight小组</a>　<a href="http://wpf_sl.cnblogs.com/" target="_blank">WPF/Silverlight博客团队</a>)<br />本文版权归作者和博客园共有，欢迎转载。但未经作者同意必须保留此段声明，且在文章页面显著位置给出原文连接，否则保留追究法律责任的权利。 </div></div><img src="http://www.cnblogs.com/alamiye010/aggbug/1650787.html?type=1" width="1" height="1" alt=""/><p>评论: 41　<a href="http://www.cnblogs.com/alamiye010/archive/2010/01/18/1650787.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/alamiye010/archive/2010/01/18/1650787.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56815/" target="_blank">李开复创新工场发展基金曝光 首单投移动互联</a><span style="color:gray">(2010-02-10 11:28)</span><br/>· <a href="http://news.cnblogs.com/n/56814/" target="_blank">Sun前CEO欲写自传 称经济危机是Sun被购主因</a><span style="color:gray">(2010-02-10 11:25)</span><br/>· <a href="http://news.cnblogs.com/n/56812/" target="_blank">Google社会化产品Buzz发布会实录</a><span style="color:gray">(2010-02-10 11:15)</span><br/>· <a href="http://news.cnblogs.com/n/56813/" target="_blank">福布斯：苹果生态产业链上的十大企业</a><span style="color:gray">(2010-02-10 11:14)</span><br/>· <a href="http://news.cnblogs.com/n/56811/" target="_blank">纽约时报：Google凭借Buzz进军社交网络</a><span style="color:gray">(2010-02-10 10:59)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56812/" target="_blank">Google社会化产品Buzz发布会实录</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial)：(四十八) 落雷！治疗！陷阱！连锁闪电！多段群伤！魔法之终极五重奏①</title><link>http://www.cnblogs.com/alamiye010/archive/2010/01/15/1648659.html</link><dc:creator>深蓝色右手</dc:creator><author>深蓝色右手</author><pubDate>Fri, 15 Jan 2010 08:20:00 GMT</pubDate><guid>http://www.cnblogs.com/alamiye010/archive/2010/01/15/1648659.html</guid><description><![CDATA[<p>阅读: 1857 评论: 16 作者: <a href="http://www.cnblogs.com/alamiye010/" target="_blank">深蓝色右手</a> 发表于 2010-01-15 16:20 <a href="http://www.cnblogs.com/alamiye010/archive/2010/01/15/1648659.html" target="_blank">原文链接</a></p><p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">&nbsp;&nbsp;&nbsp; 是否还记得《传奇》里那一道道从天而降落的闪电，《笑傲江湖网络版》中娥眉救死扶伤的治疗，《剑侠世界》里五毒神出鬼没般的陷阱，《英雄无敌》中超经典的连锁闪电以及《魔兽争霸》的法师终极大魔法</span><span lang="EN-US"><font face="Times New Roman">-</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">暴风雪。这些家伙都曾在当年的玩家们心中打下过深深的烙印，如能将此些经典之作添加进游戏中，毫无疑问必会大幅提升游戏的华丽度与趣味性，战斗不就涂个爽快吗？这才是魔法的终极魅力！</span><strong><span lang="EN-US" style="font-size: 11.5pt; color: #006699; line-height: 150%; font-family: Verdana; mso-font-kerning: 18.0pt"><o:p></o:p></span></strong></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">首先来看闪电</span><span lang="EN-US"><font face="Times New Roman">(</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">落雷类型</span><span lang="EN-US"><font face="Times New Roman">)</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">魔法的制作。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">从天而降，单体伤害，给予目标麻痹附加效果。与上一节的单体飞行魔法不同的是，施放就好比</span><span lang="EN-US"><a href="http://www.cnblogs.com/alamiye010/archive/2009/09/09/1563471.html" target="_blank"><span lang="EN-US" style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><span lang="EN-US">第<span lang="EN-US">三十二<span lang="EN-US">节</span></span></span></span></a></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中的群攻魔法，瞬间从目标点出现，并于起效帧时触发伤害，攻击对象为单体，算比较简单且实用的魔法之一。实际游戏制作中的瞬发型单体魔法并非只有闪电，可以说几乎所有游戏中的基础系魔法均可从此类型衍生出来，比如《三国群英传》中的地矛等：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US"><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"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"></v:path><o:lock v:ext="edit" aspectratio="t"></o:lock></v:shapetype><img height="124" alt="" src="http://silverfuture.cn/MyImages/100115/0.jpg" width="305" border="0" /></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US"></span>&nbsp;</p><strong><span lang="EN-US" style="font-size: 11.5pt; color: #006699; line-height: 150%; font-family: Verdana; mso-font-kerning: 18.0pt"><o:p></o:p></span></strong>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><strong><span lang="EN-US" style="font-size: 11.5pt; color: #006699; line-height: 150%; font-family: Verdana; mso-font-kerning: 18.0pt"><img height="336" alt="" src="http://silverfuture.cn/MyImages/100115/1.jpg" width="423" border="0" /><o:p></o:p></span></strong></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">接下来是单体治疗类型魔法，由于本教程示例游戏是单机的，因此我将此治疗魔法设定为可以对任意对象进行加血操作以展示其灵活性。治疗魔法的原理就好比落雷，仅仅不同的是它所产生的效果是加血而不是伤血，实际制作中可以将它们归为一类，处理伤害时通过</span><span lang="EN-US"><font face="Times New Roman">+-</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">来判断完成即可，同时拓展衍生一下，群体加血不就是将群攻魔法进行反向即减血操作便可，其实魔法设计是有规可寻的，为要</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">别因为那些魔法表现得花花绿绿五花八门而无从下手，当你从中抽离出规律时，一切就简单多了：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><strong><span lang="EN-US" style="font-size: 11.5pt; color: #006699; line-height: 150%; font-family: Verdana; mso-font-kerning: 18.0pt"><img height="124" alt="" src="http://silverfuture.cn/MyImages/100115/2.jpg" width="305" border="0" /></span></strong></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><strong><span lang="EN-US" style="font-size: 11.5pt; color: #006699; line-height: 150%; font-family: Verdana; mso-font-kerning: 18.0pt"><o:p></o:p></span></strong>&nbsp;</p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><strong><span lang="EN-US" style="font-size: 11.5pt; color: #006699; line-height: 150%; font-family: Verdana; mso-font-kerning: 18.0pt"><img height="336" alt="" src="http://silverfuture.cn/MyImages/100115/3.jpg" width="423" border="0" /><o:p></o:p></span></strong></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">再下来是陷阱类型魔法，在《暗黑破坏神》和《剑侠世界》等游戏中均有很不错的表现，本节中我借用《剑侠世界》的素材来制作陷阱。别看实际使用时是那么的牛</span><span lang="EN-US"><font face="Times New Roman">X</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，制作时却需要考虑挺多的因素；例如每个角色能同时拥有几个陷阱在地图中；陷阱如一直未被触发那么它的消失时间是多长；陷阱是相对于敌对精灵不可见，而非敌对玩家则以半透明的形式出现；陷阱有一定的作用范围，当埋设后并不产生伤害，只有当敌对精灵进入该范围内时才触发伤害，并出现陷阱被触发的新动画以及对该精灵进行附加效果如中毒等处理。在本示例教程中，我仅仅以简化的方式实现了类似的陷阱：一个精灵只允许同时拥有一个陷阱，且如果该陷阱不被触发或不去施放新的陷阱则一直存在：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US"><img height="124" alt="" src="http://silverfuture.cn/MyImages/100115/4.jpg" width="305" border="0" /></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US"></span>&nbsp;</p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US"><img height="318" alt="" src="http://silverfuture.cn/MyImages/100115/5.jpg" width="700" border="0" /></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">更精彩的还在下一节，连锁闪电那可是《英雄无敌》的招牌，不同级别的连锁闪电可以连锁的敌人个数不同，作者用&#8220;酷毙了&#8221;去形容它仍觉得尚欠火候，想看吗？敬请关注。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">本节源码请到目录中下载，在线演示地址：</span><span lang="EN-US"><a href="http://silverfuture.cn/" target="_blank"><font face="Times New Roman">http://silverfuture.cn</font></a></span></p>
<div class="MySign">
<div class="MyImage"><img alt="WPF/Silverlight" src="http://silverfuture.cn/MyImages/sl.jpg" /></div>
<div>作者：<a href="http://alamiye010.cnblogs.com/" target="_blank">深蓝色右手</a><br />出处：<a href="http://alamiye010.cnblogs.com/" target="_blank">http://alamiye010.cnblogs.com/</a><br />教程目录及源码下载：<a href="http://www.cnblogs.com/alamiye010/archive/2009/06/17/1505346.html" target="_blank">点击进入</a>(<a href="http://space.cnblogs.com/group/WPF_SL/" target="_blank">欢迎加入WPF/Silverlight小组</a>　<a href="http://wpf_sl.cnblogs.com/" target="_blank">WPF/Silverlight博客团队</a>)<br />本文版权归作者和博客园共有，欢迎转载。但未经作者同意必须保留此段声明，且在文章页面显著位置给出原文连接，否则保留追究法律责任的权利。 </div></div><img src="http://www.cnblogs.com/alamiye010/aggbug/1648659.html?type=1" width="1" height="1" alt=""/><p>评论: 16　<a href="http://www.cnblogs.com/alamiye010/archive/2010/01/15/1648659.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/alamiye010/archive/2010/01/15/1648659.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56815/" target="_blank">李开复创新工场发展基金曝光 首单投移动互联</a><span style="color:gray">(2010-02-10 11:28)</span><br/>· <a href="http://news.cnblogs.com/n/56814/" target="_blank">Sun前CEO欲写自传 称经济危机是Sun被购主因</a><span style="color:gray">(2010-02-10 11:25)</span><br/>· <a href="http://news.cnblogs.com/n/56812/" target="_blank">Google社会化产品Buzz发布会实录</a><span style="color:gray">(2010-02-10 11:15)</span><br/>· <a href="http://news.cnblogs.com/n/56813/" target="_blank">福布斯：苹果生态产业链上的十大企业</a><span style="color:gray">(2010-02-10 11:14)</span><br/>· <a href="http://news.cnblogs.com/n/56811/" target="_blank">纽约时报：Google凭借Buzz进军社交网络</a><span style="color:gray">(2010-02-10 10:59)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56812/" target="_blank">Google社会化产品Buzz发布会实录</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial)：(四十七)远距离单体攻击与单体魔法</title><link>http://www.cnblogs.com/alamiye010/archive/2010/01/12/1644749.html</link><dc:creator>深蓝色右手</dc:creator><author>深蓝色右手</author><pubDate>Tue, 12 Jan 2010 03:29:00 GMT</pubDate><guid>http://www.cnblogs.com/alamiye010/archive/2010/01/12/1644749.html</guid><description><![CDATA[<p>阅读: 1964 评论: 21 作者: <a href="http://www.cnblogs.com/alamiye010/" target="_blank">深蓝色右手</a> 发表于 2010-01-12 11:29 <a href="http://www.cnblogs.com/alamiye010/archive/2010/01/12/1644749.html" target="_blank">原文链接</a></p><p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">到目前为止，主角能使用的魔法均为群攻型魔法，群攻魔法的原理相对简单，常见如圆形范围，矩形范围，扇形范围等等，当魔法释放后可以按照本教程的做法对所有坐标处于相应范围内的怪物进行伤害处理，这是直观的处理方式；如果你最求更专业的，可以通过创建一个新的数组副本来记录伤害坐标是否与怪物所处的坐标匹配从而进行相应处理。至于单体魔法呢？它虽然没有群攻华丽的外表，可是实际制作中却需要考虑许多额外的问题。那么本节我将就上一节遗留下来的远距离单体攻击及单体魔法的简明制作原理及的异同进行讲解。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">上一节主角会飞了，手上拿着弓很是得意，可是每次攻击时都不会有箭支射出，该如何添加飞箭效果到游戏中呢？</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">首先准备素材：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US"><v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype><img height="122" alt="" src="http://silverfuture.cn/MyImages/100112/0.jpg" width="613" border="0" /></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">没错，就</span><span lang="EN-US"><font face="Times New Roman">5</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">张，如果你觉得还多了随便取其中一张就</span><span lang="EN-US"><font face="Times New Roman">OK</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">了。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">读者：</span><span lang="EN-US"><font face="Times New Roman">1</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">张？有没搞错？人家《剑侠世界》里起码</span><span lang="EN-US"><font face="Times New Roman">88</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">张</span><span lang="EN-US"><font face="Times New Roman">&#8230;</font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">作者：有看过教程</span><span lang="EN-US"><a href="http://www.cnblogs.com/alamiye010/archive/2009/11/03/1595207.html" target="_blank"><span lang="EN-US" style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><span lang="EN-US">第</span></span><font face="Times New Roman">40</font><span lang="EN-US" style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><span lang="EN-US">节</span></span></a></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的朋友都知道，本教程示例游戏中的极光魔法素材也仅用了</span><span lang="EN-US"><font face="Times New Roman">8</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">张，通过旋转变换后即可实现</span><span lang="EN-US"><font face="Times New Roman">360</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">度的任意变换。如此处理的目的是为了大量减少素材体积，从而区分出</span><span lang="EN-US"><font face="Times New Roman">C/S</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">与</span><span lang="EN-US"><font face="Times New Roman">B/S</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">游戏的设计区别。很多朋友经常会误解</span><span lang="EN-US"><font face="Times New Roman">WEB</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">游戏的整体容量其实和客户端游戏是相当的，区别仅仅是前者会将素材按需下载而不像后者一次性加载。这里我想明确的告诉大家，</span><span lang="EN-US"><font face="Times New Roman">Web</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">游戏在素材的重用上，素材的处理方面应该做到精简而不失优雅与平滑，这是</span><span lang="EN-US"><font face="Times New Roman">Web</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">游戏开发人员都必须遵循的准则，也是</span><span lang="EN-US"><font face="Times New Roman">Web</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">游戏设计的精髓所在。如果还是无法理解，且往下看。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这把飞箭来在实际中的旋转可以参考第</span><span lang="EN-US"><font face="Times New Roman">40</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">节中的极光魔法处理，但同时又有些许的不同：极光魔法是不动的，当播放完所有帧后即消失；而飞箭是运动的，从主角的手中飞出，消失于敌人中心。此时，我选择通过类型为</span><span lang="EN-US" style="font-size: 9pt; color: #2b91af; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">DecorationTypes</span><span lang="EN-US" style="font-size: 9pt; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">.Loop</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</span><span lang="EN-US" style="font-size: 9pt; color: #2b91af; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">QXDecoration</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">创建飞箭实体，当精灵远距离攻击时，创建对象并进行相应旋转，最后为其添加一个</span><span lang="EN-US" style="font-size: 9pt; color: #2b91af; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Storyboard</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">飞行动画，并注册</span><span lang="EN-US"><font face="Times New Roman">storyboard.Completed</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">事件当动画播放完后</span><span lang="EN-US"><font face="Times New Roman">(</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">即到达敌人中心时</span><span lang="EN-US"><font face="Times New Roman">)</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">才清除掉该对象，关键代码如下：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: green; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">//</span><span style="font-size: 9pt; color: green; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">假如是远距离攻击<span lang="EN-US">,</span>则射放出相应的对象<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">if</span><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> (LongDistanceAttack) {<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp; </span><span style="mso-spacerun: yes">&nbsp;</span><span style="color: #2b91af">QXDecoration</span> ammunition = <span style="color: blue">new</span> <span style="color: #2b91af">QXDecoration</span>() {<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>Code = 7,<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp; </span><span style="mso-spacerun: yes">&nbsp;</span>EndFrame = 4,<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>BodyWidth = 80,<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>BodyHeight = 29,<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>CenterX = 40,<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>CenterY = 15,<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>Coordinate = <span style="color: blue">new</span> <span style="color: #2b91af">Point</span>(<span style="color: blue">this</span>.Coordinate.X, <span style="color: blue">this</span>.Coordinate.Y - 40),<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>DecorationType = <span style="color: #2b91af">DecorationTypes</span>.Loop,<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 18pt; text-align: left; mso-layout-grid-align: none; mso-char-indent-count: 2.0" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">};<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 18pt; text-align: left; mso-layout-grid-align: none; mso-char-indent-count: 2.0" align="left"><span lang="EN-US" style="font-size: 9pt; color: green; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">//</span><span style="font-size: 9pt; color: green; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">旋转</span><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>ammunition.RenderTransform = <span style="color: blue">new</span> <span style="color: #2b91af">RotateTransform</span>() {<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp; </span><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="mso-spacerun: yes">&nbsp;</span>CenterX = ammunition.CenterX,<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp; </span><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="mso-spacerun: yes">&nbsp;</span>CenterY = ammunition.CenterY,<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp; </span><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="mso-spacerun: yes">&nbsp;</span>Angle = <span style="color: #2b91af">Super</span>.GetAngle(enemy.Coordinate.Y - <span style="color: blue">this</span>.Coordinate.Y, enemy.Coordinate.X - <span style="color: blue">this</span>.Coordinate.X)<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 18pt; text-align: left; mso-layout-grid-align: none; mso-char-indent-count: 2.0" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">};<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp; </span><span style="mso-spacerun: yes">&nbsp;</span><span style="color: blue">this</span>.ParentCanvas.Children.Add(ammunition);<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span><span style="color: green">//</span></span><span style="font-size: 9pt; color: green; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">向目标移动<span lang="EN-US">,</span>当到达后消失<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp; </span><span style="mso-spacerun: yes">&nbsp;</span><span style="color: #2b91af">Super</span>.MoveToTarget(ammunition, ammunition.Coordinate, <span style="color: blue">new</span> <span style="color: #2b91af">Point</span>(enemy.Coordinate.X, enemy.Coordinate.Y - ammunition.CenterY), 1, 1, 1);<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US" style="font-size: 9pt; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">}</span><strong><span lang="EN-US" style="font-size: 11.5pt; color: #006699; line-height: 150%; font-family: Verdana; mso-font-kerning: 18.0pt"><o:p></o:p></span></strong></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US"><span style="mso-spacerun: yes"><font face="Times New Roman">&nbsp;&nbsp;&nbsp; </font></span></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">其中</span><span lang="EN-US" style="font-size: 9pt; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">MoveToTarget</span><span style="font-size: 9pt; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">飞行方法为：</span><strong><span lang="EN-US" style="font-size: 11.5pt; color: #006699; line-height: 150%; font-family: Verdana; mso-font-kerning: 18.0pt"><o:p></o:p></span></strong></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: gray">///</span><span style="color: green"> </span><span style="color: gray">&lt;summary&gt;<o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: gray">///</span><span style="color: green"> </span></span><span style="font-size: 9pt; color: green; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">向目标移动<span lang="EN-US">,</span>当到达后消失<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: gray">///</span><span style="color: green"> </span><span style="color: gray">&lt;/summary&gt;<o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue">public</span> <span style="color: blue">static</span> <span style="color: blue">void</span> MoveToTarget(</span><span lang="EN-US" style="font-size: 9pt; mso-ascii-font-family: 新宋体; mso-fareast-font-family: 新宋体; mso-font-kerning: 0pt; mso-no-proof: yes"><font face="Times New Roman">&#8230;&#8230;</font></span><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">) {<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #2b91af">Storyboard</span> storyboard = <span style="color: blue">new</span> <span style="color: #2b91af">Storyboard</span>();<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>storyboard.Completed += (s, e) =&gt; {<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>RemoveObject(obj, <span style="color: blue">true</span>);<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>};<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #2b91af">PointAnimation</span> pointAnimation = <span style="color: blue">new</span> <span style="color: #2b91af">PointAnimation</span>() {<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>To = end,<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Duration = <span style="color: blue">new</span> <span style="color: #2b91af">Duration</span>(<span style="color: #2b91af">TimeSpan</span>.FromMilliseconds(GetAnimationTimeConsuming(start, end, zoomX, zoomY, unitCost)))<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>};<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #2b91af">Storyboard</span>.SetTarget(pointAnimation, obj <span style="color: blue">as</span> <span style="color: #2b91af">DependencyObject</span>);<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #2b91af">Storyboard</span>.SetTargetProperty(pointAnimation, <span style="color: blue">new</span> <span style="color: #2b91af">PropertyPath</span>(<span style="color: #a31515">"Coordinate"</span>));<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>storyboard.Children.Add(pointAnimation);<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>storyboard.Begin();<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US" style="font-size: 9pt; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </span>}</span><strong><span lang="EN-US" style="font-size: 11.5pt; color: #006699; line-height: 150%; font-family: Verdana; mso-font-kerning: 18.0pt"><o:p></o:p></span></strong></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">嘿嘿，大功告成了，那么我们运行一下看看漂亮的射箭效果吧：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US"><img height="447" alt="" src="http://silverfuture.cn/MyImages/100112/1.jpg" width="473" border="0" /></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">接下来大家还可以发挥更多的想象，就好比《剑侠世界》那样一次同时放出多发箭支，相当酷呢。有了前面的旋转基础，只需循环创建</span><span lang="EN-US"><font face="Times New Roman">N</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">发箭，对每支箭进行一定规律旋转及发射点与目标点的偏移处理后即可：</span><span lang="EN-US"><br />
</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">double</span><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> angle = <span style="color: #2b91af">Super</span>.GetAngle(enemy.Coordinate.Y - <span style="color: blue">this</span>.Coordinate.Y, enemy.Coordinate.X - <span style="color: blue">this</span>.Coordinate.X);<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span><span style="background: yellow; color: blue; mso-highlight: yellow">for</span><span style="background: yellow; mso-highlight: yellow"> (<span style="color: blue">int</span> i = -2; i &lt; 3; i++)</span> {<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><font face="Times New Roman"><span lang="EN-US" style="font-size: 9pt; mso-ascii-font-family: 新宋体; mso-fareast-font-family: 新宋体; mso-font-kerning: 0pt; mso-no-proof: yes">&#8230;&#8230;</span><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><o:p></o:p></span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="mso-spacerun: yes">&nbsp;</span>ammunition.RenderTransform = <span style="color: blue">new</span> <span style="color: #2b91af">RotateTransform</span>() {<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><font face="Times New Roman"><span lang="EN-US" style="font-size: 9pt; mso-ascii-font-family: 新宋体; mso-fareast-font-family: 新宋体; mso-font-kerning: 0pt; mso-no-proof: yes">&#8230;&#8230;</span><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><o:p></o:p></span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="background: yellow; mso-highlight: yellow">Angle = angle - 10 * i,</span><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>};<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><font face="Times New Roman"><span lang="EN-US" style="font-size: 9pt; color: blue; mso-ascii-font-family: 新宋体; mso-fareast-font-family: 新宋体; mso-font-kerning: 0pt; mso-no-proof: yes">&#8230;&#8230;</span><span lang="EN-US" style="font-size: 9pt; color: green; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><o:p></o:p></span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #2b91af">Super</span>.MoveToTarget(ammunition, <span style="color: blue">new</span> <span style="color: #2b91af">Point</span>(ammunition.Coordinate.X,<span style="background: yellow; mso-highlight: yellow">ammunition.Coordinate.Y + 40*i</span>), <span style="color: blue">new</span> <span style="color: #2b91af">Point</span>(enemy.Coordinate.X, <span style="background: yellow; mso-highlight: yellow">enemy.Coordinate.Y - ammunition.CenterY + 40 * i</span>), 1, 1, 1);<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </span>}<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US" style="font-size: 9pt; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">}</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US"><img height="447" alt="" src="http://silverfuture.cn/MyImages/100112/2.jpg" width="473" border="0" /></span><strong><span lang="EN-US" style="font-size: 11.5pt; color: #006699; line-height: 150%; font-family: Verdana; mso-font-kerning: 18.0pt"><o:p></o:p></span></strong></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US"><span style="mso-spacerun: yes"><font face="Times New Roman">&nbsp;&nbsp;&nbsp; </font></span></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">通过依葫芦画瓢我们还能将此多箭射击修改为很酷的扇形魔法，这就是一张图片给我们带来的奇迹，很酷吧。大家现在是否可以理解前文说的素材问题了？</span><font face="Times New Roman"> <span lang="EN-US">Silverlight</span></font><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在制作游戏上可真不是盖的。</span><strong><span lang="EN-US" style="font-size: 11.5pt; color: #006699; line-height: 150%; font-family: Verdana; mso-font-kerning: 18.0pt"><o:p></o:p></span></strong></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">教程到此，主角的飞行与射箭就全部完成了。有了单体远距离攻击为理论基础，那么单体魔法攻击同样很简单，与单体远距离攻击不同的是，它的参数更多些，毕竟是</span><span lang="EN-US" style="font-size: 9pt; color: #2b91af; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">QXMagic</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的实例之一。与前面章节中的群攻魔法不同，需要在窗口的鼠标右键点击时做判断，如果点击的对象是敌对的精灵才能释放单体攻击魔法，并且单击魔法的参数同样存放在</span><span lang="EN-US"><font face="Times New Roman">Setting.xml</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中。本节我为大家准备了两套单体攻击魔法，分别是</span><span lang="EN-US"><font face="Times New Roman">[</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">无属性</span><span lang="EN-US"><font face="Times New Roman">]</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的与</span><span lang="EN-US"><font face="Times New Roman">[</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">火属性</span><span lang="EN-US"><font face="Times New Roman">]</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的，由此再此证明无论是单体或是群攻，无论是近距离还是远距离，在此引擎下添加新魔法是很简单的，要求的技术含量低，更多的是自己的创新能力，开拓思维，这个界是可以更美丽的：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US"><img height="108" alt="" src="http://silverfuture.cn/MyImages/100112/3.jpg" width="324" border="0" /></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US"></span>&nbsp;</p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span lang="EN-US"><img height="540" alt="" src="http://silverfuture.cn/MyImages/100112/5.jpg" width="420" border="0" /></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span lang="EN-US"></span>&nbsp;</p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span lang="EN-US"><img height="108" alt="" src="http://silverfuture.cn/MyImages/100112/4.jpg" width="324" border="0" /></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span lang="EN-US"></span>&nbsp;</p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span lang="EN-US"><img height="540" alt="" src="http://silverfuture.cn/MyImages/100112/7.jpg" width="420" border="0" /></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt; mso-char-indent-count: 2.0"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">由于素材来源于不同的游戏，且为了源码简单起见，本节中无论是单体远距离攻击还是单体魔法均存在一定的定位偏差，同样还是希望大家以理解原理为主要学习目的。实际开发中，箭支或魔法飞行通过</span><span lang="EN-US"><font face="Times New Roman">Storyboard</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">进行射击或移动，处理时应对箭支或魔法进行时时的与攻击目标碰撞检测，一旦碰撞才会产生伤害并消失掉，这才是最理想且最精确的状态过程。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">本节我还对部分素材进行了修改，例如极光魔法击中敌人时的周身闪电效果更加酷了，同时还更换了个更夸张的地狱火，顿时感觉其实游戏的精髓除了算法就是强有力的视觉震撼，美工的好好坏对游戏的吸引力真是有着巨大的影响呀</span><span lang="EN-US"><font face="Times New Roman">(</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">素材来源于《封神榜</span><span lang="EN-US"><font face="Times New Roman">2</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">》</span><span lang="EN-US"><font face="Times New Roman">)</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span lang="EN-US"><img height="430" alt="" src="http://silverfuture.cn/MyImages/100112/8.jpg" width="450" border="0" /></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span lang="EN-US"><o:p><font face="Times New Roman">&nbsp;</font></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><strong><span lang="EN-US" style="font-size: 11.5pt; color: #006699; line-height: 150%; font-family: Verdana; mso-font-kerning: 18.0pt"><img height="430" alt="" src="http://silverfuture.cn/MyImages/100112/9.jpg" width="450" border="0" /><o:p></o:p></span></strong></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">本节源码请到目录中下载，在线演示地址：</span><span lang="EN-US"><a href="http://silverfuture.cn/" target="_blank"><font face="Times New Roman">http://silverfuture.cn</font></a></span></p>

<div class="MySign">
<div class="MyImage"><img src=" http://silverfuture.cn/MyImages/sl.jpg" alt="WPF/Silverlight" /></div>
<div>作者：<a href="http://alamiye010.cnblogs.com">深蓝色右手</a><br />出处：<a href="http://alamiye010.cnblogs.com">http://alamiye010.cnblogs.com</a><br />教程目录及源码下载：<a href="http://www.cnblogs.com/alamiye010/archive/2009/06/17/1505346.html">点击进入</a>(<a href="http://space.cnblogs.com/group/WPF_SL/" target="_blank">欢迎加入WPF/Silverlight小组</a>　<a href="http://wpf_sl.cnblogs.com/" target="_blank">WPF/Silverlight博客团队</a>)<br />本文版权归作者和博客园共有，欢迎转载。但未经作者同意必须保留此段声明，且在文章页面显著位置给出原文连接，否则保留追究法律责任的权利。 </div>
</div><img src="http://www.cnblogs.com/alamiye010/aggbug/1644749.html?type=1" width="1" height="1" alt=""/><p>评论: 21　<a href="http://www.cnblogs.com/alamiye010/archive/2010/01/12/1644749.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/alamiye010/archive/2010/01/12/1644749.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56815/" target="_blank">李开复创新工场发展基金曝光 首单投移动互联</a><span style="color:gray">(2010-02-10 11:28)</span><br/>· <a href="http://news.cnblogs.com/n/56814/" target="_blank">Sun前CEO欲写自传 称经济危机是Sun被购主因</a><span style="color:gray">(2010-02-10 11:25)</span><br/>· <a href="http://news.cnblogs.com/n/56812/" target="_blank">Google社会化产品Buzz发布会实录</a><span style="color:gray">(2010-02-10 11:15)</span><br/>· <a href="http://news.cnblogs.com/n/56813/" target="_blank">福布斯：苹果生态产业链上的十大企业</a><span style="color:gray">(2010-02-10 11:14)</span><br/>· <a href="http://news.cnblogs.com/n/56811/" target="_blank">纽约时报：Google凭借Buzz进军社交网络</a><span style="color:gray">(2010-02-10 10:59)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56812/" target="_blank">Google社会化产品Buzz发布会实录</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial)：(四十六)飞行模式 – 自由VS天空</title><link>http://www.cnblogs.com/alamiye010/archive/2010/01/10/1643399.html</link><dc:creator>深蓝色右手</dc:creator><author>深蓝色右手</author><pubDate>Sun, 10 Jan 2010 01:24:00 GMT</pubDate><guid>http://www.cnblogs.com/alamiye010/archive/2010/01/10/1643399.html</guid><description><![CDATA[<p>阅读: 1906 评论: 13 作者: <a href="http://www.cnblogs.com/alamiye010/" target="_blank">深蓝色右手</a> 发表于 2010-01-10 09:24 <a href="http://www.cnblogs.com/alamiye010/archive/2010/01/10/1643399.html" target="_blank">原文链接</a></p><p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">&nbsp;&nbsp;&nbsp; 曾几何时开始迷恋无垠的天际，幻想着插上翅膀去飞翔。《天翼之链》、《奇迹》、《梦幻诛仙》向无数玩家展示了飞行的世界。翅膀，常常是一种身份的象征，但如能再赋予它自由的含义，好比《永恒之塔》中如履空气般畅快淋漓，游戏魅力自然无可阻挡。</span><strong><span lang="EN-US" style="font-size: 11.5pt; color: #006699; line-height: 150%; font-family: Verdana; mso-font-kerning: 18.0pt"><o:p></o:p></span></strong></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如何让游戏中的角色自由飞翔？角色飞行时有何特殊之处这是游戏在设计需求时最需要考虑的问题。在如《星钻物语》、《天翼之链》等</span><span lang="EN-US"><font face="Times New Roman">Q</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">版网络游戏中，翅膀仅仅作为一种美丽的装饰品，强者的象征，附加属性除此之外毫无他用；又如《奇迹》、《封神榜》等游戏，当角色装备翅膀后移动模式会变为&#8220;超低空&#8221;飞行模式，但仅仅表现为移动时外表样式的改变，当遇到任何地面障碍时仍是无法飞越的；而在</span><span lang="EN-US"><font face="Times New Roman">2D</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的《梦幻诛仙》中，飞行模式却体现得到华丽而不失真实。当主角在天空时，地面的所有对象物体均会被缩小为原始的</span><span lang="EN-US"><font face="Times New Roman">60%</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">左右比例，并且在天空层与地面层之间覆盖着一层透明的云雾缭绕效果，仿若真正置身于天际：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US"><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"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"></v:path><o:lock v:ext="edit" aspectratio="t"></o:lock></v:shapetype><img height="439" alt="" src="http://silverfuture.cn/MyImages/100110/0.jpg" width="465" border="0" /></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这种</span><span lang="EN-US"><font face="Times New Roman">2.8D</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的视觉效果在</span><span lang="EN-US"><font face="Times New Roman">Silverlight</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中可以通过两种途径来实现：</span><span lang="EN-US"><font face="Times New Roman">HLSL</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">渲染和按需缩放。如果未来的</span><span lang="EN-US"><font face="Times New Roman">Silverlight</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">版本能完全激发</span><span lang="EN-US"><font face="Times New Roman">GPU</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的渲染功能，那么利用</span><span lang="EN-US"><font face="Times New Roman">HLSL</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">直接对精灵托盘（</span><span lang="EN-US"><font face="Times New Roman">Carrier</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">）和地图托盘进行相应比例的缩小渲染后，再对主角等飞空的对象进行放大复原二次渲染即可，其中在天空层与地面层之间放置一张透明度的云雾</span><span lang="EN-US"><font face="Times New Roman">PNG</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">图片，一切其实可以这么简单滴；但在目前</span><span lang="EN-US"><font face="Times New Roman">Silverlight</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">还无法很好调用</span><span lang="EN-US"><font face="Times New Roman">GPU</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的前提下，我们可以通过循环遍历所有在游戏窗口中显示的对象，如果不是在飞行状态的，则尺寸缩小为原始的</span><span lang="EN-US"><font face="Times New Roman">60%</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，反之则不变，具体逻辑还算简单，只是需要特别注意一下地图的处理，例如地图使用的是</span><span lang="EN-US"><font face="Times New Roman">Tile</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">块或整图就无大碍，如果是切片按需加载的则相对麻烦些，需要多写算法。额外的，精灵在飞行过程中将无视一切障碍，并且移动速度会相比在地面上快一些，同时还需要考虑降落时所处的坐标是否为障碍物，否则不允许着陆等逻辑。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">《梦幻诛仙》算是目前层次效果最好的</span><span lang="EN-US"><font face="Times New Roman">2D</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">网游之一，由于本教程示例游戏结构架设之初并未考虑陆</span><span lang="EN-US"><font face="Times New Roman">-</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">空分层，因此本节暂时以实现主角传统低空飞行模式为主，即从外观上体现，并同时能实现障碍物的飞跃。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这里我准备的素材来源于《封神榜</span><span lang="EN-US"><font face="Times New Roman">2</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">》的翌使，精灵要飞行，当然需要添加一个</span><span lang="EN-US"><font face="Times New Roman">IsFlying</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">属性来描述是否正处于飞行状态，如果是，则遇到障碍物碰撞检测均忽略掉，例如：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">private</span><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> <span style="color: blue">bool</span> WillCollide(<span style="color: #2b91af">QXSprite</span> sprite, <span style="color: #2b91af">Point</span> p) {<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US" style="font-size: 9pt; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue">if</span> (sprite.IsFlying) { <span style="color: blue">return</span> <span style="color: blue">false</span>; }<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US" style="font-size: 9pt; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span></span><font face="Times New Roman"><span lang="EN-US" style="font-size: 9pt; line-height: 150%; mso-ascii-font-family: 新宋体; mso-font-kerning: 0pt; mso-no-proof: yes; mso-fareast-font-family: 新宋体">&#8230;&#8230;</span><span lang="EN-US" style="font-size: 9pt; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><o:p></o:p></span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US" style="font-size: 9pt; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">}</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">然后将翅膀道具添加进游戏，在本教程示例游戏中，为简单起见，我将翅膀归到衣服类；并添加了一个新的武器：弓。在天上飞的，用弓才酷嘛，弓的武器属性均记录在</span><span lang="EN-US"><font face="Times New Roman">Config.xml</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">配置文件中，其中有两个参数非常关键：</span><span lang="EN-US" style="font-size: 9pt; color: red; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">AttackRange</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</span><span lang="EN-US" style="font-size: 9pt; color: red; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">LongDistanceAttack</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">分别代表攻击距离和是否远程物理攻击。另外，由于主角的素材来源于两个不同游戏，因此大家在运行演示程序时遇到错位情况请不要见怪啦，理解原理为主：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US"><img height="442" alt="" src="http://silverfuture.cn/MyImages/100110/1.jpg" width="605" border="0" /></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">装备弓后：</span><strong><span lang="EN-US" style="font-size: 11.5pt; color: #006699; line-height: 150%; font-family: Verdana; mso-font-kerning: 18.0pt"><o:p></o:p></span></strong></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><strong><span lang="EN-US" style="font-size: 11.5pt; color: #006699; line-height: 150%; font-family: Verdana; mso-font-kerning: 18.0pt"><img height="442" alt="" src="http://silverfuture.cn/MyImages/100110/2.jpg" width="605" border="0" /><o:p></o:p></span></strong></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">嘿嘿，插上翅膀的主角此时可以进入所有示为陆地障碍物的区域了。由于弓有</span><span lang="EN-US"><font face="Times New Roman">400</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的攻击射程，接下来我们不妨引上一群怪，并飞到障碍物上，一箭一箭的射得怪物们毫无脾气，陆</span><span lang="EN-US"><font face="Times New Roman">-</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">空不同嘛，这就是飞行的特权：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US"><img height="374" alt="" src="http://silverfuture.cn/MyImages/100110/3.jpg" width="479" border="0" /></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US"></span>&nbsp;</p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US"><img height="374" alt="" src="http://silverfuture.cn/MyImages/100110/4.jpg" width="479" border="0" /></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">很酷吧，一丁点代码的修改就实现了这么有趣的功能。当然，在实际制作中，大家应该专门设置一个翅膀装备格，并根据需要处理好陆</span><span lang="EN-US"><font face="Times New Roman">-</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">空之间的障碍物逻辑与战斗逻辑，如《永恒之塔》的空战形式等。如果想制作类似《梦幻诛仙》的陆</span><span lang="EN-US"><font face="Times New Roman">-</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">空分层视觉效果，那么在一开始为游戏设计架构时就应该做好铺垫，否则后期修改会复杂许多。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">主角装备上弓后已经具备了远距离攻击能力，细心的朋友一定有发现似乎还缺少了些什么。是的，射击后怪也伤血了，但始终都没见有箭飞出？嘿嘿，这就是下一节要讲的远距离攻击及单体魔法攻击效果了，敬请关注。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span><o:p><span style="font-size: 10pt; color: #000000; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">本节源码请到目录中下载，在线演示地址：</span><span lang="EN-US"><a href="http://silverfuture.cn/" target="_blank"><font face="Times New Roman" color="#1848b9"><strong>http://silverfuture.cn</strong></font></a></span></o:p></span></p>
<div class="MySign">
<div class="MyImage"><img alt="WPF/Silverlight" src="http://silverfuture.cn/MyImages/sl.jpg" /></div>
<div>作者：<a href="http://alamiye010.cnblogs.com/" target="_blank">深蓝色右手</a><br />出处：<a href="http://alamiye010.cnblogs.com/" target="_blank">http://alamiye010.cnblogs.com/</a><br />教程目录及源码下载：<a href="http://www.cnblogs.com/alamiye010/archive/2009/06/17/1505346.html" target="_blank">点击进入</a>(<a href="http://space.cnblogs.com/group/WPF_SL/" target="_blank">欢迎加入WPF/Silverlight小组</a>　<a href="http://wpf_sl.cnblogs.com/" target="_blank">WPF/Silverlight博客团队</a>)<br />本文版权归作者和博客园共有，欢迎转载。但未经作者同意必须保留此段声明，且在文章页面显著位置给出原文连接，否则保留追究法律责任的权利。 </div></div><img src="http://www.cnblogs.com/alamiye010/aggbug/1643399.html?type=1" width="1" height="1" alt=""/><p>评论: 13　<a href="http://www.cnblogs.com/alamiye010/archive/2010/01/10/1643399.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/alamiye010/archive/2010/01/10/1643399.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56815/" target="_blank">李开复创新工场发展基金曝光 首单投移动互联</a><span style="color:gray">(2010-02-10 11:28)</span><br/>· <a href="http://news.cnblogs.com/n/56814/" target="_blank">Sun前CEO欲写自传 称经济危机是Sun被购主因</a><span style="color:gray">(2010-02-10 11:25)</span><br/>· <a href="http://news.cnblogs.com/n/56812/" target="_blank">Google社会化产品Buzz发布会实录</a><span style="color:gray">(2010-02-10 11:15)</span><br/>· <a href="http://news.cnblogs.com/n/56813/" target="_blank">福布斯：苹果生态产业链上的十大企业</a><span style="color:gray">(2010-02-10 11:14)</span><br/>· <a href="http://news.cnblogs.com/n/56811/" target="_blank">纽约时报：Google凭借Buzz进军社交网络</a><span style="color:gray">(2010-02-10 10:59)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56812/" target="_blank">Google社会化产品Buzz发布会实录</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>WPF/Silverlight深度解决方案：(十四)重写控件样式</title><link>http://www.cnblogs.com/alamiye010/archive/2010/01/04/1638994.html</link><dc:creator>深蓝色右手</dc:creator><author>深蓝色右手</author><pubDate>Mon, 04 Jan 2010 08:09:00 GMT</pubDate><guid>http://www.cnblogs.com/alamiye010/archive/2010/01/04/1638994.html</guid><description><![CDATA[<p>阅读: 1109 评论: 10 作者: <a href="http://www.cnblogs.com/alamiye010/" target="_blank">深蓝色右手</a> 发表于 2010-01-04 16:09 <a href="http://www.cnblogs.com/alamiye010/archive/2010/01/04/1638994.html" target="_blank">原文链接</a></p><p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在实际开发应用中，</span><span lang="EN-US"><font face="Times New Roman">Silverlight</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">默认控件样式并不能满足我们所有的需求，特别是对华丽界面的构造，需要对现有控件进行皮肤重写。</span><span lang="EN-US"><font face="Times New Roman">WPF/Silverlight</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中使用</span><span lang="EN-US"><font face="Times New Roman">xaml</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">描述界面，类似</span><span lang="EN-US"><font face="Times New Roman">Css</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，它们同样有</span><span lang="EN-US"><font face="Times New Roman">Style</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</span><span lang="EN-US"><font face="Times New Roman">Template</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。目前微软开源工具包中集成的均是复杂类型控件，如何修改它们的样式确实难倒了不少朋友，那么本节以分析为主，结合对常用的</span><span lang="EN-US" style="font-size: 9pt; color: #2b91af; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">NumericUpDown</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">控件向大家讲解如何对现有控件进行样式重写。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">首先打开工具包中的示例项目：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span lang="EN-US"><v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype><img height="182" alt="" src="http://silverfuture.cn/MyImages/100104/0.jpg" width="406" border="0" /></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">接着找到</span><span lang="EN-US" style="font-size: 9pt; color: #993300; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">NumericUpDownSample.xaml</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这个示例页面并打开：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span lang="EN-US"><v:shape id="_x0000_i1026" style="width: 190.5pt; height: 220.5pt" type="#_x0000_t75"><v:imagedata o:title="1" src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image002.jpg"><img height="294" alt="" src="http://silverfuture.cn/MyImages/100104/1.jpg" width="254" border="0" /></v:imagedata></v:shape></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">为什么要这样做？要重写某个控件首先必须要知道它是如何构造的，当然如果您有深厚的功力，您完全可以看着源码从基类开始一层层写下来，不过这绝对是一件吃力不讨好的事情，因为</span><span lang="EN-US"><font face="Times New Roman">MS</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">已经给我们提供了非常详细的</span><span lang="EN-US"><font face="Times New Roman">Sample</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span lang="EN-US"><img height="385" alt="" src="http://silverfuture.cn/MyImages/100104/2.jpg" width="665" border="0" /></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">每种控件都有提供了很多样式供我们参考，如果你相中了其中某个，直接可以从</span><span lang="EN-US" style="font-size: 9pt; color: #993300; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">NumericUpDownSample.xaml</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中拷贝出全部相关内容即可，但如果还是不满意呢？例如我想将加减值按钮换成可以悬停变换的图片又该如何处理？</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这时我们需要做的是抽取其中任意一个被重写过样式的</span><span lang="EN-US" style="font-size: 9pt; color: #993300; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">NumericUpDown</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">及其所牵连的所有代码，例如上图中红色圈中的那个，找到它的主体代码如下：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">inputToolkit</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">:</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">NumericUpDown </span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Grid.Row</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="1"</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Grid.Column</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="0"</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> Style</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="{</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">StaticResource</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> ButtonSpinnerHorizontalStyle</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">}"</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> Margin</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="5"</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> Height</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="90"</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> FontSize</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="50"/&gt;</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">很显然，它的样式加载的是静态资源中的</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">ButtonSpinnerHorizontalStyle</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，那么接下来我们查找该静态资源并去掉其中的</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">vsm</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">:</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">VisualStateManager</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Border</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">等无关紧要的内容，剩下控件的主要样式如下：</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Style</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> x</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">:</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Key</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="ButtonSpinnerHorizontalStyle"</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> TargetType</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="inputToolkit:NumericUpDown"&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><font face="Times New Roman"><span lang="EN-US" style="font-size: 9pt; color: #a31515; mso-ascii-font-family: 新宋体; mso-font-kerning: 0pt; mso-no-proof: yes; mso-fareast-font-family: 新宋体">&#8230;&#8230;</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><o:p></o:p></span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Setter</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> Property</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="Template"&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Setter.Value</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">ControlTemplate</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> TargetType</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="inputToolkit:NumericUpDown"&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Grid</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><font face="Times New Roman"><span lang="EN-US" style="font-size: 9pt; color: blue; mso-ascii-font-family: 新宋体; mso-font-kerning: 0pt; mso-no-proof: yes; mso-fareast-font-family: 新宋体">&#8230;&#8230;</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><o:p></o:p></span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="mso-spacerun: yes">&nbsp;</span></span><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;</span></strong><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">inputToolkit</span></strong><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">:</span></strong><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">ButtonSpinner</span></strong><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> x</span></strong><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">:</span></strong><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Name</span></strong><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="Spinner"</span></strong><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> </span></strong><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-size: 9pt; color: red; mso-ascii-font-family: 新宋体; mso-font-kerning: 0pt; mso-no-proof: yes; mso-fareast-font-family: 新宋体"><font face="Times New Roman">&#8230;&#8230;</font></span></strong><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> Template</span></strong><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="{</span></strong><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">StaticResource</span></strong><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> ButtonSpinnerHorizontalTemplate</span></strong><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">}"&gt;<o:p></o:p></span></strong></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">TextBox</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> BorderThickness</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="0"</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> FontFamily</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="{</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">TemplateBinding</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> FontFamily</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">}"</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> FontSize</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="{</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">TemplateBinding</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> FontSize</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">}"</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> FontStretch</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="{</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">TemplateBinding</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> FontStretch</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">}"</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> FontStyle</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="{</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">TemplateBinding</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> FontStyle</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">}"</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> FontWeight</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="{</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">TemplateBinding</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> FontWeight</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">}"</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> Foreground</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="{</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">TemplateBinding</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> Foreground</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">}"</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> MinWidth</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="20"</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> x</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">:</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Name</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="Text"</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> AcceptsReturn</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="False"</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> Text</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="{</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">TemplateBinding</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> Value</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">}"</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> TextAlignment</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="Right"</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> TextWrapping</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="NoWrap"/&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;/</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">inputToolkit</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">:</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">ButtonSpinner</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;/</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Grid</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;/</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">ControlTemplate</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;/</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Setter.Value</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;/</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Setter</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;/</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Style</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&gt;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">原来</span><span lang="EN-US" style="font-size: 9pt; color: #993300; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">NumericUpDown</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是由一个包含</span><span lang="EN-US"><font face="Times New Roman">TextBox</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">ButtonSpinner</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">构成，而</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">ButtonSpinner</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">加载的样式模板为</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">ButtonSpinnerHorizontalTemplate</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，接下来我们再次找到</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">ButtonSpinnerHorizontalTemplate</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，同样的把不必要的部分去掉，关键代码如下：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">ControlTemplate</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> x</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">:</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Key</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">ButtonSpinnerHorizontalTemplate</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">"</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> TargetType</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="inputToolkit:ButtonSpinner"&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Grid</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Grid.ColumnDefinitions</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">ColumnDefinition</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> Width</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="*"/&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">ColumnDefinition</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> Width</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="20"/&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">ColumnDefinition</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> Width</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="20"/&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;/</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Grid.ColumnDefinitions</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><font face="Times New Roman"><span lang="EN-US" style="font-size: 9pt; color: blue; mso-ascii-font-family: 新宋体; mso-font-kerning: 0pt; mso-no-proof: yes; mso-fareast-font-family: 新宋体">&#8230;&#8230;</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><o:p></o:p></span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">ContentPresenter</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> HorizontalAlignment</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="{</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">TemplateBinding</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> HorizontalContentAlignment</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">}"</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> VerticalAlignment</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="{</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">TemplateBinding</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> VerticalContentAlignment</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">}"</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> Content</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="{</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">TemplateBinding</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> Content</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">}"</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> Grid.Column</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="0"/&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">RepeatButton</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> IsTabStop</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="False"</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> Template</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="{</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">StaticResource</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> IncreaseButtonTemplate</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">}"</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> x</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">:</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Name</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="IncreaseButton"</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> ClickMode</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="Press"</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> Grid.Column</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="1"/&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">RepeatButton</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> IsTabStop</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="False"</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> Template</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="{</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">StaticResource</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> DecreaseButtonTemplate</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">}"</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> x</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">:</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Name</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="DecreaseButton"</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> ClickMode</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="Press"</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> Grid.Column</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="2"/&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;/</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Grid</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;/</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">ControlTemplate</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&gt;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21pt; mso-char-indent-count: 2.0"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">它的构造由</span><span lang="EN-US"><font face="Times New Roman">3</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">部分组成：用于输入数字的内容区域</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">ContentPresenter</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，以及加值按钮</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">IncreaseButton</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和减值按钮</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">DecreaseButton</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。至此，</span><span lang="EN-US" style="font-size: 9pt; color: #993300; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">NumericUpDown</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">控件的具体结构才浮出水面。再下来我们还是按照上面的规律忽略无关紧要的代码，不理会</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">TemplateBinding</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">而是直接找到</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">StaticResource</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对应的</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Template</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，以</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">IncreaseButtonTemplate</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">为例，它的关键代码如下：</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">ControlTemplate</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> x</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">:</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Key</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="IncreaseButtonTemplate"</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> TargetType</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="RepeatButton"&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Grid</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> x</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">:</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Name</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="Root"&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Rectangle</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> x</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">:</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Name</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="Background"</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> </span><span lang="EN-US" style="font-size: 9pt; color: red; mso-ascii-font-family: 新宋体; mso-font-kerning: 0pt; mso-no-proof: yes; mso-fareast-font-family: 新宋体"><font face="Times New Roman">&#8230;&#8230;</font></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Rectangle.Fill</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><font face="Times New Roman"><span lang="EN-US" style="font-size: 9pt; color: blue; mso-ascii-font-family: 新宋体; mso-font-kerning: 0pt; mso-no-proof: yes; mso-fareast-font-family: 新宋体">&#8230;&#8230;</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><o:p></o:p></span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;/</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Rectangle.Fill</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;/</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Rectangle</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;/</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Grid</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;/</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">ControlTemplate</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">现在清楚了吧，原来</span><span lang="EN-US" style="font-size: 9pt; color: #993300; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">NumericUpDown</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">控件的加减按钮的原形是</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">RepeatButton</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，而</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">RepeatButton</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的原形则是</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Rectangle</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，那么我们只需修改</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Rectangle.Fill</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的内容，即可改变</span><span lang="EN-US" style="font-size: 9pt; color: #993300; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">NumericUpDown</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">加减按钮的样式，这里我使用两张图片作为鼠标进入和离开</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Rectangle</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">时的</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Fill</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">填充对象，那么修改后的代码如下：</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">ControlTemplate</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> x</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">:</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Key</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="IncreaseButtonTemplate"</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> TargetType</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="RepeatButton"&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Grid</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> x</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">:</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Name</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="Root"&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Rectangle</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> x</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">:</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Name</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="Background"</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> Width</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="16"</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> Height</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="16"</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> MouseEnter</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="Background_MouseEnter"</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> MouseLeave</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="Background_MouseLeave"&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Rectangle.Fill</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">ImageBrush</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> ImageSource</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="Images/0.png" /&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;/</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Rectangle.Fill</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;/</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Rectangle</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;/</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Grid</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;/</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">ControlTemplate</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US"><span style="mso-spacerun: yes"><font face="Times New Roman">&nbsp;&nbsp;&nbsp; </font></span></span><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;</span><span style="color: green">//</span></span><span style="font-size: 9pt; color: green; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">加载图片<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue">private</span> <span style="color: #2b91af">BitmapSource</span> GetImage(<span style="color: blue">string</span> imageName) {<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue">return</span> <span style="color: blue">new</span> <span style="color: #2b91af">BitmapImage</span>(<span style="color: blue">new</span> <span style="color: #2b91af">Uri</span>(<span style="color: blue">string</span>.Format(<span style="color: #a31515">@"/Silverlight;component/Images/{0}"</span>, imageName), <span style="color: #2b91af">UriKind</span>.Relative));<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue">private</span> <span style="color: blue">void</span> Background_MouseEnter(<span style="color: blue">object</span> sender, <span style="color: #2b91af">MouseEventArgs</span> e) {<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #2b91af">Rectangle</span> rect = sender <span style="color: blue">as</span> <span style="color: #2b91af">Rectangle</span>;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;</span>rect.Fill = <span style="color: blue">new</span> <span style="color: #2b91af">ImageBrush</span>() { ImageSource = GetImage(<span style="color: #a31515">"2.png"</span>) };<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue">private</span> <span style="color: blue">void</span> Background_MouseLeave(<span style="color: blue">object</span> sender, <span style="color: #2b91af">MouseEventArgs</span> e) {<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #2b91af">Rectangle</span> rect = sender <span style="color: blue">as</span> <span style="color: #2b91af">Rectangle</span>;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>rect.Fill = <span style="color: blue">new</span> <span style="color: #2b91af">ImageBrush</span>() { ImageSource = GetImage(<span style="color: #a31515">"0.png"</span>) };<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">运行后效果如下：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span lang="EN-US"><o:p><font face="Times New Roman">&nbsp;</font></o:p></span>
<object type="application/x-silverlight-2" height="100%" width="100%" data="data:application/x-oleobject;base64,QfXq3+HzJEysrJnDBxUISgAIAABOUAAAnigAAAwAAAB3AGgAaQB0AGUAAAAAAAAAAAAAAAAAAABsAAAAaAB0AHQAcAA6AC8ALwBmAGkAbABlAHMALgBjAG4AYgBsAG8AZwBzAC4AYwBvAG0ALwBhAGwAYQBtAGkAeQBlADAAMQAwAC8AUwBpAGwAdgBlAHIAbABpAGcAaAB0ADEANAAuAHgAYQBwAAAAPAAAAAAAAAAmAAAAbwBuAFMAaQBsAHYAZQByAGwAaQBnAGgAdABFAHIAcgBvAHIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAYAAAAMwAuADAALgA0ADAANgAyADQALgAwAAAACgAAAHQAcgB1AGUAAAAAAAAAAAAAAAAAAAA=">
<param name="source" value="http://files.cnblogs.com/alamiye010/Silverlight14.xap"  /   /><param name="onerror" value="onSilverlightError"     /><param name="background" value="white"     /><param name="minRuntimeVersion" value="3.0.40624.0"     /><param name="autoUpgrade" value="true"     /><a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=3.0.40624.0" style="text-decoration: none;">
<img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="获取 Microsoft Silverlight" style="border-style: none"  / />
</a>  </object></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span lang="EN-US"><span style="mso-spacerun: yes"><font face="Times New Roman">&nbsp;&nbsp;&nbsp; </font></span></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">通过</span><span lang="EN-US"><font face="Times New Roman">xaml</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">重写模板非常实用，如果你掌握了</span><span lang="EN-US"><font face="Times New Roman">Blend</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的应用，那么通过</span><span lang="EN-US"><font face="Times New Roman">Blend</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">去重写模板是相当方便和快捷的事情，让控件皮肤随心所欲，产品才能更吸引客户的眼球。</span></p>
<div class="MySign">
<div class="MyImage"><img alt="WPF/Silverlight" src="http://silverfuture.cn/MyImages/deep.jpg" /></div>
<div>作者：<a href="http://alamiye010.cnblogs.com/" target="_blank">深蓝色右手</a><br />出处：<a href="http://alamiye010.cnblogs.com/" target="_blank">http://alamiye010.cnblogs.com/</a><br />本系列目录及源码下载：<a href="http://www.cnblogs.com/alamiye010/archive/2009/10/03/1577740.html" target="_blank">点击进入</a>(<a href="http://space.cnblogs.com/group/WPF_SL/" target="_blank">欢迎加入WPF/Silverlight小组</a>　<a href="http://wpf_sl.cnblogs.com/" target="_blank">WPF/Silverlight博客团队</a>)<br />本文版权归作者和博客园共有，欢迎转载。但未经作者同意必须保留此段声明，且在文章页面显著位置给出原文连接，否则保留追究法律责任的权利。 </div></div><img src="http://www.cnblogs.com/alamiye010/aggbug/1638994.html?type=1" width="1" height="1" alt=""/><p>评论: 10　<a href="http://www.cnblogs.com/alamiye010/archive/2010/01/04/1638994.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/alamiye010/archive/2010/01/04/1638994.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56815/" target="_blank">李开复创新工场发展基金曝光 首单投移动互联</a><span style="color:gray">(2010-02-10 11:28)</span><br/>· <a href="http://news.cnblogs.com/n/56814/" target="_blank">Sun前CEO欲写自传 称经济危机是Sun被购主因</a><span style="color:gray">(2010-02-10 11:25)</span><br/>· <a href="http://news.cnblogs.com/n/56812/" target="_blank">Google社会化产品Buzz发布会实录</a><span style="color:gray">(2010-02-10 11:15)</span><br/>· <a href="http://news.cnblogs.com/n/56813/" target="_blank">福布斯：苹果生态产业链上的十大企业</a><span style="color:gray">(2010-02-10 11:14)</span><br/>· <a href="http://news.cnblogs.com/n/56811/" target="_blank">纽约时报：Google凭借Buzz进军社交网络</a><span style="color:gray">(2010-02-10 10:59)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56812/" target="_blank">Google社会化产品Buzz发布会实录</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>2009最后一天，为了期盼而祝福</title><link>http://www.cnblogs.com/alamiye010/archive/2009/12/31/1636706.html</link><dc:creator>深蓝色右手</dc:creator><author>深蓝色右手</author><pubDate>Thu, 31 Dec 2009 03:35:00 GMT</pubDate><guid>http://www.cnblogs.com/alamiye010/archive/2009/12/31/1636706.html</guid><description><![CDATA[<p>阅读: 2495 评论: 32 作者: <a href="http://www.cnblogs.com/alamiye010/" target="_blank">深蓝色右手</a> 发表于 2009-12-31 11:35 <a href="http://www.cnblogs.com/alamiye010/archive/2009/12/31/1636706.html" target="_blank">原文链接</a></p><p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US"><font face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-size: 14pt"> </span><span style="font-size: 12pt">2009</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">年的最后一天，这是我第一次在</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">BLOG</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中抒写心声，希望给迷茫的朋友们带来一丝光芒，希望为</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">2010</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">年的开始注入春天的活力，我一直坚信我不是一个人在战斗，时代是需要团结的力量，与</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Silverlight</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">一路走来，感受的风和雨，感慨的世态与人生不在老赵之下。这些是我收集的目前大多数朋友的种种困惑，其中的回答都为我个人想法，不代表微软，也不代表任何团体，我就是我。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 22.5pt; line-height: 150%; mso-outline-level: 2"><span style="font-size: 12pt; color: #993300; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">困惑</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt; color: #993300">1</span></font></span><span style="font-size: 12pt; color: #993300; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt; color: #993300">Silverlight</span></font></span><span style="font-size: 12pt; color: #993300; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">技术再好，就算你把它玩得天花烂醉，</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt; color: #993300">N</span></font></span><span style="font-size: 12pt; color: #993300; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">低的装机量，</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt; color: #993300">N</span></font></span><span style="font-size: 12pt; color: #993300; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">少的职业岗位，对于这门技术的观望者来说仍然需要考虑再三，</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt; color: #993300">Silverlight</span></font></span><span style="font-size: 12pt; color: #993300; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">必将很难得以推广与发展。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 22.5pt; line-height: 150%; mso-outline-level: 2"><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">个人想法：目前种种迹象已经突显</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">MS</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在不稀血本推行</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Silverlight</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">技术，</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">SLQQ</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">不是开玩笑的，界面很华丽虽然性能一般，但如果真正开始投入使用后，我们暂且忽略一下它的应用性，单从使用</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">QQ</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的用户群体来说，将无法估量的大规模提升</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Silverlight</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在中国的装机量；</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Silverlight</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">官网上的资料与信息评论等的更新速度远远快过</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">MS</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的其他产品网站；外加</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Silverlight4</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">将于</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">2010</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">年强势登陆（大约在春季），具我了解，非常多的企业已经瞄准了这个产品，明年的</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Silverlight</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">招聘信息将遍布全国各地，打破困惑总是需要时间的，这就是一个考验人耐心的完美征程，但我坚信</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">2010</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">年将为所有</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">.NET</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">开发者带来真正意义上的春天，希望的花朵是时候绚烂了！</span><strong><span lang="EN-US" style="font-size: 11.5pt; color: #006699; line-height: 150%; font-family: Verdana; mso-font-kerning: 18.0pt"><o:p></o:p></span></strong></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-size: 12pt; color: #993300; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">困惑</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt; color: #993300">2</span></font></span><span style="font-size: 12pt; color: #993300; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt; color: #993300">Silverlight</span></font></span><span style="font-size: 12pt; color: #993300; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">永远竞争不过</span><font face="Times New Roman"><st1:State w:st="on"><st1:place w:st="on"><span lang="EN-US" style="font-size: 12pt; color: #993300">Fla</span></st1:place></st1:State><span lang="EN-US" style="font-size: 12pt; color: #993300">sh/Flex</span></font><span style="font-size: 12pt; color: #993300; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，因为</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt; color: #993300">Flash</span></font></span><span style="font-size: 12pt; color: #993300; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在人们心中的地位已经根深蒂固，目前大多数的</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt; color: #993300">Flash</span></font></span><span style="font-size: 12pt; color: #993300; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">开发者都是美工出生或者有一定美工基础的人，因此做出来的东西都很漂亮；而</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt; color: #993300">Silverlight</span></font></span><span style="font-size: 12pt; color: #993300; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的开发者均出生于</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt; color: #993300">.NET</span></font></span><span style="font-size: 12pt; color: #993300; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">世家，天天把架构什么的挂在嘴边，做出来的东西</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt; color: #993300">UI</span></font></span><span style="font-size: 12pt; color: #993300; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">界面根本看不得，性能再好用户同样不买帐。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">个人想法：</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">MS</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">推出</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">WPF</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">来取代</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Winform</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">；用</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Silverlight</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">抢占</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">RIA</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">市场，并且从</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">.NET4.0</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中我们更看到了</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">WPF</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">框架的精简加之</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Silverlight4.0</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">势必给我们带来更猛烈的震撼，种种的迹象暗示着微软未来技术的革新与方向，复合型人才将在未来竞争中更具优势。大家不妨逆向思考，</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">.NET</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">开发者人数绝对是</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">AS</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">开发者人数的</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">N</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">倍，而</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">VS</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">开发工具的强大与高效为</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">.NET</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">开发者节约出了更多的时间，这些时间将被用于逐步的，循序渐进的对一些美工基本技巧的学习</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">(</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">学习</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Silverlight</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，必然会潜移默化的掌握到相关知识，如</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">RGB</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，旋转缩放变换，</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">3D</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">概念等等</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">)</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，这势将造就未来使用</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Silverlight</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">.NET</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">开发者同时具备扎实的架构知识，融会贯通的设计模式，与生俱来的面向对象思维方式；长期网站开发所积累下来的数据库知识和通信知识；以及基于</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Web</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的传统基础技术如</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">div+css</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">、</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Javascript</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">等，比起</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">AS</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">程序员用</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Flash</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">做出来外表华丽而无强大后台技术支持，且内存随着时间线性增长的产品来说，</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Silverlight</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">将同时兼具精致的画面与强健而稳定的后台以及高度的可维护性与拓展性。如非上帝弄人，那么未来或将展现出</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Flash/Flex</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">与</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Silverlight</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">平分</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">RIA</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">市场的局面，其中前者会继续稳固长久以来占据的大规模中小应用领域；而后者必将在大中型企业级应用上绽放光芒。谁消灭谁这问题讨论起来一点也没有意义，存在则有价值，相互制约才会平衡，竞争引导技术飞跃；是谁让</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Silverlight</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">进步得如此神速？其实不就是</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Flash</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">自身吗？一味的垄断与自以为是势必造就未来的局面，当然我相信</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Flash</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">其实是可以做得更好的，虽然暂时没有。或许未来还会出现三足鼎立呢？谁也无法预言。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-size: 12pt; color: #993300; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">困惑</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt; color: #993300">3</span></font></span><span style="font-size: 12pt; color: #993300; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：有的朋友说</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt; color: #993300">Silverlight</span></font></span><span style="font-size: 12pt; color: #993300; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">好难呀，有的朋友说</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt; color: #993300">Silverlight</span></font></span><span style="font-size: 12pt; color: #993300; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的书都好基础呀，要学到什么程度才能算精通呢？</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">个人想法：说</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Silverlight</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">很难的朋友心态肯定是想一口吃掉一个大胖子，谁不想一两天学会这门技术？谁不想三四天上企业级应用？谁不想一星期出一款大型游戏？但是可能吗？我们都不是神，我们是人；而看了</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Silverlight</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">相关书籍，掌握了基础知识后仍感觉找不着北的朋友，肯定是没有养成边学边练的习惯；做开发的最忌纸上谈兵，记得我刚写教程的时候，很多朋友都会跟着我学一节，练一节，因此成长得都很快，基本上两个月后当我出完前</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">30</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">节教程，群里已经出现了相当数量</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Silverlight</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">方面的高手，他们都是从完全不会慢慢成长起来的，我相信他们都是付出了很多的心血，把骨头啃了一遍又一遍才真正的吸收到其中的精髓。虽然我自己从不敢说完全精通</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Silverlight</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">技术的所有角角落落，但是我可以在没开始做产品前告诉客户：我能。而在后面才看我教程的朋友，特别是开源后才学习的，拿着源码直接运行的多过思考练习的，不知道是我开源的错还是国人面对开源的悲剧行为，我在反思的同时也希望读者能醒悟，其实高手也是从</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">ABCD</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">开始的，不是吗？</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-size: 12pt; color: #993300; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">困惑</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt; color: #993300">4</span></font></span><span style="font-size: 12pt; color: #993300; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt; color: #993300">Silverlight</span></font></span><span style="font-size: 12pt; color: #993300; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">与</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt; color: #993300">Flash</span></font></span><span style="font-size: 12pt; color: #993300; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">比，孰优孰劣？</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">很简短的一个问题，但也是目前大多数朋友感到最为困惑的问题。回答这个问题前，我想先稍微说说我自己的</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Silverlight</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">经历：</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">2009</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">年</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">2</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">月份左右我开始学</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">WPF</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Silverlight</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，那段时间一个偶然的机会在网上看到了关于</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Silverlight</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的相关资料与介绍，最吸引我的是可以用拿手的</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">C#</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">制作出华丽的动画效果；我是一个彻头彻尾的游戏狂热爱好者，基于对游戏开发的执着，早在大二那年我就曾尝试过使用</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Java Applet</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">制作</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">RPG</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">游戏，依旧清晰记得当时用的也是</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Canvas</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">加双缓冲画面重绘，但是由于自身技术的不成熟，做出来的游戏画面闪烁厉害，最终还是放弃了。而</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">WPF</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Silverlight</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的出现让我眼前一亮，梦想的大门似乎再次出现在我面前，于是乎我开始疯狂的查阅网上资料，极度渴望的了解这两门技术的过去，发展和将来；</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">2009</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">年</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">3</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">月开始，我终于开始着手我的第一个</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">WPF</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">作品《</span><span lang="EN-US"><a href="http://www.cnblogs.com/alamiye010/archive/2009/06/17/1505330.html" target="_blank"><font face="Times New Roman"><span style="font-size: 12pt">WPF ARPG </span></font><span lang="EN-US" style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><span lang="EN-US" style="font-size: 12pt">游戏引擎</span></span></a></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">》；虽然代码丑陋，运行性能低下，但是一个月夜晚的时间让我真正尝试到了与理想如此近距离接触，何尝不感到欣慰。它的出现让我最深的体会就是：</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">WPF/Silverlight</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是完全可以用来制作游戏的。由此，《</span><span lang="EN-US"><a href="http://www.cnblogs.com/alamiye010/archive/2009/06/17/1505346.html" target="_blank"><font face="Times New Roman"><span style="font-size: 12pt">C#</span></font><span lang="EN-US" style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><span lang="EN-US" style="font-size: 12pt">开发</span></span><font face="Times New Roman"><span style="font-size: 12pt">WPF/Silverlight</span></font><span lang="EN-US" style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><span lang="EN-US" style="font-size: 12pt">动画及游戏教程</span></span></a></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">》孕育而生。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">看到这，大伙是否觉得有些文不对题？其实我想让大家更多的去思考而不是参照，如果你由衷的热爱你的事业，忠实的信仰着你的理想，就算在上面花费多少时间与心血都会觉得值；你的作品将会完全融入你的思想与灵魂，它是活生生的，有血有肉的，用满腔热血铸就的。当你把它当作你自己孩子的时候，你会每天把它看一遍，经常的对他重构，久不久换一套外衣，时常清理它身体中的垃圾，让它更美更漂亮。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如果你能从你的作品中感受到温暖，那么你离解开这个困惑已不远了。大家不妨再回想一下自己刚大学毕业，或即将毕业时，心中是如何描绘自己未来事业蓝图的？是以金钱为目的的一步登天还是以兴趣与理想为目的的一步一个脚印的前行？是寻找自己特长的职业尽心尽力还是用自己的软肋去无畏的挣扎徘徊？</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">该见分晓了，时常会出现</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Silverlight</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">与</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Flash</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">比来比去，非要证明出一个是公一个是母，最终的结果就和</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">.NET</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">与</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Java</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">争个你死我活没有一点意义，两门技术都有强劲的后台与历史渊源，进化中的物体何来优劣之论？如果你精通</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Flash</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，你大可不必再去学</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Silverlight</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">；如果你原本是</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">.NET</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">开发者，早已将</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">C#</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">等</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">.NET</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">开发语言玩转于手心，高起点学习</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Silverlight</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">让你驾轻就熟；如果你曾学过</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Flash</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">但不精通，同时也做过</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">.NET</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">开发但非高手，面对</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Silverlight</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这个新兴事物，你完全可以从你自己事业的前进方向着手分析，例如你只打算做网页中的小动画，那么</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Flash</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">已经足够了，外加它目前大规模的装机量；如果你打算以后构建精致体系架构的</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">RIA</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">企业级应用，你不妨尝试去使用</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Silverlight</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，它在性能上会体现得更加优越，当然，前提是你必须精通。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-size: 12pt; color: #993300; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">困惑</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt; color: #993300">5</span></font></span><span style="font-size: 12pt; color: #993300; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：如何学习</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt; color: #993300">Silverlight</span></font></span><span style="font-size: 12pt; color: #993300; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">？更重要的是如何才能学好</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt; color: #993300">Silverlight</span></font></span><span style="font-size: 12pt; color: #993300; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">呢？</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">个人建议：学习</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Silverlight</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的最基本前提是掌握至少一门</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">.NET</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">开发语言如</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">C#</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">或</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">VB.NET</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">等；接下来要做的是买一本</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Silverlight2</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">或</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">3</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的入门书籍，这里我推荐《</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Silverlight2</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">完美征程》和《</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Silverlight3</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">银光志》，当然，如果你想把</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">WPF</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">也一起学了，那么可以买</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">N</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">人帮的《</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">WPF</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">编程指南》。这些书从如何搭建</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Silverlight</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">开发平台开始讲，其中每节都穿插着例子，学一节自己跟着写一节代码，一本书全看下来保证你可以到一个高度熟练或者说准精通水平。有了扎实的基础后，我强烈推荐你看我的教程，从此展开一场惊险、艰难、刺激同时也充满收获喜悦的动画游戏开发之旅，如果最后你自己能做出一款类似的</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Demo</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">出来，那么我可以恭喜你，你已经精通</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Silverlight</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">了。当然，要成为未来</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">RIA</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">技术的领军人物，精通</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Silverlight</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">技术也才仅仅是个开始，你还需要精通通讯技术，熟悉至少一种相关数据库，理解并能运用相关的美工知识，如能掌握如</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">Photoshop</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">等图形图象编辑工具则更具优势，或许这就是传说中的复合型人才，别说不可能，从小就开始数理化英物生，我们中国人难道比别人差吗？模仿的时代即将结束，</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">80</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">后更应具备创造与创新能力，肩负起时代的责任，你们的成长将为</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">90</span></font></span><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">后乃至新世纪出生的中国人指引更为正确的道路，未来的天空靠大家去铸就！</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-size: 12pt; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">你畏惧吗？畏惧就请放下你手中的键盘；你害怕吗？害怕就请关上你的显示器。宁静可以换来安逸，但除此之外一无所有。网络世界已进入一个新的乱世，谁将是下一个曹操？</span><span lang="EN-US"><font face="Times New Roman"><span style="font-size: 12pt">!!!!</span></font></span></p><img src="http://www.cnblogs.com/alamiye010/aggbug/1636706.html?type=1" width="1" height="1" alt=""/><p>评论: 32　<a href="http://www.cnblogs.com/alamiye010/archive/2009/12/31/1636706.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/alamiye010/archive/2009/12/31/1636706.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56815/" target="_blank">李开复创新工场发展基金曝光 首单投移动互联</a><span style="color:gray">(2010-02-10 11:28)</span><br/>· <a href="http://news.cnblogs.com/n/56814/" target="_blank">Sun前CEO欲写自传 称经济危机是Sun被购主因</a><span style="color:gray">(2010-02-10 11:25)</span><br/>· <a href="http://news.cnblogs.com/n/56812/" target="_blank">Google社会化产品Buzz发布会实录</a><span style="color:gray">(2010-02-10 11:15)</span><br/>· <a href="http://news.cnblogs.com/n/56813/" target="_blank">福布斯：苹果生态产业链上的十大企业</a><span style="color:gray">(2010-02-10 11:14)</span><br/>· <a href="http://news.cnblogs.com/n/56811/" target="_blank">纽约时报：Google凭借Buzz进军社交网络</a><span style="color:gray">(2010-02-10 10:59)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56812/" target="_blank">Google社会化产品Buzz发布会实录</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial)：(四十五)制作精美的可任意拖放对象的物品栏及装备栏</title><link>http://www.cnblogs.com/alamiye010/archive/2009/12/24/1631249.html</link><dc:creator>深蓝色右手</dc:creator><author>深蓝色右手</author><pubDate>Thu, 24 Dec 2009 03:17:00 GMT</pubDate><guid>http://www.cnblogs.com/alamiye010/archive/2009/12/24/1631249.html</guid><description><![CDATA[<p>阅读: 2479 评论: 30 作者: <a href="http://www.cnblogs.com/alamiye010/" target="_blank">深蓝色右手</a> 发表于 2009-12-24 11:17 <a href="http://www.cnblogs.com/alamiye010/archive/2009/12/24/1631249.html" target="_blank">原文链接</a></p><p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">本节的内容很酷哦，作为圣诞礼物送给大家</span><span lang="EN-US"><font face="Times New Roman">~</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">嘿嘿</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在通常的网络游戏中，物品、装备、技能、快捷按钮等窗口中的图标都是可以相互拖放的，不同的栏目有着不同的限制，例如技能图标不能拖放到物品栏及装备栏中，且不是所有的魔法技能都可以拖放（如被动技能等）；而非装备类的所有物品则无法拖放到角色的装备栏中。那么本节我将向大家讲解如何在本教程示例游戏中添加物品栏及装备栏，并实现它们之间双向物品交换的两种模式：拖放模式和双击模式。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">首先制作物品栏。这里我使用的是官方的工具</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">toolkit</span><span lang="EN-US" style="font-size: 9pt; color: blue; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">:</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">ListBoxDragDropTarget</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，只需设置它的</span><span lang="EN-US" style="font-size: 9pt; color: red; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">DragDrop.AllowDrop</span><span lang="EN-US" style="font-size: 9pt; color: blue; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="True"</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，那么它内部的</span><span lang="EN-US"><font face="Times New Roman">ListBox</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">类型容器中的所有</span><span lang="EN-US"><font face="Times New Roman">Item</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">将均可以被拖放。相关示例大家可以参考</span><span lang="EN-US"><a href="http://www.cnblogs.com/024hi" target="_blank"><span lang="EN-US" style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><span lang="EN-US">紫色永恒</span></span></a></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的这篇文章：</span><u><span lang="EN-US" style="color: navy"><a href="http://www.cnblogs.com/024hi/archive/2009/10/21/1587690.html" target="_blank"><span lang="EN-US" style="color: navy; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><span lang="EN-US">最新</span></span><span style="color: navy"><font face="Times New Roman">Silverlight Toolkit</font></span><span lang="EN-US" style="color: navy; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><span lang="EN-US">中的</span></span><span style="color: navy"><font face="Times New Roman">Drag&amp;Drop</font></span><span lang="EN-US" style="color: navy; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><span lang="EN-US">支持</span></span></a></span></u><u><span style="color: navy; font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。</span></u></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">仅仅使用</span><span lang="EN-US"><font face="Times New Roman">ListBox</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的默认配置还是与实际游戏中的物品栏容器显示相距太远，物品栏直观上给我们的印象是一个</span><span lang="EN-US"><font face="Times New Roman">N*M</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的网格形容器，里面的对象是图标，对内对外都应能做到任意拖放。为了满足上述需求，我们还得在</span><span lang="EN-US"><font face="Times New Roman">ListBox</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的模版改造上下些工夫。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">默认情况下，</span><font face="Times New Roman"> </font><span lang="EN-US" style="font-size: 9pt; color: #a31515; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">ListBoxDragDropTarget</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">内部拖放时并不能作用于</span><span lang="EN-US"><font face="Times New Roman">virtualized</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">容器（</span><span lang="EN-US"><font face="Times New Roman">ListBox</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的默认容器），因此我们首先需要重写</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">ItemsPanel</span><span lang="EN-US"><font face="Times New Roman"> </font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">ItemsPanelTemplate</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">来实现</span><span lang="EN-US"><font face="Times New Roman">ListBox</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">内部子对象之间能相互拖放：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">toolkit</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">:</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">ListBoxDragDropTarget</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> x</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">:</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Name</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="dragDropTarget"</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> window</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">:</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">DragDrop.AllowDrop</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="True"&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">ListBox</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> x</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">:</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Name</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="listBox"</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> </span><span lang="EN-US" style="font-size: 9pt; color: red; mso-ascii-font-family: 新宋体; mso-font-kerning: 0pt; mso-no-proof: yes; mso-fareast-font-family: 新宋体"><font face="Times New Roman">&#8230;&#8230;</font></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">ListBox.ItemsPanel</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">ItemsPanelTemplate</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">StackPanel </span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">/&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;/</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">ItemsPanelTemplate</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp; </span><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;/</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">ListBox.ItemsPanel</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;/</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">ListBox</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US" style="font-size: 9pt; color: #a31515; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;/</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">toolkit</span><span lang="EN-US" style="font-size: 9pt; color: blue; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">:</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">ListBoxDragDropTarget</span><span lang="EN-US" style="font-size: 9pt; color: blue; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">问题又来了，</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">StackPanel</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">仅能实现水平或竖直方向上的子控件排列，仔细想想，要是它能折行，不也是一个网格吗？既要</span><span lang="EN-US"><font face="Times New Roman">Panel</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">类型，又要具备折行功能，当然非</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">WrapPanel</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">莫属。下面只需将</span><span lang="EN-US" style="font-size: 9pt; color: blue; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">StackPanel </span><span lang="EN-US" style="font-size: 9pt; color: blue; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">/&gt;</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">换成</span><span lang="EN-US" style="font-size: 9pt; color: blue; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">toolkit</span><span lang="EN-US" style="font-size: 9pt; color: blue; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">:</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">WrapPanel</span><span lang="EN-US" style="font-size: 9pt; color: red; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> Orientation</span><span lang="EN-US" style="font-size: 9pt; color: blue; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="Horizontal" /&gt;</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">即可。同时，我们还必须让该</span><span lang="EN-US"><font face="Times New Roman">ListBox</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">背景透明且去掉它的滚动条：</span><span lang="EN-US" style="font-size: 9pt; color: red; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Background</span><span lang="EN-US" style="font-size: 9pt; color: blue; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="Transparent"</span><span lang="EN-US" style="font-size: 9pt; color: red; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> ScrollViewer.HorizontalScrollBarVisibility</span><span lang="EN-US" style="font-size: 9pt; color: blue; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="Disabled"</span><span lang="EN-US" style="font-size: 9pt; color: red; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> ScrollViewer.VerticalScrollBarVisibility</span><span lang="EN-US" style="font-size: 9pt; color: blue; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="Disabled"</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">才算完美。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">物品栏界面制作完了，如何对它内部进行物品显示呢？这里需要用到</span><span lang="EN-US" style="font-size: 9pt; color: #2b91af; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">ObservableCollection</span><span lang="EN-US" style="font-size: 9pt; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;<span style="color: #2b91af">QXIcon</span>&gt;</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对象作为</span><span lang="EN-US"><font face="Times New Roman">ListBox</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的子控件数据源，为什么选择</span><span lang="EN-US" style="font-size: 9pt; color: #2b91af; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">ObservableCollection&lt;&gt;</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">而不是</span><span lang="EN-US" style="font-size: 9pt; color: #2b91af; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">List&lt;&gt;</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">等普通列表对象呢？因为</span><span lang="EN-US" style="font-size: 9pt; color: #2b91af; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">ObservableCollection&lt;&gt;</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在内部子对象变化时会即时提交反馈给界面执行重绘更新，而</span><span lang="EN-US"><font face="Times New Roman">List</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">则不会，大家不妨自行尝试一下，可以体会到</span><span lang="EN-US" style="font-size: 9pt; color: #2b91af; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">ObservableCollection&lt;&gt;</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是相当优雅的。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">接下来，在游戏中我为主角定义了一个属性记录它现有的所有物品代号，当初始化物品栏时，游戏将读取这些代号，并从</span><span lang="EN-US"><font face="Times New Roman">xml</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中的物品详细资料中查出相应的数据，例如：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp; </span>&lt;</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Items</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>&lt;</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Item</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> </span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Code</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">=</span><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">"<span style="color: blue">0</span>"<span style="color: blue"> </span><span style="color: red">Categoriy</span><span style="color: blue">=</span>"<span style="color: blue">1</span>"<span style="color: blue"> </span><span style="color: red">IconCode</span><span style="color: blue">=</span>"<span style="color: blue">45</span>"<span style="color: blue"> </span><span style="color: red">EquipCode</span><span style="color: blue">=</span>"<span style="color: blue">0</span>"<span style="color: blue"> </span><span style="color: red">Name</span><span style="color: blue">=</span>"</span><span style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">武威之逐日衣</span><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">"<span style="color: blue"> </span><span style="color: red">Description</span><span style="color: blue">=</span>"</span><span style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&#9733;&#9733;&#9733;&#9733;&#9734;闪避很高</span><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">"<span style="color: blue"> </span><span style="color: red">Value</span><span style="color: blue">=</span>"<span style="color: blue">0,0,0,0,200,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0</span>"<span style="color: blue">&gt;&lt;/</span><span style="color: #a31515">Item</span><span style="color: blue">&gt;<o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>&lt;</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Item</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> </span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Code</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">=</span><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">"<span style="color: blue">1</span>"<span style="color: blue"> </span><span style="color: red">Categoriy</span><span style="color: blue">=</span>"<span style="color: blue">1</span>"<span style="color: blue"> </span><span style="color: red">IconCode</span><span style="color: blue">=</span>"<span style="color: blue">46</span>"<span style="color: blue"> </span><span style="color: red">EquipCode</span><span style="color: blue">=</span>"<span style="color: blue">0</span>"<span style="color: blue"> </span><span style="color: red">Name</span><span style="color: blue">=</span>"</span><span style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">剑影风纱</span><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">"<span style="color: blue"> </span><span style="color: red">Description</span><span style="color: blue">=</span>"</span><span style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">很漂亮哦，防御很高</span><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">"<span style="color: blue"> </span><span style="color: red">Value</span><span style="color: blue">=</span>"<span style="color: blue">0,0,0,0,0,0,0,0,0,200,0,0,0,0,0,0,0,0,0,0,0</span>"<span style="color: blue">&gt;&lt;/</span><span style="color: #a31515">Item</span><span style="color: blue">&gt;<o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>&lt;</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Item</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> </span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Code</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">=</span><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">"<span style="color: blue">2</span>"<span style="color: blue"> </span><span style="color: red">Categoriy</span><span style="color: blue">=</span>"<span style="color: blue">0</span>"<span style="color: blue"> </span><span style="color: red">IconCode</span><span style="color: blue">=</span>"<span style="color: blue">47</span>"<span style="color: blue"> </span><span style="color: red">EquipCode</span><span style="color: blue">=</span>"<span style="color: blue">0</span>"<span style="color: blue"> </span><span style="color: red">Name</span><span style="color: blue">=</span>"</span><span style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">灭神之刃</span><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">"<span style="color: blue"> </span><span style="color: red">Description</span><span style="color: blue">=</span>"</span><span style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">小心，很容易秒杀</span><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">"<span style="color: blue"> </span><span style="color: red">Value</span><span style="color: blue">=</span>"<span style="color: blue">0,1450,8044,10,10,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0</span>"<span style="color: blue">&gt;&lt;/</span><span style="color: #a31515">Item</span><span style="color: blue">&gt;<o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>&lt;</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Item</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> </span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Code</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">=</span><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">"<span style="color: blue">3</span>"<span style="color: blue"> </span><span style="color: red">Categoriy</span><span style="color: blue">=</span>"<span style="color: blue">0</span>"<span style="color: blue"> </span><span style="color: red">IconCode</span><span style="color: blue">=</span>"<span style="color: blue">48</span>"<span style="color: blue"> </span><span style="color: red">EquipCode</span><span style="color: blue">=</span>"<span style="color: blue">1</span>"<span style="color: blue"> </span><span style="color: red">Name</span><span style="color: blue">=</span>"</span><span style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">幻影狂刀</span><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">"<span style="color: blue"> </span><span style="color: red">Description</span><span style="color: blue">=</span>"</span><span style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">速度极快，杀人无数</span><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">"<span style="color: blue"> </span><span style="color: red">Value</span><span style="color: blue">=</span>"<span style="color: blue">0,300,400,10,10,0,-200,0,0,0,0,0,0,0,0,20,0,0,0,0,0</span>"<span style="color: blue">&gt;&lt;/</span><span style="color: #a31515">Item</span><span style="color: blue">&gt;<o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>&lt;</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Item</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> </span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Code</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">=</span><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">"<span style="color: blue">4</span>"<span style="color: blue"> </span><span style="color: red">Categoriy</span><span style="color: blue">=</span>"<span style="color: blue">2</span>"<span style="color: blue"> </span><span style="color: red">IconCode</span><span style="color: blue">=</span>"<span style="color: blue">49</span>"<span style="color: blue"> </span><span style="color: red">EquipCode</span><span style="color: blue">=</span>"<span style="color: blue">0</span>"<span style="color: blue"> </span><span style="color: red">Name</span><span style="color: blue">=</span>"</span><span style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">腰带<span lang="EN-US">1</span></span><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">"<span style="color: blue"> </span><span style="color: red">Description</span><span style="color: blue">=</span>"</span><span style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">作者无敌懒</span><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">"<span style="color: blue"> </span><span style="color: red">Value</span><span style="color: blue">=</span>"<span style="color: blue">0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0</span>"<span style="color: blue">&gt;&lt;/</span><span style="color: #a31515">Item</span><span style="color: blue">&gt;<o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 18pt; line-height: 150%; mso-outline-level: 2; mso-char-indent-count: 2.0"><span lang="EN-US" style="font-size: 9pt; color: blue; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Item</span><span lang="EN-US" style="font-size: 9pt; color: blue; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> </span><span lang="EN-US" style="font-size: 9pt; color: red; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Code</span><span lang="EN-US" style="font-size: 9pt; color: blue; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">=</span><span lang="EN-US" style="font-size: 9pt; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">"<span style="color: blue">5</span>"<span style="color: blue"> </span><span style="color: red">Categoriy</span><span style="color: blue">=</span>"<span style="color: blue">2</span>"<span style="color: blue"> </span><span style="color: red">IconCode</span><span style="color: blue">=</span>"<span style="color: blue">50</span>"<span style="color: blue"> </span><span style="color: red">EquipCode</span><span style="color: blue">=</span>"<span style="color: blue">1</span>"<span style="color: blue"> </span><span style="color: red">Name</span><span style="color: blue">=</span>"</span><span style="font-size: 9pt; color: blue; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">腰带<span lang="EN-US">2</span></span><span lang="EN-US" style="font-size: 9pt; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">"<span style="color: blue"> </span><span style="color: red">Description</span><span style="color: blue">=</span>"</span><span style="font-size: 9pt; color: blue; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">作者无敌懒</span><span lang="EN-US" style="font-size: 9pt; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">"<span style="color: blue"> </span><span style="color: red">Value</span><span style="color: blue">=</span>"<span style="color: blue">0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0</span>"<span style="color: blue">&gt;&lt;/</span><span style="color: #a31515">Item</span><span style="color: blue">&gt;<br /></span></span><font face="Times New Roman"><span lang="EN-US" style="font-size: 9pt; color: blue; line-height: 150%; mso-ascii-font-family: 新宋体; mso-font-kerning: 0pt; mso-no-proof: yes; mso-fareast-font-family: 新宋体">&#8230;&#8230;</span><span lang="EN-US" style="font-size: 9pt; color: blue; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><o:p></o:p></span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US" style="font-size: 9pt; color: blue; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;/</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Items</span><span lang="EN-US" style="font-size: 9pt; color: blue; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">其中</span><span lang="EN-US"><font face="Times New Roman">Value</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">值中的数据一一对应影响主角的</span><span lang="EN-US"><font face="Times New Roman">21</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">个基本属性，最后将这些赋予</span><span lang="EN-US" style="font-size: 9pt; color: #2b91af; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">QXIcon</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，再将所有的</span><span lang="EN-US" style="font-size: 9pt; color: #2b91af; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">QXIcon</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">绑定到物品栏的</span><span lang="EN-US" style="font-size: 9pt; color: #2b91af; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">ObservableCollection</span><span lang="EN-US" style="font-size: 9pt; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;<span style="color: #2b91af">QXIcon</span>&gt;</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中，到此就全部实现了物品栏对主角所持物品的显示：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US"><v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype><img height="400" alt="" src="http://silverfuture.cn/MyImages/091224/0.jpg" width="449" border="0" /></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">嘿嘿，怎么样？这些物品与背景网格匹配得很好吧</span><span lang="EN-US"><font face="Times New Roman">~</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">而且物品栏里的所有物品都可以相互间拖放变换位置，很有意思呢。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">完成了物品栏，下面我们用同样的方法来实现角色的装备栏。此时问题又来了，装备栏里的所有装备格的排放并非都有规律，一些在这，一些在那：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US"><img height="298" alt="" src="http://silverfuture.cn/MyImages/091224/1.jpg" width="228" border="0" /></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21pt; line-height: 150%; mso-outline-level: 2; mso-char-indent-count: 2.0"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">而不论</span><span lang="EN-US"><font face="Times New Roman">ListBox</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">套用何种模板，也只能实现内部子对象按相应的规律摆放，要实现装备任意位置的摆放，我们不妨以一个装备对应一个</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">ListBoxDragDropTarget</span><span lang="EN-US"><font face="Times New Roman"> </font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</span><span lang="EN-US"><font face="Times New Roman">ListBox</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">来实现。这样就可以很简单的布局出主角的</span><span lang="EN-US"><font face="Times New Roman">9</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">件装备栏了：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US"><img height="449" alt="" src="http://silverfuture.cn/MyImages/091224/2.jpg" width="355" border="0" /></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">此时我们尝试一下打开物品栏，任意拖放一个物品到装备栏中，</span><span lang="EN-US"><font face="Times New Roman">OK</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，成功了。但是反过来，从装备栏中将已装备的东西拖到物品栏中却报错了，而且这个错误无法调试，后来经过反复尝试，发现问题原来出在</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">WrapPanel</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">上，如果不使用</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">WrapPanel</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，就算在两个</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">StackPanel</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">之间拖放都不会存在任何问题；而从一个</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">ListBox</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中将对象拖到另一个</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">WrapPanel</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中时，却会出现</span><span lang="EN-US"><font face="Times New Roman">JS</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">无法调试的错误；同样的，我还曾尝试使用一个</span><span lang="EN-US" style="font-size: 9pt; color: #2b91af; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">PagedCollectionView</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">来对</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">WrapPanel</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">进行分页，确实做到了，但是当将对象拖放到</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">WrapPanel</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的第二页时，同样会报</span><span lang="EN-US"><font face="Times New Roman">JS</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">无法调试错误，基本肯定问题出来</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">WrapPanel</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">控件上，希望</span><span lang="EN-US"><font face="Times New Roman">MS</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在未来的版本中能将这个实用的控件兼容性与功能完善好。没办法，都做到这个地步了，硬着头皮也得写完呀，看来只能自己去实现相应的事件功能模块了。还是从</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">ListBoxDragDropTarget</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的所有事件的理解着手。</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">ListBoxDragDropTarget</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在拖放方面的事件真不少：</span><span lang="EN-US"><font face="Times New Roman">DragEnter</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">、</span><span lang="EN-US"><font face="Times New Roman">DragLeave</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">、</span><span lang="EN-US"><font face="Times New Roman">DragOver</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">、</span><span lang="EN-US"><font face="Times New Roman">Drop</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">、</span><span lang="EN-US"><font face="Times New Roman">GiveFeedback</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">、</span><span lang="EN-US"><font face="Times New Roman">ItemDragCompleted</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">、</span><span lang="EN-US"><font face="Times New Roman">ItemDragStarting</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">、</span><span lang="EN-US"><font face="Times New Roman">ItemDroppedOnSource</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">、</span><span lang="EN-US"><font face="Times New Roman">ItemDroppedOnTarget</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">、</span><span lang="EN-US"><font face="Times New Roman">QueryContinueDrag</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，其中又可以化分为拖</span><span lang="EN-US"><font face="Times New Roman">(Drag)</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和放</span><span lang="EN-US"><font face="Times New Roman">(Drop)</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">两类，从字面意思上大家可以很容易理解，正常状态下，从一个</span><span lang="EN-US"><font face="Times New Roman">ListBox(</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这里记做</span><span lang="EN-US"><font face="Times New Roman">listBox1)</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">往另外一个</span><span lang="EN-US"><font face="Times New Roman">ListBox(</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">记做</span><span lang="EN-US"><font face="Times New Roman">listBox2)</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">拖放控件，当鼠标在</span><span lang="EN-US"><font face="Times New Roman">listBox1</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中的一个子控件上按住左键不放时，首先触发的是</span><span lang="EN-US"><font face="Times New Roman">listBox1</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</span><span lang="EN-US"><font face="Times New Roman">ItemDragStarting</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">事件，然后会卡那么一下</span><span lang="EN-US"><font face="Times New Roman">(</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">没去看具体源码，或许在执行遍历，就算在</span><span lang="EN-US"><font face="Times New Roman">4</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">核的电脑上也同样会卡一下，可见</span><span lang="EN-US"><font face="Times New Roman">MS</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">赶工的水平</span><span lang="EN-US"><font face="Times New Roman">)</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">完成抓取并触发</span><span lang="EN-US"><font face="Times New Roman">listBox1</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</span><span lang="EN-US"><font face="Times New Roman">ItemDragCompleted</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">事件，如果是在自身</span><span lang="EN-US"><font face="Times New Roman">listBox1</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中放下，则触发</span><span lang="EN-US"><font face="Times New Roman">listBox1</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</span><span lang="EN-US"><font face="Times New Roman">ItemDroppedOnSource</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">事件，而如果在</span><span lang="EN-US"><font face="Times New Roman">listBox2</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中放开，则先触发</span><span lang="EN-US"><font face="Times New Roman">listBox2</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</span><span lang="EN-US"><font face="Times New Roman">Drop</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">事件，再最后触发</span><span lang="EN-US"><font face="Times New Roman">listBox1</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</span><span lang="EN-US"><font face="Times New Roman">ItemDroppedOnTarget</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">事件。感觉上去还是比较混乱的，这个拖放做得真是。。。当然，在整个过程中还会触发另外剩下的那几个事件，字面上都很好理解，这里就不细说了。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">充分理解</span><span lang="EN-US"><font face="Times New Roman">DragDrop</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">事件的顺序与原理后，我们制作物品栏与装备栏之间的拖放就轻松多了，注册相应的事件并对每个物品的类型进行判断是否可以放置等即可（例如药水是装备不了的，而帽子是无法拖到鞋子上的）：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US"><img height="390" alt="" src="http://silverfuture.cn/MyImages/091224/3.jpg" width="552" border="0" /></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">物品栏与装备栏之间除了通过拖放交互，在双击某个装备时，应该实现同样的装</span><span lang="EN-US"><font face="Times New Roman">/</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">卸功能。因此，这里我为</span><span lang="EN-US" style="font-size: 9pt; color: #2b91af; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">QXIcon</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">添加新的鼠标左键双击事件：</span><span lang="EN-US" style="font-size: 9pt; color: blue; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">public</span><span lang="EN-US" style="font-size: 9pt; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> <span style="color: blue">event</span> <span style="color: #2b91af">MouseButtonEventHandler</span> MouseLeftButtonDoubleClick;</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">并通过如下代码实现双击功能：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>doubleClickTimer = <span style="color: blue">new</span> <span style="color: #2b91af">DispatcherTimer</span>() { Interval = <span style="color: #2b91af">TimeSpan</span>.FromMilliseconds(250) };<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>doubleClickTimer.Tick += (s, e) =&gt; { doubleClickTimer.Stop(); };<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue">this</span>.MouseLeftButtonDown += (s, e) =&gt; {<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue">if</span> (doubleClickTimer.IsEnabled) {<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>doubleClickTimer.Stop();<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue">if</span> (MouseLeftButtonDoubleClick != <span style="color: blue">null</span>) {<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>MouseLeftButtonDoubleClick(s, e);<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>} <span style="color: blue">else</span> {<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>doubleClickTimer.Start();<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US" style="font-size: 9pt; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>};</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">嘿嘿，到此就大功告成了。当然，在换装时还需要处理主角属性变化等逻辑，且实际武器衣服的更换同样会发生在主角身上（类似纸娃娃系统），这些内容在不同的游戏中处理方式不同，具体就不列举了。下面是最后的效果图，非常酷吧：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US"><img height="553" alt="" src="http://silverfuture.cn/MyImages/091224/4.jpg" width="676" border="0" /></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span lang="EN-US" style="font-size: 9pt; color: #a31515; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">DragDropTarget</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">拖放控件在目前来说限制太多，且支持的类型也很少，还存在</span><span lang="EN-US"><font face="Times New Roman">BUG</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。但是它的出现着实让人迷恋，在它还未完善前，大家如果打算使用相应功能，自行定义实现其实也是不错的选择，原理和</span><span lang="EN-US"><font face="Times New Roman">ChildWindow</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">有异曲同工之处，至少你可以很好的把握住从</span><span lang="EN-US"><font face="Times New Roman">Drag</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">到</span><span lang="EN-US"><font face="Times New Roman">Drop</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">整个流程到底谁被抓取，抓取源是什么，放到了哪个目标源，替换的是哪个对象等等；而这些在目前我所用到的</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">DragDropTarget</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">控件中都很难去实现，或者说极不方便；毕竟这个开源工具集还在不断的更新与完善中，</span><span lang="EN-US"><font face="Times New Roman">Silverlight</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">版本更新过快也对其有很大的影响。总来的说，一切美好东西的形成总是需要时间去磨练，期待更好，是我们每位开发者理想的追求。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">本节源码请到目录中下载，在线演示地址：</span><span lang="EN-US"><a href="http://silverfuture.cn/" target="_blank"><font face="Times New Roman">http://silverfuture.cn</font></a></span></p>
<div class="MySign">
<div class="MyImage"><img alt="WPF/Silverlight" src="http://silverfuture.cn/MyImages/sl.jpg" /></div>
<div>作者：<a href="http://alamiye010.cnblogs.com/" target="_blank">深蓝色右手</a><br />出处：<a href="http://alamiye010.cnblogs.com/" target="_blank">http://alamiye010.cnblogs.com/</a><br />教程目录及源码下载：<a href="http://www.cnblogs.com/alamiye010/archive/2009/06/17/1505346.html" target="_blank">点击进入</a>(<a href="http://space.cnblogs.com/group/WPF_SL/" target="_blank">欢迎加入WPF/Silverlight小组</a>　<a href="http://wpf_sl.cnblogs.com/" target="_blank">WPF/Silverlight博客团队</a>)<br />本文版权归作者和博客园共有，欢迎转载。但未经作者同意必须保留此段声明，且在文章页面显著位置给出原文连接，否则保留追究法律责任的权利。 </div></div> <img src="http://www.cnblogs.com/alamiye010/aggbug/1631249.html?type=1" width="1" height="1" alt=""/><p>评论: 30　<a href="http://www.cnblogs.com/alamiye010/archive/2009/12/24/1631249.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/alamiye010/archive/2009/12/24/1631249.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56815/" target="_blank">李开复创新工场发展基金曝光 首单投移动互联</a><span style="color:gray">(2010-02-10 11:28)</span><br/>· <a href="http://news.cnblogs.com/n/56814/" target="_blank">Sun前CEO欲写自传 称经济危机是Sun被购主因</a><span style="color:gray">(2010-02-10 11:25)</span><br/>· <a href="http://news.cnblogs.com/n/56812/" target="_blank">Google社会化产品Buzz发布会实录</a><span style="color:gray">(2010-02-10 11:15)</span><br/>· <a href="http://news.cnblogs.com/n/56813/" target="_blank">福布斯：苹果生态产业链上的十大企业</a><span style="color:gray">(2010-02-10 11:14)</span><br/>· <a href="http://news.cnblogs.com/n/56811/" target="_blank">纽约时报：Google凭借Buzz进军社交网络</a><span style="color:gray">(2010-02-10 10:59)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56812/" target="_blank">Google社会化产品Buzz发布会实录</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial)：(四十四)制作主角属性面板及加点器</title><link>http://www.cnblogs.com/alamiye010/archive/2009/12/17/1626572.html</link><dc:creator>深蓝色右手</dc:creator><author>深蓝色右手</author><pubDate>Thu, 17 Dec 2009 09:25:00 GMT</pubDate><guid>http://www.cnblogs.com/alamiye010/archive/2009/12/17/1626572.html</guid><description><![CDATA[<p>阅读: 1853 评论: 11 作者: <a href="http://www.cnblogs.com/alamiye010/" target="_blank">深蓝色右手</a> 发表于 2009-12-17 17:25 <a href="http://www.cnblogs.com/alamiye010/archive/2009/12/17/1626572.html" target="_blank">原文链接</a></p><p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">游戏中会使用大量的菜单面板，而这些面板往往都带有选项卡。如果用</span><span lang="EN-US"><font face="Times New Roman">Silverlight</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">工具中的</span><span lang="EN-US"><font face="Times New Roman">TabControl</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，则需要通过复杂的</span><span lang="EN-US"><font face="Times New Roman">xaml</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">重写模板来实现自定义样式，这一点时常让开发者头疼，毕竟界面的东西应该属于美工的范畴，这也是我所发现在目前</span><span lang="EN-US"><font face="Times New Roman">Silverlight</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中唯一一处只能通过</span><span lang="EN-US"><font face="Times New Roman">xaml</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">而无法用代码实现的地方。当然，如果您对此特别感兴趣，同样可以到</span><span lang="EN-US"><a href="http://www.codeplex.com/Silverlight" target="_blank"><font face="Times New Roman">http://www.codeplex.com/Silverlight</font></a></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中下载最新的开源工具源码，其中的示例项目中有非常详细的模板重写案例。本节，我将通过创建用户控件的方式来创建自定义的</span><span lang="EN-US"><font face="Times New Roman">TabControl</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</span><span lang="EN-US"><font face="Times New Roman">RepeatButton</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，实现主角属性面板及其中的属性加点器。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">首先，我创建一个</span><span lang="EN-US" style="font-size: 9pt; color: #2b91af; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">QXTabControl</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用户控件，该控件界面可以很简单，只需要包含一个头和一个身体即可：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">UserControl</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> x</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">:</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Class</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="QXGameEngine.Control.QXTabControl"<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp; </span><span style="color: red"><span style="mso-spacerun: yes">&nbsp;</span>xmlns</span><span style="color: blue">="http://schemas.microsoft.com/winfx/2006/xaml/presentation"</span> <o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp; </span><span style="color: red"><span style="mso-spacerun: yes">&nbsp;</span>xmlns</span><span style="color: blue">:</span><span style="color: red">x</span><span style="color: blue">="http://schemas.microsoft.com/winfx/2006/xaml"&gt;<o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Canvas</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">StackPanel</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> x</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">:</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Name</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="Head"/&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">ContentPresenter</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> x</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">:</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Name</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="Body"/&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;/</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Canvas</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US" style="font-size: 9pt; color: blue; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;/</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">UserControl</span><span lang="EN-US" style="font-size: 9pt; color: blue; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span lang="EN-US" style="font-size: 9pt; color: blue; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Head</span><span lang="EN-US"><font face="Times New Roman"> </font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用做</span><span lang="EN-US"><font face="Times New Roman">TabItem</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的容器，作为</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">StackPanel</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">类型控件，它可以对内部控件进行横排或竖排，从而基本满足大多数情况需要；而</span><span lang="EN-US" style="font-size: 9pt; color: blue; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Body</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是</span><span lang="EN-US"><font face="Times New Roman">ContentPresenter</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">类型，在</span><span lang="EN-US"><a href="http://www.cnblogs.com/alamiye010/archive/2009/11/30/1613773.html" target="_blank"><span lang="EN-US" style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><span lang="EN-US">第四十二节</span></span></a></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中我曾提及过它，相当于一个万用变身控件，将它作为选项卡的身体部分再合适不过了。当我们点击不同的选项卡时，将不同的面板控件作为值赋予给</span><span lang="EN-US" style="font-size: 9pt; color: blue; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Body</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，轻松实现高度自由的选项内容变换。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">那么用什么控件来替代</span><span lang="EN-US"><font face="Times New Roman">TabItem</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">呢？在《剑侠世界》中，选项卡做得别具特色，不光在默认情况下鼠标进入与离开会呈现不同的图片；当被点中后，同样实现另外的两张图片间的切换。这样的效果相当精致，而我们又该如何将它实现呢？此时，不得不想到我们可爱的</span><span lang="EN-US" style="font-size: 9pt; color: #2b91af; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">QXIcon</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">控件，我为它添加了新的类型：</span><span lang="EN-US" style="font-size: 9pt; color: #2b91af; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">IconTypes</span><span lang="EN-US" style="font-size: 9pt; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">.HitModes</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，定义很简单，根据该控件是否被点击从而对</span><span lang="EN-US"><font face="Times New Roman">4</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">张图片进行相应切换：</span><span lang="EN-US" style="font-size: 9pt; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">case</span><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> <span style="color: #2b91af">IconTypes</span>.HitModes:<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue">this</span>.MouseEnter += (s, e) =&gt; { Container.Background = Hit ? HitNewBodySource : NewSource; };<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue">this</span>.MouseLeave += (s, e) =&gt; { Container.Background = Hit ? HitBodySource : _BodySource; };<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue">this</span>.MouseLeftButtonDown += (s, e) =&gt; { Hit = Hit ? <span style="color: blue">false</span> : <span style="color: blue">true</span>; };<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US" style="font-size: 9pt; color: blue; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">break</span><span lang="EN-US" style="font-size: 9pt; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">实现后的效果如下图：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US"><v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype><img height="118" alt="" src="http://silverfuture.cn/MyImages/091217/0.jpg" width="396" border="0" /></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US"></span>&nbsp;</p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US"><img height="118" alt="" src="http://silverfuture.cn/MyImages/091217/1.jpg" width="396" border="0" /></span><span lang="EN-US" style="font-size: 9pt; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 21.75pt; text-align: left; mso-layout-grid-align: none" align="left"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在</span><span lang="EN-US" style="font-size: 9pt; color: #2b91af; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">QXTabControl</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中包含一个</span><span lang="EN-US" style="font-size: 9pt; color: #2b91af; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">List</span><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;<span style="color: #2b91af">QXIcon</span>&gt; tabItemList = <span style="color: blue">new</span> <span style="color: #2b91af">List</span>&lt;<span style="color: #2b91af">QXIcon</span>&gt;();</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用于管理现有的所有选项卡；我还模仿</span><span lang="EN-US" style="font-size: 9pt; color: #2b91af; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">TabControl</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在</span><span lang="EN-US" style="font-size: 9pt; color: #2b91af; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">QXTabControl</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中创建</span><span lang="EN-US"><font face="Times New Roman">SelectionChanged</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">事件：</span><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">public</span><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> <span style="color: blue">delegate</span> <span style="color: blue">void</span> <span style="color: #2b91af">SelectionChangedEventHandler</span>(<span style="color: blue">object</span> sender, <span style="color: #2b91af">QXIcon</span> tabItem);<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US" style="font-size: 9pt; color: blue; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">public</span><span lang="EN-US" style="font-size: 9pt; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> <span style="color: blue">event</span> <span style="color: #2b91af">SelectionChangedEventHandler</span> SelectionChanged;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">当某个选项卡被点击时，触发该事件：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><font face="Times New Roman"><span lang="EN-US" style="font-size: 9pt; line-height: 150%; mso-ascii-font-family: 新宋体; mso-font-kerning: 0pt; mso-no-proof: yes; mso-fareast-font-family: 新宋体">&#8230;&#8230;</span><span lang="EN-US" style="font-size: 9pt; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><o:p></o:p></span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">tabItem.MouseLeftButtonDown += (sender, e) =&gt; {<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp; </span><span style="color: blue">foreach</span> (<span style="color: #2b91af">QXIcon</span> icon <span style="color: blue">in</span> tabItemList) {<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue">if</span> (icon == sender) {<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>icon.Hit = <span style="color: blue">true</span>;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>icon.Container.Background = icon.HitNewBodySource;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="mso-spacerun: yes">&nbsp;</span>} <span style="color: blue">else</span> {<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>icon.Hit = <span style="color: blue">false</span>;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>icon.Container.Background = icon.BodySource;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp; </span>}<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp; </span><strong style="mso-bidi-font-weight: normal"><span style="mso-spacerun: yes">&nbsp;</span>SelectionChanged(<span style="color: blue">this</span>, sender <span style="color: blue">as</span> <span style="color: #2b91af">QXIcon</span>);<o:p></o:p></strong></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp; </span>e.Handled = <span style="color: blue">true</span>;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US" style="font-size: 9pt; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">};<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><font face="Times New Roman"><span lang="EN-US" style="font-size: 9pt; line-height: 150%; mso-ascii-font-family: 新宋体; mso-font-kerning: 0pt; mso-no-proof: yes; mso-fareast-font-family: 新宋体">&#8230;&#8230;</span><span lang="EN-US" style="font-size: 9pt; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><o:p></o:p></span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这样我们就可以在游戏窗口中对已创建的选项卡控件注册</span><span lang="EN-US"><font face="Times New Roman">SelectionChanged</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">事件了：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: green; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">//</span><span style="font-size: 9pt; color: green; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">主角属性选项卡内容<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #2b91af; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">QXTabControl</span><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> tc = <span style="color: blue">new</span> <span style="color: #2b91af">QXTabControl</span>() {<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </span>TabItemOrientation = <span style="color: #2b91af">Orientation</span>.Horizontal,<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </span>TabItemHeight = 28,<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </span>BodyLeft = -4,<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </span>BodyTop = 27<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">};<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: green; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">//</span><span style="font-size: 9pt; color: green; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">添加<span lang="EN-US">4</span>个选项卡<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">tc.AddItem(63, 28, 1, <span style="color: #a31515">"/Image/Icon/39.png"</span>, <span style="color: #a31515">"/Image/Icon/40.png"</span>, <span style="color: #a31515">"/Image/Icon/41.png"</span>, <span style="color: #a31515">"/Image/Icon/42.png"</span>, <span style="color: #a31515">"</span></span><span style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">属<span lang="EN-US"><span style="mso-spacerun: yes">&nbsp; </span></span>性<span lang="EN-US">"</span></span><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">);<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">tc.AddItem(63, 28, 1, <span style="color: #a31515">"/Image/Icon/39.png"</span>, <span style="color: #a31515">"/Image/Icon/40.png"</span>, <span style="color: #a31515">"/Image/Icon/41.png"</span>, <span style="color: #a31515">"/Image/Icon/42.png"</span>, <span style="color: #a31515">"</span></span><span style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">声<span lang="EN-US"><span style="mso-spacerun: yes">&nbsp; </span></span>望<span lang="EN-US">"</span></span><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">);<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">tc.AddItem(63, 28, 1, <span style="color: #a31515">"/Image/Icon/39.png"</span>, <span style="color: #a31515">"/Image/Icon/40.png"</span>, <span style="color: #a31515">"/Image/Icon/41.png"</span>, <span style="color: #a31515">"/Image/Icon/42.png"</span>, <span style="color: #a31515">"</span></span><span style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">称<span lang="EN-US"><span style="mso-spacerun: yes">&nbsp; </span></span>号<span lang="EN-US">"</span></span><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">);<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US" style="font-size: 9pt; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">tc.AddItem(63, 28, 1, <span style="color: #a31515">"/Image/Icon/39.png"</span>, <span style="color: #a31515">"/Image/Icon/40.png"</span>, <span style="color: #a31515">"/Image/Icon/41.png"</span>, <span style="color: #a31515">"/Image/Icon/42.png"</span>, <span style="color: #a31515">"</span></span><span style="font-size: 9pt; color: #a31515; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">荣<span lang="EN-US"><span style="mso-spacerun: yes">&nbsp; </span></span>誉<span lang="EN-US">"</span></span><span lang="EN-US" style="font-size: 9pt; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">);<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><font face="Times New Roman"><span lang="EN-US" style="font-size: 9pt; line-height: 150%; mso-ascii-font-family: 新宋体; mso-font-kerning: 0pt; mso-no-proof: yes; mso-fareast-font-family: 新宋体">&#8230;&#8230;</span><span lang="EN-US" style="font-size: 9pt; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><o:p></o:p></span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">tc.SelectionChanged += (sender, item) =&gt; {<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #2b91af">QXTabControl</span> tabControl = sender <span style="color: blue">as</span> <span style="color: #2b91af">QXTabControl</span>;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue">switch</span> (item.Text) {<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue">case</span> <span style="color: #a31515">"</span></span><span style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">属<span lang="EN-US"><span style="mso-spacerun: yes">&nbsp; </span></span>性<span lang="EN-US">"</span></span><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">:<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>tabControl.SetBody(leaderAttributePart);<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue">break</span>;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue">case</span> <span style="color: #a31515">"</span></span><span style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">声<span lang="EN-US"><span style="mso-spacerun: yes">&nbsp; </span></span>望<span lang="EN-US">"</span></span><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">:<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp; </span><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="mso-spacerun: yes">&nbsp;</span>tabControl.SetBody(<span style="color: blue">new</span> <span style="color: #2b91af">Canvas</span>() {<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="mso-spacerun: yes">&nbsp;</span>Background = <span style="color: blue">new</span> <span style="color: #2b91af">ImageBrush</span>() { ImageSource = <span style="color: #2b91af">Super</span>.GetImage(<span style="color: #a31515">"/Image/Plate/RoleAttributeBack1.png"</span>) },<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="mso-spacerun: yes">&nbsp;</span>Width = 350,<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="mso-spacerun: yes">&nbsp;</span>Height = 389,<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="mso-spacerun: yes">&nbsp;&nbsp;</span>});<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue">break</span>;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue">case</span> <span style="color: #a31515">"</span></span><span style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">称<span lang="EN-US"><span style="mso-spacerun: yes">&nbsp; </span></span>号<span lang="EN-US">"</span></span><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">:<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>tabControl.SetBody(<span style="color: blue">new</span> <span style="color: #2b91af">Canvas</span>() {<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Background = <span style="color: blue">new</span> <span style="color: #2b91af">ImageBrush</span>() { ImageSource = <span style="color: #2b91af">Super</span>.GetImage(<span style="color: #a31515">"/Image/Plate/RoleAttributeBack2.png"</span>) },<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="mso-spacerun: yes">&nbsp;</span>Width = 350,<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Height = 389,<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>});<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue">break</span>;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue">default</span>:<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>tabControl.SetBody(<span style="color: blue">null</span>);<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue">break</span>;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>};<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US" style="font-size: 9pt; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">};<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">运行时效果：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US" style="font-size: 9pt; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><img height="417" alt="" src="http://silverfuture.cn/MyImages/091217/2.jpg" width="616" border="0" /><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">很棒吧？嘿嘿。在角色属性面板里除了显示角色的属性值等个人资料外，还有装备管理及属性加点器两个重要部分。关于装备，后面的章节再细说。下面我向大家讲讲如何制作这个属性加点器。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如果不论样式，我们直接可以使用官方提供的</span><span lang="EN-US" style="font-size: 9pt; color: #2b91af; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">NumericUpDown</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">控件即可，该控件非常强大，看了它的源码，其本身为一个组合控件，由</span><span lang="EN-US"><font face="Times New Roman">4</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">大部分组成：文本</span><span lang="EN-US"><font face="Times New Roman">(</font></span><span lang="EN-US" style="font-size: 9pt; color: #2b91af; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">TextBlock</span><span lang="EN-US"><font face="Times New Roman">)</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">、文本容器</span><span lang="EN-US"><font face="Times New Roman">(</font></span><span lang="EN-US" style="font-size: 9pt; color: #2b91af; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">ContentPresenter</span><span lang="EN-US"><font face="Times New Roman">)</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">、加按钮</span><span lang="EN-US"><font face="Times New Roman">(</font></span><span lang="EN-US" style="font-size: 9pt; color: #2b91af; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">RepeatButton</span><span lang="EN-US"><font face="Times New Roman">)</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">及减按钮</span><span lang="EN-US"><font face="Times New Roman">(</font></span><span lang="EN-US" style="font-size: 9pt; color: #2b91af; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">RepeatButton</span><span lang="EN-US"><font face="Times New Roman">)</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，且模式很多，你能想到的基本都有。当然同样的，要重写它的样式实在是麻烦之事，其实该控件的重点就就在</span><span lang="EN-US" style="font-size: 9pt; color: #2b91af; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">RepeatButton</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">上，如何实现这个</span><span lang="EN-US"><font face="Times New Roman">Repeat</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">动作又是关键中的关键。我们不妨从它的原理出发，当鼠标在此按钮上按下时开始计时，如果鼠标一直未放开，则当到达预先设定的</span><span lang="EN-US"><font face="Times New Roman">Delay</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">时间间隔后即触发后面的连续重复动作，且这些动作以</span><span lang="EN-US"><font face="Times New Roman">Interval</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">为间隔不断重复下去直到鼠标左键被放开或鼠标离开该控件。此时，我又想到了美丽的</span><span lang="EN-US" style="font-size: 9pt; color: #2b91af; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">QXIcon</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，再次为它添加一种新模式：</span><span lang="EN-US" style="font-size: 9pt; color: #2b91af; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">IconTypes</span><span lang="EN-US" style="font-size: 9pt; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">.RepeatButton</span><span style="font-size: 9pt; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">：<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">case</span><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> <span style="color: #2b91af">IconTypes</span>.RepeatButton:<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 9pt; text-align: left; mso-layout-grid-align: none; mso-char-indent-count: 1.0" align="left"><span lang="EN-US" style="font-size: 9pt; color: #2b91af; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">DispatcherTimer</span><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> timer = <span style="color: blue">new</span> <span style="color: #2b91af">DispatcherTimer</span>();<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp; </span>timer.Tick += (s, e) =&gt; { timer.Interval = <span style="color: #2b91af">TimeSpan</span>.FromMilliseconds(Interval); RepeatClick(<span style="color: blue">this</span>, e); };<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp; </span><span style="color: blue">this</span>.MouseEnter += (s, e) =&gt; { Container.Background = NewSource; };<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp; </span><span style="color: blue">this</span>.MouseLeave += (s, e) =&gt; { Container.Background = _BodySource; timer.Stop(); };<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp; </span><span style="color: blue">this</span>.MouseLeftButtonDown += (s, e) =&gt; { timer.Interval = <span style="color: #2b91af">TimeSpan</span>.FromMilliseconds(Delay); timer.Start(); };<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp; </span><span style="color: blue">this</span>.MouseLeftButtonUp += (s, e) =&gt; { timer.Stop(); e.Handled = <span style="color: blue">true</span>; };<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US" style="font-size: 9pt; color: blue; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">break</span><span lang="EN-US" style="font-size: 9pt; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">根据前面对</span><span lang="EN-US" style="font-size: 9pt; color: #2b91af; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">RepeatButton</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">工作原理的描述，在这种模式下，我通过创建一个</span><span lang="EN-US" style="font-size: 9pt; color: #2b91af; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">DispatcherTimer</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，当它</span><span lang="EN-US"><font face="Times New Roman">Tick</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">时触发</span><span lang="EN-US" style="font-size: 9pt; color: blue; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">public</span><span lang="EN-US" style="font-size: 9pt; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> <span style="color: blue">event</span> <span style="color: #2b91af">EventHandler</span> RepeatClick;</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">事件。其中配合控件自身的</span><span lang="EN-US"><font face="Times New Roman"> MouseLeftButtonDown</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">、</span><span lang="EN-US"><font face="Times New Roman">MouseLeftButtonUp</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">及</span><span lang="EN-US"><font face="Times New Roman">MouseLeave</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">来开停</span><span lang="EN-US"><font face="Times New Roman">Timer</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">及设置它的间隔。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">接着，我们就可以将此控件应用到主角属性面板中制作属性加点器了。配合上相应逻辑，当属性点数加完并提交后，主角的新属性值会立即更新反映到界面中。按照</span><span lang="EN-US"><a href="http://www.cnblogs.com/alamiye010/archive/2009/07/30/1535462.html" target="_blank"><span lang="EN-US" style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><span lang="EN-US">第二十八节</span></span></a></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的属性设置，主角拥有</span><span lang="EN-US"><font face="Times New Roman">5</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">大基本属性，当修改这些属性时会分别影响相关的值数据。例如，默认情况下主角的智慧为</span><span lang="EN-US"><font face="Times New Roman">30</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，魔法攻击基本伤害范围为</span><span lang="EN-US"><font face="Times New Roman">460-615(</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">不包括魔法自身的攻击力</span><span lang="EN-US"><font face="Times New Roman">)</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，此时用激光魔法攻击敌人可造成约</span><span lang="EN-US"><font face="Times New Roman">600</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">左右伤血：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US"><img height="507" alt="" src="http://silverfuture.cn/MyImages/091217/3.jpg" width="581" border="0" /></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">而当我将智慧加到</span><span lang="EN-US"><font face="Times New Roman">200</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">并点击确定后，魔法攻击到了</span><span lang="EN-US"><font face="Times New Roman">3010-4015</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，此时攻击敌人可以造成</span><span lang="EN-US"><font face="Times New Roman">3500</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">左右的伤害，很酷吧。嘿嘿：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US"><img height="507" alt="" src="http://silverfuture.cn/MyImages/091217/4.jpg" width="581" border="0" /></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">本教程示例游戏中，我为主角赋予了</span><span lang="EN-US"><font face="Times New Roman">1000</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">点的潜能点，大家可以自由分配到不同的属性上，例如增加力量属性可以增加物理攻击力，增加体格可以提升血上限及防御等，增加敏捷可以加快移动及施法速度等，增加幸运可以提高暴击率等等，测试起来还是相当有趣的呢</span><span lang="EN-US"><font face="Times New Roman">~</font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">不过目前的属性加点器还不能通用，毕竟不同的游戏中加点器的实现都有差异。例如有些只有加没有减，每次点击都会直接提交，这种处理最简单；而有的每次加点都会直接反应到界面上，且中途如果不满意取消后又会恢复原样，这种模式做起来相对复杂些，需要一些临时字段来存储数据，只有提交后才更新到服务器。本节功能上我选择了折中的处理方式。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">游戏中的面板基本上大同小异，前面章节中的对象监视面板、雷达地图面板、寻路地图面板、主角属性面板的制作基本上含盖了大多数情况，后面的章节我将不再围绕面板这个罗嗦的话题了，打算将重心放到装备、物品、技能存放与拖动的实现方面，敬请关注。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">本节源码请到目录中下载，在线演示地址：</span><span lang="EN-US"><a href="http://silverfuture.cn/" target="_blank"><font face="Times New Roman">http://silverfuture.cn</font></a></span></p>
<div class="MySign">
<div class="MyImage"><img alt="WPF/Silverlight" src="http://silverfuture.cn/MyImages/sl.jpg" /></div>
<div>作者：<a href="http://alamiye010.cnblogs.com/" target="_blank">深蓝色右手</a><br />出处：<a href="http://alamiye010.cnblogs.com/" target="_blank">http://alamiye010.cnblogs.com/</a><br />教程目录及源码下载：<a href="http://www.cnblogs.com/alamiye010/archive/2009/06/17/1505346.html" target="_blank">点击进入</a>(<a href="http://space.cnblogs.com/group/WPF_SL/" target="_blank">欢迎加入WPF/Silverlight小组</a>　<a href="http://wpf_sl.cnblogs.com/" target="_blank">WPF/Silverlight博客团队</a>)<br />本文版权归作者和博客园共有，欢迎转载。但未经作者同意必须保留此段声明，且在文章页面显著位置给出原文连接，否则保留追究法律责任的权利。 </div></div><img src="http://www.cnblogs.com/alamiye010/aggbug/1626572.html?type=1" width="1" height="1" alt=""/><p>评论: 11　<a href="http://www.cnblogs.com/alamiye010/archive/2009/12/17/1626572.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/alamiye010/archive/2009/12/17/1626572.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56815/" target="_blank">李开复创新工场发展基金曝光 首单投移动互联</a><span style="color:gray">(2010-02-10 11:28)</span><br/>· <a href="http://news.cnblogs.com/n/56814/" target="_blank">Sun前CEO欲写自传 称经济危机是Sun被购主因</a><span style="color:gray">(2010-02-10 11:25)</span><br/>· <a href="http://news.cnblogs.com/n/56812/" target="_blank">Google社会化产品Buzz发布会实录</a><span style="color:gray">(2010-02-10 11:15)</span><br/>· <a href="http://news.cnblogs.com/n/56813/" target="_blank">福布斯：苹果生态产业链上的十大企业</a><span style="color:gray">(2010-02-10 11:14)</span><br/>· <a href="http://news.cnblogs.com/n/56811/" target="_blank">纽约时报：Google凭借Buzz进军社交网络</a><span style="color:gray">(2010-02-10 10:59)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56812/" target="_blank">Google社会化产品Buzz发布会实录</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial)：(四十三)制作游戏主菜单面板及鼠标左右键快捷技能栏</title><link>http://www.cnblogs.com/alamiye010/archive/2009/12/08/1619251.html</link><dc:creator>深蓝色右手</dc:creator><author>深蓝色右手</author><pubDate>Tue, 08 Dec 2009 03:38:00 GMT</pubDate><guid>http://www.cnblogs.com/alamiye010/archive/2009/12/08/1619251.html</guid><description><![CDATA[<p>阅读: 1939 评论: 18 作者: <a href="http://www.cnblogs.com/alamiye010/" target="_blank">深蓝色右手</a> 发表于 2009-12-08 11:38 <a href="http://www.cnblogs.com/alamiye010/archive/2009/12/08/1619251.html" target="_blank">原文链接</a></p><p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">每款</span><span lang="EN-US"><font face="Times New Roman">MMORPG</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">都有一个主菜单，通常置于窗口的底部。游戏中主角大部分的设置操作都从这里开启。如人物属性、物品（包裹）、技能、任务、队伍、地图、家族、门派、商城、系统设置等等；当然，还包括快捷自定义菜单栏，以及类似《暗黑破坏神》中经典式的左右键快捷技能栏。这些内容在不同的游戏中往往会根据自身的特性稍做调整，但整体上大同小异。本节，我将同样以《剑侠世界》的游戏主界面为例，向家讲解如何在</span><span lang="EN-US"><font face="Times New Roman">Silverlight</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中制作一个精美的主菜单面板及鼠标左右键快捷技能栏。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">首先，我们需要整出一张主界面的框架素材：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US"><v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype><img height="60" alt="" src="http://silverfuture.cn/MyImages/091208/0.jpg" width="732" border="0" /></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US"><img height="60" alt="" src="http://silverfuture.cn/MyImages/091208/1.jpg" width="80" border="0" /></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在《剑侠世界》中，该面板从左至右分别是键盘快捷菜单，鼠标左右键快捷菜单及游戏主菜单，那么我首先从右边的主菜单说起。大家可以看到该界面中已经被镂空的部分，这些地方是用来填充相应的菜单按钮的。如果单纯的只是用一张图片来填充，游戏的精致程度将大打折扣；大家回想一下网页中的导航菜单栏，当鼠标进入时它会通过</span><span lang="EN-US"><font face="Times New Roman">Css</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">或</span><span lang="EN-US"><font face="Times New Roman">Js</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">变换样式，从而达到突出美化的效果。我们游戏中同样可以采用类似的方案，即当鼠标进入主菜单按钮时，菜单按钮的图片由原先的灰暗切换成明亮，例如：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US"><img height="96" alt="" src="http://silverfuture.cn/MyImages/091208/2.jpg" width="135" border="0" /></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这是通过两张图片相互切换来实现的按钮突出效果；但在实际开发中，特别是</span><span lang="EN-US"><font face="Times New Roman">Silverlight</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这样基于素材时时下载的游戏中，我们需要尽量减少素材资源的数量与容量，因此我特别推荐使用透明高亮遮罩来实现按钮的突出，例如：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US"><img height="159" alt="" src="http://silverfuture.cn/MyImages/091208/3.jpg" width="163" border="0" /></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US"><span style="mso-spacerun: yes"><font face="Times New Roman">&nbsp;&nbsp;&nbsp; </font></span></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">当鼠标进入按钮时，我们可以添加一个图标蒙板并使之重叠于按钮图标图片上方，从而同样可以达到高亮突出按钮的效果；不仅如此，通常一款游戏中所有的物品图标和技能图标尺寸是统一的，通过此方式，我们只需一张图标蒙板就能达到所有图标的高亮显示，既大幅节约了素材资源空间，同时也达到了美化效果，一举两得。</span><span lang="EN-US"><font face="Times New Roman">~</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">嘿嘿</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">需求都清晰了，该用什么控件来实现呢？当然是</span><span lang="EN-US" style="font-size: 9pt; color: #2b91af; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">QXIcon</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，不过这次我们得对它进行一些改造，使之目前至少能兼容</span><span lang="EN-US"><font face="Times New Roman">3</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">种情况：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span><span style="color: blue">public</span> <span style="color: blue">enum</span> <span style="color: #2b91af">IconTypes</span> {<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: gray">///</span><span style="color: green"> </span><span style="color: gray">&lt;summary&gt;<o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: gray">///</span><span style="color: green"> </span></span><span style="font-size: 9pt; color: green; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">无<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: gray">///</span><span style="color: green"> </span><span style="color: gray">&lt;/summary&gt;<o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>None = 0,<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: gray">///</span><span style="color: green"> </span><span style="color: gray">&lt;summary&gt;<o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: gray">///</span><span style="color: green"> </span></span><span style="font-size: 9pt; color: green; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">变换突出<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: gray">///</span><span style="color: green"> </span><span style="color: gray">&lt;/summary&gt;<o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Transform = 1,<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: gray">///</span><span style="color: green"> </span><span style="color: gray">&lt;summary&gt;<o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: gray">///</span><span style="color: green"> </span></span><span style="font-size: 9pt; color: green; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">高亮突出<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;</span><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: gray">///</span><span style="color: green"> </span><span style="color: gray">&lt;/summary&gt;<o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Highlights = 2,<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US" style="font-size: 9pt; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>}</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span lang="EN-US" style="font-size: 9pt; color: #2b91af; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">QXIcon</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的主要构造如下：</span><span lang="EN-US" style="font-size: 9pt; color: #2b91af; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: gray">///</span><span style="color: green"> </span><span style="color: gray">&lt;summary&gt;<o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: gray">///</span><span style="color: green"> </span></span><span style="font-size: 9pt; color: green; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">图标控件<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: gray">///</span><span style="color: green"> </span><span style="color: gray">&lt;/summary&gt;<o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue">public</span> QXIcon(<span style="color: #2b91af">IconTypes</span> iconTypes) {<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>InitializeComponent();<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue">switch</span> (iconTypes) {<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="mso-spacerun: yes">&nbsp;&nbsp;</span><span style="color: blue">case</span> <span style="color: #2b91af">IconTypes</span>.Transform:<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue">this</span>.MouseEnter += <span style="color: blue">delegate</span> { Container.Background = NewSource; };<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue">this</span>.MouseLeave += <span style="color: blue">delegate</span> { Container.Background = _BodySource; };<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue">break</span>;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue">case</span> <span style="color: #2b91af">IconTypes</span>.Highlights:<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #2b91af">Rectangle</span> mask = <span style="color: blue">new</span> <span style="color: #2b91af">Rectangle</span>() { Visibility = <span style="color: #2b91af">Visibility</span>.Collapsed };<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Container.Children.Add(mask);<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue">this</span>.MouseEnter += <span style="color: blue">delegate</span> {<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>mask.Width = <span style="color: blue">this</span>.Width;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>mask.Height = <span style="color: blue">this</span>.Height;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>mask.Fill = NewSource;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>mask.Visibility = <span style="color: #2b91af">Visibility</span>.Visible;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>};<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue">this</span>.MouseLeave += <span style="color: blue">delegate</span> { mask.Visibility = <span style="color: #2b91af">Visibility</span>.Collapsed; };<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue">break</span>;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US" style="font-size: 9pt; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #2b91af">Brush</span> _BodySource;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: gray">///</span><span style="color: green"> </span><span style="color: gray">&lt;summary&gt;<o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: gray">///</span><span style="color: green"> </span></span><span style="font-size: 9pt; color: green; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">获取或设置图标笔刷<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: gray">///</span><span style="color: green"> </span><span style="color: gray">&lt;/summary&gt;<o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue">public</span> <span style="color: #2b91af">Brush</span> BodySource {<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue">get</span> { <span style="color: blue">return</span> _BodySource; }<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue">set</span> { Container.Background = _BodySource = <span style="color: blue">value</span>; }<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: gray">///</span><span style="color: green"> </span><span style="color: gray">&lt;summary&gt;<o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: gray">///</span><span style="color: green"> </span></span><span style="font-size: 9pt; color: green; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">获取或设置变换后<span lang="EN-US">(</span>或蒙板<span lang="EN-US">)</span>笔刷<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: gray">///</span><span style="color: green"> </span><span style="color: gray">&lt;/summary&gt;<o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US" style="font-size: 9pt; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue">public</span> <span style="color: #2b91af">Brush</span> NewSource { <span style="color: blue">get</span>; <span style="color: blue">set</span>; }</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">默认情况下，即参数为</span><span lang="EN-US" style="font-size: 9pt; color: #2b91af; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">IconTypes</span><span lang="EN-US" style="font-size: 9pt; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">.None</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">时，该图标控件仅仅是一个带</span><span lang="EN-US"><font face="Times New Roman">Toolkit</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的普通图标；当参数为</span><span lang="EN-US" style="font-size: 9pt; color: #2b91af; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">IconTypes</span><span lang="EN-US" style="font-size: 9pt; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">.Transform</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">时，图标控件中的图片会根据鼠标进入与离开分别在</span><span lang="EN-US"><font face="Times New Roman">NewSource</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</span><span lang="EN-US"><font face="Times New Roman">_BodySource</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">之间切换，即前文中提到的第一种情况；而当参数为</span><span lang="EN-US" style="font-size: 9pt; color: #2b91af; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">IconTypes</span><span lang="EN-US" style="font-size: 9pt; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">.Highlights</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">时，效果即上叙第二种情况，通过图标蒙板来实现图标的高亮突出。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">同时，我也对该</span><span lang="EN-US" style="font-size: 9pt; color: #2b91af; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">QXIcon</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</span><span lang="EN-US"><font face="Times New Roman">Toolkit</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">进行了改造，使之更加新颖别致：</span><span lang="EN-US" style="font-size: 9pt; color: #2b91af; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">ToolTipService.ToolTip</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">ToolTip</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">ToolTip.Template</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">ControlTemplate</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">ContentPresenter</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> Content</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="{</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">TemplateBinding</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> Content</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">}"/&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;/</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">ControlTemplate</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;/</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">ToolTip.Template</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">ToolTip.Content</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Canvas</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> x</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">:</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Name</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="Dialog"&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Rectangle</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> x</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">:</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Name</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="DialogBack"</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> Fill</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="Black"</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> RadiusX</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="7"</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> RadiusY</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="7"</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> Stroke</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="Gray"</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> StrokeThickness</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="2"</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> Opacity</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="0.4" /&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">TextBlock</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> x</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">:</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Name</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="Details"</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> Foreground</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="Snow"</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> TextWrapping</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="Wrap"</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> Width</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="150"</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> Canvas.Left</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="5"</span><span lang="EN-US" style="font-size: 9pt; color: red; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> Canvas.Top</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">="5" /&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;/</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Canvas</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;/</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">ToolTip.Content</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;/</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">ToolTip</span><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US" style="font-size: 9pt; color: #a31515; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang="EN-US" style="font-size: 9pt; color: blue; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;/</span><span lang="EN-US" style="font-size: 9pt; color: #a31515; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">ToolTipService.ToolTip</span><span lang="EN-US" style="font-size: 9pt; color: blue; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">当提示文字发生变化时，它的背景将根据文字的长度与宽度自适应尺寸，且此背景为一个透明度</span><span lang="EN-US"><font face="Times New Roman">40%</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的黑色圆角矩形，很漂亮的哦</span><span lang="EN-US"><font face="Times New Roman">~</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: gray">///</span><span style="color: green"> </span><span style="color: gray">&lt;summary&gt;<o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: gray">///</span><span style="color: green"> </span></span><span style="font-size: 9pt; color: green; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">获取或设置图标悬停提示<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp; </span><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: gray">///</span><span style="color: green"> </span><span style="color: gray">&lt;/summary&gt;<o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue">public</span> <span style="color: blue">string</span> Tip {<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue">get</span> { <span style="color: blue">return</span> Details.Text; }<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue">set</span> { <o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Details.Text = <span style="color: blue">value</span>;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>DialogBack.Width = Details.ActualWidth + 10;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>DialogBack.Height = Details.ActualHeight + 10;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US" style="font-size: 9pt; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">最终效果如下：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US"><img height="132" alt="" src="http://silverfuture.cn/MyImages/091208/4.jpg" width="300" border="0" /></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 150%; text-align: left; mso-outline-level: 2" align="left"><span lang="EN-US"><span style="mso-spacerun: yes"><font face="Times New Roman">&nbsp;&nbsp;&nbsp; </font></span></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">接下来我们还是利用</span><span lang="EN-US" style="font-size: 9pt; color: #2b91af; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">QXIcon</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">来实现鼠标左右键快捷技能栏，这里我定义左键只负责主角的跑动、对象选中及主角的物理攻击，前面章节中已经全部实现了。而右键则负责施放魔法，此方案应该算是</span><span lang="EN-US"><font face="Times New Roman">Silverlight</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的极限了。需求就是当我们在右键快捷按钮图标上点击时，会像《暗黑破坏神》一样，弹出主角已学会（可用）的所有法术和技能。在</span><span lang="EN-US"><font face="Times New Roman">Silverlight</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中，我们可以用微软开源工具包中</span><span lang="EN-US" style="font-size: 9pt; color: #2b91af; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">WrapPanel</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">轻松将之实现。</span><span lang="EN-US" style="font-size: 9pt; color: #2b91af; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">WrapPanel</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是一个可以实现内部控件排列超出限定宽度后自动换行的容器，继承自</span><span lang="EN-US" style="font-size: 9pt; color: #2b91af; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Panel</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，和</span><span lang="EN-US" style="font-size: 9pt; color: #2b91af; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Canvas</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">等容器控件属同一等级，大家可以到</span><span lang="EN-US"><a href="http://www.codeplex.com/Silverlight" target="_blank"><font face="Times New Roman">http://www.codeplex.com/Silverlight</font></a></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">下载最新的版本。本教程示例游戏中，我直接引用它的</span><span lang="EN-US"><font face="Times New Roman">dll</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，除它外，该</span><span lang="EN-US"><font face="Times New Roman">dll</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">还包含其他的一些控件，一方面由于时间有限，我暂时不去单独分离了；另一方面，后期制作中很有可能还会用到其中的某些控件，因此先让它这样吧</span><span lang="EN-US"><font face="Times New Roman">~</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，还挺大的呢</span><span lang="EN-US"><font face="Times New Roman">(112K)</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如果是网络游戏，那么在主角初始化后，我们将从服务器接收到主角的数据，当然包括主角已经掌握的魔法技能，这里我用一个</span><span lang="EN-US" style="font-size: 9pt; color: #2b91af; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Magic</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">类来表示：</span><span lang="EN-US" style="font-size: 9pt; color: #2b91af; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span><span style="color: blue">public</span> <span style="color: blue">class</span> <span style="color: #2b91af">Magic</span> {<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: gray">///</span><span style="color: green"> </span><span style="color: gray">&lt;summary&gt;<o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: gray">///</span><span style="color: green"> </span></span><span style="font-size: 9pt; color: green; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">代号<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: gray">///</span><span style="color: green"> </span><span style="color: gray">&lt;/summary&gt;<o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue">public</span> <span style="color: blue">int</span> Code { <span style="color: blue">get</span>; <span style="color: blue">set</span>; }<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: gray">///</span><span style="color: green"> </span><span style="color: gray">&lt;summary&gt;<o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: gray">///</span><span style="color: green"> </span></span><span style="font-size: 9pt; color: green; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">等级<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp; </span><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: gray">///</span><span style="color: green"> </span><span style="color: gray">&lt;/summary&gt;<o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue">public</span> <span style="color: blue">int</span> Level { <span style="color: blue">get</span>; <span style="color: blue">set</span>; }<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: gray">///</span><span style="color: green"> </span><span style="color: gray">&lt;summary&gt;<o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: gray">///</span><span style="color: green"> </span></span><span style="font-size: 9pt; color: green; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">名称<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: gray">///</span><span style="color: green"> </span><span style="color: gray">&lt;/summary&gt;<o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue">public</span> <span style="color: blue">string</span> Name { <span style="color: blue">get</span>; <span style="color: blue">set</span>; }<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 18pt; line-height: 150%; mso-outline-level: 2"><span lang="EN-US" style="font-size: 9pt; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">}<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">暂时先就这几个参数吧，接下来定义一个主角可用魔法列表</span><span lang="EN-US" style="font-size: 9pt; color: #2b91af; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">List</span><span lang="EN-US" style="font-size: 9pt; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">&lt;<span style="color: #2b91af">Magic</span>&gt; availableMagic = <span style="color: blue">new</span> <span style="color: #2b91af">List</span>&lt;<span style="color: #2b91af">Magic</span>&gt;();</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这里我假设主角已经掌握了代号为</span><span lang="EN-US"><font face="Times New Roman">0-5</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</span><span lang="EN-US"><font face="Times New Roman">6</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">种魔法，且每种都到了</span><span lang="EN-US"><font face="Times New Roman">9</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">级，那么我将这</span><span lang="EN-US"><font face="Times New Roman">6</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">种魔法按如下方式加入到</span><span lang="EN-US" style="font-size: 9pt; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">availableMagic</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">表中：</span><span lang="EN-US" style="font-size: 9pt; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: green; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">//</span><span style="font-size: 9pt; color: green; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">初始化主角可用的所有魔法<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">availableMagic.Clear();<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; color: blue; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">for</span><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"> (<span style="color: blue">int</span> i = 0; i &lt; 6; i++) {<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 18pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">availableMagic.Add(<span style="color: blue">new</span> <span style="color: #2b91af">Magic</span>() { <o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 18pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Code = i, <o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 18pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Level = 9, <o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 18pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Name = <span style="color: blue">string</span>.Format(<span style="color: #a31515">"</span></span><span style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">名称<span lang="EN-US">:{0}\r\n</span>描述<span lang="EN-US">:{1}"</span></span><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">, <o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 18.05pt; text-align: left; mso-layout-grid-align: none; mso-para-margin-left: 1.72gd" align="left"><span lang="EN-US" style="font-size: 9pt; color: #2b91af; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Super</span><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">.GetXElement(<span style="color: #2b91af">Data</span>.Settings[<span style="color: #a31515">"Arguments"</span>], <span style="color: #a31515">"Magic"</span>, <o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 18.05pt; text-align: left; mso-layout-grid-align: none; mso-para-margin-left: 1.72gd" align="left"><span lang="EN-US" style="font-size: 9pt; color: #a31515; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">"Code"</span><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">, i.ToString()).Attribute(<span style="color: #a31515">"Name"</span>).Value, <o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 18.05pt; text-align: left; mso-layout-grid-align: none; mso-para-margin-left: 1.72gd" align="left"><span lang="EN-US" style="font-size: 9pt; color: #2b91af; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">Super</span><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">.GetXElement(<span style="color: #2b91af">Data</span>.Settings[<span style="color: #a31515">"Arguments"</span>], <span style="color: #a31515">"Magic"</span>, <span style="color: #a31515">"Code"</span>,i.ToString()).Attribute(<span style="color: #a31515">"Description"</span>).Value) });<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US" style="font-size: 9pt; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">}<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">当鼠标在右键快捷按钮图标上点击时，我将</span><span lang="EN-US" style="font-size: 9pt; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">availableMagic</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中的所有对象以图标的形式添加进名为</span><span lang="EN-US"><font face="Times New Roman">rightButtonMagicList</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</span><span lang="EN-US" style="font-size: 9pt; color: #2b91af; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">WrapPanel</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中，由于此</span><span lang="EN-US"><font face="Times New Roman">Demo</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中图标的宽高均为</span><span lang="EN-US"><font face="Times New Roman">27</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">像素，因此我约束</span><span lang="EN-US"><font face="Times New Roman">rightButtonMagicList</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">宽为</span><span lang="EN-US"><font face="Times New Roman">270</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，即一行如果超过</span><span lang="EN-US"><font face="Times New Roman">10</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">个图标则自动换行。最后为它赋予相应的事件，当点中某个魔法技能，主角当前的右键默认魔法更改为此魔法，且右键快捷按钮图标的魔法也换成它：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US"><font face="Times New Roman">&#8230;&#8230;</font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: green">//</span></span><span style="font-size: 9pt; color: green; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">右键魔法选择<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>rightButtonMagicIcon.MouseLeftButtonDown += <span style="color: blue">delegate</span>(<span style="color: blue">object</span> sender, <span style="color: #2b91af">MouseButtonEventArgs</span> e) {<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue">if</span> (rightButtonMagicList == <span style="color: blue">null</span>) {<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>rightButtonMagicList = <span style="color: blue">new</span> <span style="color: #2b91af">WrapPanel</span>() {<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Orientation = <span style="color: #2b91af">Orientation</span>.Horizontal,<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Width = 270, <span style="color: green">//</span></span><span style="font-size: 9pt; color: green; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">一行放<span lang="EN-US">10</span>个图标<span lang="EN-US">,</span>每个<span lang="EN-US">27</span>宽<span lang="EN-US"><o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>};<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue">foreach</span> (<span style="color: #2b91af">Magic</span> magic <span style="color: blue">in</span> availableMagic) {<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #2b91af">QXIcon</span> magicIcon = <span style="color: blue">new</span> <span style="color: #2b91af">QXIcon</span>(<span style="color: #2b91af">IconTypes</span>.Highlights) {<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>BodySource = <span style="color: blue">new</span> <span style="color: #2b91af">ImageBrush</span>() { ImageSource = <span style="color: #2b91af">Super</span>.GetImage(<span style="color: blue">string</span>.Format(<span style="color: #a31515">"/Image/Magic/{0}/0.png"</span>, magic.Code)) },<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>NewSource = <span style="color: blue">new</span> <span style="color: #2b91af">ImageBrush</span>() { ImageSource = <span style="color: #2b91af">Super</span>.GetImage(<span style="color: #a31515">"/Image/Icon/34.png"</span>) },<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Width = 27,<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Height = 27,<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Tip = magic.Name,<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Tag = magic,<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>};<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>magicIcon.MouseLeftButtonDown += <span style="color: blue">delegate</span>(<span style="color: blue">object</span> ss, <span style="color: #2b91af">MouseButtonEventArgs</span> ee) {<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #2b91af">QXIcon</span> icon = ss <span style="color: blue">as</span> <span style="color: #2b91af">QXIcon</span>;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #2b91af">Magic</span> m = icon.Tag <span style="color: blue">as</span> <span style="color: #2b91af">Magic</span>;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>rightButtonMagicIcon.BodySource = icon.BodySource;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>rightButtonMagicIcon.Tip = m.Name;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Leader.CurrentMagic.Code = m.Code;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>Leader.CurrentMagic.Level = m.Level;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>rightButtonMagicList.Visibility = <span style="color: #2b91af">Visibility</span>.Collapsed;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>ee.Handled = <span style="color: blue">true</span>;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>};<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>rightButtonMagicList.Children.Add(magicIcon);<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>BottomMenu.Children.Add(rightButtonMagicList);<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #2b91af">Canvas</span>.SetLeft(rightButtonMagicList, 437); <span style="color: #2b91af">Canvas</span>.SetTop(rightButtonMagicList, -<span style="color: #2b91af">Math</span>.Ceiling(rightButtonMagicList.Children.Count / (rightButtonMagicList.Width / 27)) * 27);<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>} <span style="color: blue">else</span> {<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: blue">if</span> (rightButtonMagicList.Visibility == <span style="color: #2b91af">Visibility</span>.Collapsed) {<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>rightButtonMagicList.Visibility = <span style="color: #2b91af">Visibility</span>.Visible;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #2b91af">Canvas</span>.SetTop(rightButtonMagicList, -rightButtonMagicList.ActualHeight);<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>} <span style="color: blue">else</span> {<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>rightButtonMagicList.Visibility = <span style="color: #2b91af">Visibility</span>.Collapsed;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left; mso-layout-grid-align: none" align="left"><span lang="EN-US" style="font-size: 9pt; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US" style="font-size: 9pt; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>e.Handled = <span style="color: blue">true</span>;<o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US"><font face="Times New Roman">&#8230;&#8230;</font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">具体逻辑大家仔细看就明白了</span><span lang="EN-US"><font face="Times New Roman">~</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">还算比较简单的。实际效果如下：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US" style="font-size: 9pt; color: #2b91af; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><img height="103" alt="" src="http://silverfuture.cn/MyImages/091208/5.jpg" width="315" border="0" /><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">另外的，大家不妨自行修改一下循环代码，多加几个魔法上去体验一下</span><span lang="EN-US" style="font-size: 9pt; color: #2b91af; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes">WrapPanel</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的强大：</span><span lang="EN-US" style="font-size: 9pt; color: #2b91af; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; line-height: 150%; mso-outline-level: 2"><span lang="EN-US" style="font-size: 9pt; color: #2b91af; line-height: 150%; font-family: 新宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-no-proof: yes"><img height="506" alt="" src="http://silverfuture.cn/MyImages/091208/6.jpg" width="505" border="0" /><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">游戏主界面菜单已初具雏形，接下来的任务就是去完善它的各面板及相应功能</span><span lang="EN-US"><font face="Times New Roman">~</font></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">敬请关注。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21.75pt; line-height: 150%; mso-outline-level: 2"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">源码请到目录中下载，在线演示地址：</span><span lang="EN-US"><a href="http://silverfuture.cn/" target="_blank"><font face="Times New Roman">http://silverfuture.cn</font></a></span></p>
<div class="MySign">
<div class="MyImage"><img alt="WPF/Silverlight" src="http://silverfuture.cn/MyImages/sl.jpg" /></div>
<div>作者：<a href="http://alamiye010.cnblogs.com/" target="_blank">深蓝色右手</a><br />出处：<a href="http://alamiye010.cnblogs.com/" target="_blank">http://alamiye010.cnblogs.com/</a><br />教程目录及源码下载：<a href="http://www.cnblogs.com/alamiye010/archive/2009/06/17/1505346.html" target="_blank">点击进入</a>(<a href="http://space.cnblogs.com/group/WPF_SL/" target="_blank">欢迎加入WPF/Silverlight小组</a>　<a href="http://wpf_sl.cnblogs.com/" target="_blank">WPF/Silverlight博客团队</a>)<br />本文版权归作者和博客园共有，欢迎转载。但未经作者同意必须保留此段声明，且在文章页面显著位置给出原文连接，否则保留追究法律责任的权利。 </div></div><img src="http://www.cnblogs.com/alamiye010/aggbug/1619251.html?type=1" width="1" height="1" alt=""/><p>评论: 18　<a href="http://www.cnblogs.com/alamiye010/archive/2009/12/08/1619251.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/alamiye010/archive/2009/12/08/1619251.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56815/" target="_blank">李开复创新工场发展基金曝光 首单投移动互联</a><span style="color:gray">(2010-02-10 11:28)</span><br/>· <a href="http://news.cnblogs.com/n/56814/" target="_blank">Sun前CEO欲写自传 称经济危机是Sun被购主因</a><span style="color:gray">(2010-02-10 11:25)</span><br/>· <a href="http://news.cnblogs.com/n/56812/" target="_blank">Google社会化产品Buzz发布会实录</a><span style="color:gray">(2010-02-10 11:15)</span><br/>· <a href="http://news.cnblogs.com/n/56813/" target="_blank">福布斯：苹果生态产业链上的十大企业</a><span style="color:gray">(2010-02-10 11:14)</span><br/>· <a href="http://news.cnblogs.com/n/56811/" target="_blank">纽约时报：Google凭借Buzz进军社交网络</a><span style="color:gray">(2010-02-10 10:59)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56812/" target="_blank">Google社会化产品Buzz发布会实录</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item></channel></rss>