<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_TCSJ</title><subtitle type="text"/><id>http://feed.cnblogs.com/blog/u/33687/rss</id><updated>2011-10-21T01:40:09Z</updated><author><name>sunjie</name><uri>http://www.cnblogs.com/sunjie9606/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/sunjie9606/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/33687/rss"/><entry><id>http://www.cnblogs.com/sunjie9606/archive/2011/10/21/2219866.html</id><title type="text">WPF binding（转）</title><summary type="text">WPF binding（转）</summary><published>2011-10-21T01:40:00Z</published><updated>2011-10-21T01:40:00Z</updated><author><name>sunjie</name><uri>http://www.cnblogs.com/sunjie9606/</uri></author><link rel="alternate" href="http://www.cnblogs.com/sunjie9606/archive/2011/10/21/2219866.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/sunjie9606/archive/2011/10/21/2219866.html"/><content type="html">&lt;p style="line-height: 25px; margin-top: 0px; margin-right: 0px; margin-left: 0px; text-indent: 2em; padding: 0px;"&gt;WPF里分三种Binding：&lt;a target="_blank" rel="nofollow" href="http://msdn.microsoft.com/zh-cn/library/system.windows.data.binding.aspx" style="color: #7c9187; line-height: 25px; text-decoration: none;"&gt;Binding&lt;/a&gt;，&amp;nbsp;&lt;a target="_blank" rel="nofollow" href="http://msdn.microsoft.com/zh-cn/library/system.windows.data.prioritybinding.aspx" style="color: #7c9187; line-height: 25px; text-decoration: none;"&gt;PriorityBinding&lt;/a&gt;,&amp;nbsp;&lt;a target="_blank" rel="nofollow" href="http://msdn.microsoft.com/zh-cn/library/system.windows.data.multibinding.aspx" style="color: #7c9187; line-height: 25px; text-decoration: none;"&gt;MultiBinding&lt;/a&gt;,这三种Binding的基类都是BindingBase，而BindingBase又继承于MarkupExtension&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span  style="color: #43613b; font-family: Arial, Helvetica, simsun, u5b8bu4f53; line-height: 25px;"&gt;&lt;br style="line-height: 25px;" /&gt;Binding&lt;br style="line-height: 25px;" /&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 25px; margin-top: 0px; margin-right: 0px; margin-left: 0px; text-indent: 2em; padding: 0px;"&gt;提供对绑定定义的高级别访问，绑定将绑定目标对象（通常为 WPF 元素）的属性与任何数据源（例如数据库、XML 文件或包含数据的任何对象）连接起来。&lt;/p&gt;&#xD;
&lt;p style="line-height: 25px; margin-top: 0px; margin-right: 0px; margin-left: 0px; text-indent: 2em; padding: 0px;"&gt;常见的使用Binding的代码：&lt;br style="line-height: 25px;" /&gt;C#&lt;/p&gt;&#xD;
&lt;pre&gt;Binding binding = new Binding();  // Set source object  binding.Source = treeView;  // Set source property  binding.Path = new PropertyPath("SelectedItem.Header");  // Attach to target property  currentFolder.SetBinding(TextBlock.TextProperty, binding);&lt;/pre&gt;&#xD;
&lt;p style="line-height: 25px; margin-top: 0px; margin-right: 0px; margin-left: 0px; text-indent: 2em; padding: 0px;"&gt;XAML：&lt;/p&gt;&#xD;
&lt;pre&gt;&amp;lt;TextBlock x:Name=&amp;rdquo;currentFolder&amp;rdquo; DockPanel.Dock=&amp;rdquo;Top&amp;rdquo;  Text=&amp;rdquo;{Binding ElementName=treeView, Path=SelectedItem.Header}&amp;rdquo;  Background=&amp;rdquo;AliceBlue&amp;rdquo; FontSize=&amp;rdquo;16&amp;rdquo;/&amp;gt;&lt;/pre&gt;&#xD;
&lt;p style="line-height: 25px; margin-top: 0px; margin-right: 0px; margin-left: 0px; text-indent: 2em; padding: 0px;"&gt;所有FrameworkElement都包含SetBinding方法：SetBinding(DependencyProperty dp, String path)， SetBinding(DependencyProperty dp, BindingBase binding)，可以看出，FrameworkElement中的SetBinding只对DependencyProperty有效。&lt;/p&gt;&#xD;
&lt;p style="line-height: 25px; margin-top: 0px; margin-right: 0px; margin-left: 0px; text-indent: 2em; padding: 0px;"&gt;另一种设置Binding的方法是：BindingOperations.SetBinding(currentFolder, TextBlock.TextProperty, binding);&lt;br style="line-height: 25px;" /&gt;BindingOperations.SetBinding的原型是&lt;/p&gt;&#xD;
&lt;pre&gt;public static BindingExpressionBase SetBinding(   DependencyObject target,   DependencyProperty dp,   BindingBase binding  )&lt;/pre&gt;&#xD;
&lt;p style="line-height: 25px; margin-top: 0px; margin-right: 0px; margin-left: 0px; text-indent: 2em; padding: 0px;"&gt;第一个参数是DependencyObject，所以我们可以对自定义DependencyObject或者继承自DependencyObject的类进行绑定。当然第二个参数还是DependencyProperty。&lt;/p&gt;&#xD;
&lt;p style="line-height: 25px; margin-top: 0px; margin-right: 0px; margin-left: 0px; text-indent: 2em; padding: 0px;"&gt;清除Binding：&lt;br style="line-height: 25px;" /&gt;BindingOperations.ClearBinding(currentFolder, TextBlock.TextProperty); //删除currentFolder上的TextBlock.TextProperty绑定&lt;br style="line-height: 25px;" /&gt;BindingOperations.ClearAllBindings(currentFolder); //删除currentFolder上的所有绑定&lt;/p&gt;&#xD;
&lt;p style="line-height: 25px; margin-top: 0px; margin-right: 0px; margin-left: 0px; text-indent: 2em; padding: 0px;"&gt;直接对dependency property赋值也可以解除binding， 不过只对单向binding有效。&amp;nbsp;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;hr style="line-height: 25px;" /&gt;&#xD;
&lt;p&gt;&lt;span  style="color: #43613b; font-family: Arial, Helvetica, simsun, u5b8bu4f53; line-height: 25px;"&gt;&lt;br style="line-height: 25px;" /&gt;Bingding的源：&lt;br style="line-height: 25px;" /&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 25px; margin-top: 0px; margin-right: 0px; margin-left: 0px; text-indent: 2em; padding: 0px;"&gt;有三个属性用来设置源：ElementName(string)、Source(Object) 和 RelativeSource(RelativeSource)。注：这三个只能指定一个，否则异常。&lt;br style="line-height: 25px;" /&gt;ElementName： 源为一个元素(Element)，这里用的是此元素中设置的Name属性。&lt;br style="line-height: 25px;" /&gt;Source：以object作为源。&amp;lt;TextBlock Text="{Binding Source={StaticResource myDataSource}, Path=PersonName}"/&amp;gt;&lt;br style="line-height: 25px;" /&gt;RelativeSource： 源相对于绑定目标的位置。&lt;br style="line-height: 25px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 源是元素本身：{Binding RelativeSource={RelativeSource Self}}&lt;br style="line-height: 25px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 源是Tempalte中元素的Parent：{Binding RelativeSource={RelativeSource TemplatedParent}}&lt;br style="line-height: 25px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 源是绑定以collection形式的前一个数据：{Binding RelativeSource={RelativeSource PreviousData}}，MSDN上关于PreviousData的说明并不多，&lt;a target="_blank" rel="nofollow" href="http://jimmangaly.blogspot.com/2008/12/discovering-relativesourcepreviousdata.html" style="color: #7c9187; line-height: 25px; text-decoration: none;"&gt;这里&lt;/a&gt;有一篇文章可以参考&lt;br style="line-height: 25px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 以上三项为RelativeSource中的Static值，使用这些值可以减少内存开销&lt;br style="line-height: 25px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 源是Ancestor(可能比parent还高)：{Binding RelativeSource={RelativeSource FindAncestor,&lt;br style="line-height: 25px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AncestorLevel=n, AncestorType={x:Type desiredType}}}&lt;/p&gt;&#xD;
&lt;hr style="line-height: 25px;" /&gt;&#xD;
&lt;p&gt;&lt;span  style="color: #43613b; font-family: Arial, Helvetica, simsun, u5b8bu4f53; line-height: 25px;"&gt;&lt;br style="line-height: 25px;" /&gt;Path:&lt;br style="line-height: 25px;" /&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 25px; margin-top: 0px; margin-right: 0px; margin-left: 0px; text-indent: 2em; padding: 0px;"&gt;Binding中的Path是 PropertyPath对象。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span  style="color: #43613b; font-family: Arial, Helvetica, simsun, u5b8bu4f53; line-height: 25px;"&gt;&lt;br style="line-height: 25px;" /&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 25px; margin-top: 0px; margin-right: 0px; margin-left: 0px; text-indent: 2em; padding: 0px;"&gt;在最简单的情况下，Path 属性值是要用于绑定的源对象的属性名称，如 Path=PropertyName。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span  style="color: #43613b; font-family: Arial, Helvetica, simsun, u5b8bu4f53; line-height: 25px;"&gt;&lt;br style="line-height: 25px;" /&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 25px; margin-top: 0px; margin-right: 0px; margin-left: 0px; text-indent: 2em; padding: 0px;"&gt;通过类似于 C# 中使用的语法，可以指定属性的子属性。例如，子句 Path=ShoppingCart.Order 将绑定设置为对象的子属性 Order 或属性 ShoppingCart。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span  style="color: #43613b; font-family: Arial, Helvetica, simsun, u5b8bu4f53; line-height: 25px;"&gt;&lt;br style="line-height: 25px;" /&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 25px; margin-top: 0px; margin-right: 0px; margin-left: 0px; text-indent: 2em; padding: 0px;"&gt;若要绑定到附加属性，请将附加属性用括号括起。例如，若要绑定到附加属性&amp;nbsp;&lt;a target="_blank" rel="nofollow" href="http://msdn.microsoft.com/zh-cn/library/system.windows.controls.dockpanel.dock.aspx" style="color: #7c9187; line-height: 25px; text-decoration: none;"&gt;DockPanel.Dock&lt;/a&gt;，则语法为 Path=(DockPanel.Dock)。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span  style="color: #43613b; font-family: Arial, Helvetica, simsun, u5b8bu4f53; line-height: 25px;"&gt;&lt;br style="line-height: 25px;" /&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 25px; margin-top: 0px; margin-right: 0px; margin-left: 0px; text-indent: 2em; padding: 0px;"&gt;在应用了索引器的属性名称之后的方括号内，可以指定属性的索引器。例如，子句 Path=ShoppingCart[0] 将绑定设置为与属性的内部索引处理文本字符串&amp;ldquo;0&amp;rdquo;的方式对应的索引。此外，还支持多个索引器。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span  style="color: #43613b; font-family: Arial, Helvetica, simsun, u5b8bu4f53; line-height: 25px;"&gt;&lt;br style="line-height: 25px;" /&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 25px; margin-top: 0px; margin-right: 0px; margin-left: 0px; text-indent: 2em; padding: 0px;"&gt;在 Path 子句中可以同时使用索引器和子属性，例如，Path=ShoppingCart.ShippingInfo[MailingAddress,Street]。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span  style="color: #43613b; font-family: Arial, Helvetica, simsun, u5b8bu4f53; line-height: 25px;"&gt;&lt;br style="line-height: 25px;" /&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 25px; margin-top: 0px; margin-right: 0px; margin-left: 0px; text-indent: 2em; padding: 0px;"&gt;在索引器内部，可以有多个由逗号 (,) 分隔的索引器参数。可以使用圆括号指定每个参数的类型。例如，可以使用 Path="[(sys:Int32)42,(sys:Int32)24]"，其中 sys 映射到 System 命名空间。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span  style="color: #43613b; font-family: Arial, Helvetica, simsun, u5b8bu4f53; line-height: 25px;"&gt;&lt;br style="line-height: 25px;" /&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 25px; margin-top: 0px; margin-right: 0px; margin-left: 0px; text-indent: 2em; padding: 0px;"&gt;如果源为集合视图，则可以用斜杠 (/) 指定当前项。例如，子句 Path=/ 设置到视图中当前项的绑定。如果源为集合，则此语法指定默认集合视图的当前项。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span  style="color: #43613b; font-family: Arial, Helvetica, simsun, u5b8bu4f53; line-height: 25px;"&gt;&lt;br style="line-height: 25px;" /&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 25px; margin-top: 0px; margin-right: 0px; margin-left: 0px; text-indent: 2em; padding: 0px;"&gt;可以结合使用属性名和斜杠来遍历作为集合的属性。例如，Path=/Offices/ManagerName 指定源集合的当前项，该源集合包含同样是集合的 Offices 属性。其当前项是包含 ManagerName 属性的对象。&lt;/p&gt;&#xD;
&lt;p style="line-height: 25px; margin-top: 0px; margin-right: 0px; margin-left: 0px; text-indent: 2em; padding: 0px;"&gt;也可以使用句点 (.)路径绑定到当前源。例如，Text=&amp;rdquo;{Binding}&amp;rdquo; 等效于 Text=&amp;rdquo;{Binding Path=.}&amp;rdquo;。&lt;/p&gt;&#xD;
&lt;p style="line-height: 25px; margin-top: 0px; margin-right: 0px; margin-left: 0px; text-indent: 2em; padding: 0px;"&gt;&lt;/p&gt;&#xD;
&lt;hr style="line-height: 25px;" /&gt;&#xD;
&lt;p style="line-height: 25px; margin-top: 0px; margin-right: 0px; margin-left: 0px; text-indent: 2em; padding: 0px;"&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span  style="color: #43613b; font-family: Arial, Helvetica, simsun, u5b8bu4f53; line-height: 25px;"&gt;&lt;br style="line-height: 25px;" /&gt;BindingExpression&lt;br style="line-height: 25px;" /&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 25px; margin-top: 0px; margin-right: 0px; margin-left: 0px; text-indent: 2em; padding: 0px;"&gt;&lt;a target="_blank" rel="nofollow" href="http://msdn.microsoft.com/zh-cn/library/system.windows.data.binding.aspx" style="color: #7c9187; line-height: 25px; text-decoration: none;"&gt;Binding&lt;/a&gt;&amp;nbsp;类是高级别类。BindingExpression 类是基础对象，用于保持绑定源与绑定目标之间的连接。&lt;a target="_blank" rel="nofollow" href="http://msdn.microsoft.com/zh-cn/library/system.windows.data.binding.aspx" style="color: #7c9187; line-height: 25px; text-decoration: none;"&gt;Binding&lt;/a&gt;&amp;nbsp;中包含可在多个 BindingExpression 对象之间共享的所有信息。也就是说，可以把一个Binding对象绑定对n个元素上，而针对这n个元素，分别有相应的n个BindingExpresion对象。&lt;br style="line-height: 25px;" /&gt;Binding可以直接绑定普通的.net实例，比如int值。但是如果后台改变int值了，前台不能显示改变后的值，这时可以调用UpdateTarget()方法更新绑定。如下：BindingExpression be = button.GetBindingExpression(Button.ContentProperty);&lt;br style="line-height: 25px;" /&gt;be.UpdateTarget();&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p style="line-height: 25px; margin-top: 0px; margin-right: 0px; margin-left: 0px; text-indent: 2em; padding: 0px;"&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 25px; margin-top: 0px; margin-right: 0px; margin-left: 0px; text-indent: 2em; padding: 0px;"&gt;还有UpdateSource方法用来更新源。&lt;/p&gt;&#xD;
&lt;p style="line-height: 25px; margin-top: 0px; margin-right: 0px; margin-left: 0px; text-indent: 2em; padding: 0px;"&gt;&lt;/p&gt;&#xD;
&lt;hr style="line-height: 25px;" /&gt;&#xD;
&lt;p style="line-height: 25px; margin-top: 0px; margin-right: 0px; margin-left: 0px; text-indent: 2em; padding: 0px;"&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span  style="color: #43613b; font-family: Arial, Helvetica, simsun, u5b8bu4f53; line-height: 25px;"&gt;&lt;br style="line-height: 25px;" /&gt;绑定到.net属性/对象：&amp;nbsp;&lt;br style="line-height: 25px;" /&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 25px; margin-top: 0px; margin-right: 0px; margin-left: 0px; text-indent: 2em; padding: 0px;"&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 25px; margin-top: 0px; margin-right: 0px; margin-left: 0px; text-indent: 2em; padding: 0px;"&gt;上面提到Binding绑到普通的.net属性，如果source变化了，UI上是不会显示的，除了用BindingExpression每次显式更新Target外，还可以使用如下技术：&lt;/p&gt;&#xD;
&lt;p style="line-height: 25px; margin-top: 0px; margin-right: 0px; margin-left: 0px; text-indent: 2em; padding: 0px;"&gt;绑定到单个对象需实现INotifyPropertyChanged接口，这个接口只有一个成员：&lt;/p&gt;&#xD;
&lt;pre&gt;event PropertyChangedEventHandler PropertyChanged&lt;/pre&gt;&#xD;
&lt;pre&gt;&lt;/pre&gt;&#xD;
&lt;pre&gt;实现INotifyPropertyChanged的示例如下：&lt;/pre&gt;&#xD;
&lt;pre&gt;using System.ComponentModel;    namespace SDKSample  {    // This class implements INotifyPropertyChanged    // to support one-way and two-way bindings    // (such that the UI element updates when the source    // has been changed dynamically)    public class Person : INotifyPropertyChanged    {        private string name;        // Declare the event        public event PropertyChangedEventHandler PropertyChanged;          public Person()        {        }          public Person(string value)        {            this.name = value;        }          public string PersonName        {            get { return name; }            set            {                name = value;                // Call OnPropertyChanged whenever the property is updated                OnPropertyChanged("PersonName");            }        }          // Create the OnPropertyChanged method to raise the event        protected void OnPropertyChanged(string name)        {            PropertyChangedEventHandler handler = PropertyChanged;            if (handler != null)            {                handler(this, new PropertyChangedEventArgs(name));            }        }    }  }  或者显式实现INotifyPropertyChanged：  &lt;/pre&gt;&#xD;
&lt;pre&gt;#region INotifyPropertyChanged Members  event PropertyChangedEventHandler INotifyPropertyChanged.PropertyChanged  {      add      {          this.PropertyChanged = (PropertyChangedEventHandler)Delegate.Combine(this.PropertyChanged, value);      }      remove      {          this.PropertyChanged = (PropertyChangedEventHandler)Delegate.Remove(this.PropertyChanged, value);      }  }  #endregion&lt;/pre&gt;&#xD;
&lt;pre&gt;&lt;/pre&gt;&#xD;
&lt;pre&gt;看了上面代码着实没看出source值改变了，前台是通过什么机制反映的，正常的情况下公开了一个事件，必须有一个对此事件的实现体，而上面代码并没有实现PropertyChanged的方法。&lt;/pre&gt;&#xD;
&lt;pre&gt;我猜想是Binding内部获取了这个接口并对PropertyChanged进行了赋值，因为在debug时，这个事件确实被赋值的，而赋值前的Stack是External Code调用的。&lt;/pre&gt;&#xD;
&lt;pre&gt;&lt;/pre&gt;&#xD;
&lt;pre&gt;绑定到集合需实现INotifyCollectionChanged，但是推荐使用&lt;a target="_blank" rel="nofollow" href="http://msdn.microsoft.com/zh-cn/library/ms668604.aspx" style="color: #7c9187; line-height: 25px; text-decoration: none;"&gt;ObservableCollection&amp;lt;T&amp;gt;&lt;/a&gt;，这个类实现了INotifyCollectionChanged和INotifyPropertyChanged。&lt;/pre&gt;&#xD;
&lt;pre&gt;&lt;/pre&gt;&#xD;
&lt;pre&gt;附：当绑定到普通的.net属性时，WPF使用反射取得source的值，当对象实现&lt;a target="_blank" rel="nofollow" href="http://msdn.microsoft.com/zh-cn/library/system.componentmodel.icustomtypedescriptor.aspx" style="color: #7c9187; line-height: 25px; text-decoration: none;"&gt;ICustomTypeDescriptor&lt;/a&gt;时，WPF使用这个接口取得值，性能上会有所提升。&lt;/pre&gt;&#xD;
&lt;p style="line-height: 25px; margin-top: 0px; margin-right: 0px; margin-left: 0px; text-indent: 2em; padding: 0px;"&gt;&lt;/p&gt;&#xD;
&lt;hr style="line-height: 25px;" /&gt;&#xD;
&lt;p style="line-height: 25px; margin-top: 0px; margin-right: 0px; margin-left: 0px; text-indent: 2em; padding: 0px;"&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span  style="color: #43613b; font-family: Arial, Helvetica, simsun, u5b8bu4f53; line-height: 25px;"&gt;&lt;br style="line-height: 25px;" /&gt;DataContext:&lt;br style="line-height: 25px;" /&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 25px; margin-top: 0px; margin-right: 0px; margin-left: 0px; text-indent: 2em; padding: 0px;"&gt;&lt;br style="line-height: 25px;" /&gt;DataContext在共享资源时最有用。&lt;/p&gt;&#xD;
&lt;p style="line-height: 25px; margin-top: 0px; margin-right: 0px; margin-left: 0px; text-indent: 2em; padding: 0px;"&gt;&lt;/p&gt;&#xD;
&lt;pre&gt;&amp;lt;StackPanel x:Name="parent" DataContext="{StaticResource photos}"&amp;gt;  &amp;lt;Label x:Name="numItemsLabel"  Content="{Binding Path=Count}"  DockPanel.Dock="Bottom"/&amp;gt;&lt;/pre&gt;&#xD;
&lt;pre&gt;也可以在代码这么写parent.DataContext = photos;&lt;/pre&gt;&#xD;
&lt;pre&gt;&lt;/pre&gt;&#xD;
&lt;p style="line-height: 25px; margin-top: 0px; margin-right: 0px; margin-left: 0px; text-indent: 2em; padding: 0px;"&gt;&lt;/p&gt;&#xD;
&lt;hr style="line-height: 25px;" /&gt;&#xD;
&lt;p style="line-height: 25px; margin-top: 0px; margin-right: 0px; margin-left: 0px; text-indent: 2em; padding: 0px;"&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span  style="color: #43613b; font-family: Arial, Helvetica, simsun, u5b8bu4f53; line-height: 25px;"&gt;&lt;br style="line-height: 25px;" /&gt;Value Converters:&lt;br style="line-height: 25px;" /&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 25px; margin-top: 0px; margin-right: 0px; margin-left: 0px; text-indent: 2em; padding: 0px;"&gt;IValueConverter可以在绑定时加入自己的逻辑，很好。&lt;/p&gt;&#xD;
&lt;pre&gt;public class RawCountToDescriptionConverter : IValueConverter  {   public object Convert(object value, Type targetType, object parameter,    CultureInfo culture)   {    // Let Parse throw an exception if the input is bad    int num = int.Parse(value.ToString());    return num + (num == 1 ? " item" : " items");   }     public object ConvertBack(object value, Type targetType, object parameter,    CultureInfo culture)   {    throw new NotSupportedException();   }  }&lt;/pre&gt;&#xD;
&lt;pre&gt;IValueConverter就两个方法需要自己实现，Convert和ConvertBack，一个转过来，一个转过去。&lt;/pre&gt;&#xD;
&lt;pre&gt;XAML代码如下&lt;/pre&gt;&#xD;
&lt;pre&gt;&amp;lt;Label Background="{Binding Path=Count, Converter={StaticResource myConverter},  Source={StaticResource photos}}"/&amp;gt;&lt;/pre&gt;&#xD;
&lt;pre&gt;这里的myConverter是个resource，需要在xaml中预先定义：&lt;/pre&gt;&#xD;
&lt;pre&gt;&amp;lt;Window.Resources&amp;gt;  &amp;lt;local:CountToBackgroundConverter x:Key="myConverter"/&amp;gt;  &amp;lt;/Window.Resources&amp;gt;&lt;/pre&gt;&#xD;
&lt;pre&gt;&lt;/pre&gt;&#xD;
&lt;pre&gt;Path对应的Count值会作为第一个参数value传给Convert方法。&lt;/pre&gt;&#xD;
&lt;pre&gt;&lt;/pre&gt;&#xD;
&lt;pre&gt;注意，返回的值一定要是绑定时对应的值，比如绑定时需要绑到Geometry类上，那么Convert返回的也必须是Geometry类。&lt;/pre&gt;&#xD;
&lt;pre&gt;&lt;/pre&gt;&#xD;
&lt;pre&gt;Convert方法还带有一个parameter参数，可以在xaml中这么使用&lt;/pre&gt;&#xD;
&lt;pre&gt;&amp;lt;Label Background="{Binding Path=Count, Converter={StaticResource myConverter},   ConverterParameter=Yellow, Source={StaticResource photos}}"/&amp;gt;&lt;/pre&gt;&#xD;
&lt;p style="line-height: 25px; margin-top: 0px; margin-right: 0px; margin-left: 0px; text-indent: 2em; padding: 0px;"&gt;ConverterParameter是object类型。&lt;br style="line-height: 25px;" /&gt;C#代码中就可以得到parameter的值了。&lt;/p&gt;&#xD;
&lt;p style="line-height: 25px; margin-top: 0px; margin-right: 0px; margin-left: 0px; text-indent: 2em; padding: 0px;"&gt;TIP：&lt;br style="line-height: 25px;" /&gt;可以用Binding.DoNothing作返回值，以指示绑定引擎不要执行任何操作。&lt;br style="line-height: 25px;" /&gt;可用使用[ValueConversion(typeof(DateTime), typeof(String))]来标识Converter要转化和返回的值类型，第一个参数是soure，第二个参数是target。这样在编译时，如果类型不匹配的话，编译器会抛出异常：error CS0592: Attribute 'ValueConversion' is not valid on this declaration type. It is only valid on 'class' declarations.&lt;/p&gt;&#xD;
&lt;p style="line-height: 25px; margin-top: 0px; margin-right: 0px; margin-left: 0px; text-indent: 2em; padding: 0px;"&gt;.net自带一些converter，比如常用的BooleanToVisibilityConverter，可以根据checkbox是否勾上来隐藏其他控件。&lt;/p&gt;&#xD;
&lt;p style="line-height: 25px; margin-top: 0px; margin-right: 0px; margin-left: 0px; text-indent: 2em; padding: 0px;"&gt;在collection中使用converter：使用DateTemplate，在其中使用Converter。（也可以使用Converter对整个collection进行转化，但是可能效率不好）&lt;/p&gt;&#xD;
&lt;p style="line-height: 25px; margin-top: 0px; margin-right: 0px; margin-left: 0px; text-indent: 2em; padding: 0px;"&gt;&lt;/p&gt;&#xD;
&lt;hr style="line-height: 25px;" /&gt;&#xD;
&lt;p style="line-height: 25px; margin-top: 0px; margin-right: 0px; margin-left: 0px; text-indent: 2em; padding: 0px;"&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span  style="color: #43613b; font-family: Arial, Helvetica, simsun, u5b8bu4f53; line-height: 25px;"&gt;&lt;br style="line-height: 25px;" /&gt;Binding.Mode&lt;br style="line-height: 25px;" /&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 25px; margin-top: 0px; margin-right: 0px; margin-left: 0px; text-indent: 2em; padding: 0px;"&gt;指示源和目标间数据流的方向。&lt;/p&gt;&#xD;
&lt;p style="line-height: 25px; margin-top: 0px; margin-right: 0px; margin-left: 0px; text-indent: 2em; padding: 0px;"&gt;OneWay 源更新时，目标也更新&lt;br style="line-height: 25px;" /&gt;TwoWay 源更新时目标也更新，或者目标更新时同时更新源&lt;br style="line-height: 25px;" /&gt;OneTime 仅当应用程序启动时或&amp;nbsp;&lt;a id="ctl00_MTCS_main_ctl59_ctl00_ctl03" target="_blank" rel="nofollow" href="http://msdn.microsoft.com/zh-cn/library/system.windows.frameworkelement.datacontext.aspx" style="color: #7c9187; line-height: 25px; text-decoration: none;"&gt;DataContext&lt;/a&gt;&amp;nbsp;进行更改时更新目标属性。绑一次就不更维护更新，目标相当于源的一次性镜像&lt;br style="line-height: 25px;" /&gt;OneWayToSource 目标更新时更新源，和OneWay相反&lt;/p&gt;&#xD;
&lt;p style="line-height: 25px; margin-top: 0px; margin-right: 0px; margin-left: 0px; text-indent: 2em; padding: 0px;"&gt;大部分WPF自带的控件的dependency property默认的是OneWay，像TextBox.Text默认的是TwoWay。&lt;br style="line-height: 25px;" /&gt;值得注意的事，只读属性只能设置成OneWay，不能是TwoWay，否则运行时异常。&lt;/p&gt;&#xD;
&lt;p style="line-height: 25px; margin-top: 0px; margin-right: 0px; margin-left: 0px; text-indent: 2em; padding: 0px;"&gt;对于 OneWay 或 TwoWay 绑定，对源的动态更改不会自动传播到目标。必须在源对象上实现&lt;a target="_blank" rel="nofollow" href="http://msdn.microsoft.com/zh-cn/library/system.componentmodel.inotifypropertychanged(VS.95).aspx" style="color: #7c9187; line-height: 25px; text-decoration: none;"&gt;INotifyPropertyChanged&lt;/a&gt;&amp;nbsp;接口。&amp;nbsp;&lt;br style="line-height: 25px;" /&gt;对于 TwoWay 绑定，对目标的更改不会自动传播到源，除非绑定目标是&amp;nbsp;&lt;a target="_blank" rel="nofollow" href="http://msdn.microsoft.com/zh-cn/library/system.windows.controls.textbox.text(VS.95).aspx" style="color: #7c9187; line-height: 25px; text-decoration: none;"&gt;Text&lt;/a&gt;&amp;nbsp;属性。在这种情况下，更新仅在&amp;nbsp;&lt;a target="_blank" rel="nofollow" href="http://msdn.microsoft.com/zh-cn/library/system.windows.controls.textbox(VS.95).aspx" style="color: #7c9187; line-height: 25px; text-decoration: none;"&gt;TextBox&lt;/a&gt;&amp;nbsp;失去焦点时发生。&amp;nbsp;&lt;br style="line-height: 25px;" /&gt;对于 OneTime 和 OneWay 绑定，对&amp;nbsp;&lt;a target="_blank" rel="nofollow" href="http://msdn.microsoft.com/zh-cn/library/ms597473(VS.95).aspx" style="color: #7c9187; line-height: 25px; text-decoration: none;"&gt;SetValue&lt;/a&gt;&amp;nbsp;的调用会自动更改目标值并删除绑定。&lt;/p&gt;&#xD;
&lt;p style="line-height: 25px; margin-top: 0px; margin-right: 0px; margin-left: 0px; text-indent: 2em; padding: 0px;"&gt;再次提醒，源要实现了&lt;a target="_blank" rel="nofollow" href="http://msdn.microsoft.com/zh-cn/library/system.componentmodel.inotifypropertychanged(VS.95).aspx" style="color: #7c9187; line-height: 25px; text-decoration: none;"&gt;INotifyPropertyChanged&lt;/a&gt;&amp;nbsp;接口才能把改变反映到目标上。&lt;/p&gt;&#xD;
&lt;p style="line-height: 25px; margin-top: 0px; margin-right: 0px; margin-left: 0px; text-indent: 2em; padding: 0px;"&gt;OneWayToSource 用于多个目标更改一个源的情况，可以想像成多人录入。或者用来实现源和目标倒置的情况。&lt;/p&gt;&#xD;
&lt;p style="line-height: 25px; margin-top: 0px; margin-right: 0px; margin-left: 0px; text-indent: 2em; padding: 0px;"&gt;&lt;/p&gt;&#xD;
&lt;hr style="line-height: 25px;" /&gt;&#xD;
&lt;p style="line-height: 25px; margin-top: 0px; margin-right: 0px; margin-left: 0px; text-indent: 2em; padding: 0px;"&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span  style="color: #43613b; font-family: Arial, Helvetica, simsun, u5b8bu4f53; line-height: 25px;"&gt;&lt;br style="line-height: 25px;" /&gt;Binding.UpdateSourceTrigger&lt;br style="line-height: 25px;" /&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="line-height: 25px; margin-top: 0px; margin-right: 0px; margin-left: 0px; text-indent: 2em; padding: 0px;"&gt;指示使用TwoWay或OneWayToSource时，目标在什么情况下更新源。有三个枚举值&lt;/p&gt;&#xD;
&lt;p style="line-height: 25px; margin-top: 0px; margin-right: 0px; margin-left: 0px; text-indent: 2em; padding: 0px;"&gt;PropertyChanged：目标属性改变时更新源&lt;br style="line-height: 25px;" /&gt;LostFocus：失去焦点时更新源&lt;br style="line-height: 25px;" /&gt;Explicit：只有在显式调用BindingExpression.UpdateSource方法时才更新源。BindingExpression可以通过BindingOperations.GetBindingExpression或FrameworkElement.GetBindingExpression方法获得&lt;/p&gt;&#xD;
&lt;p style="line-height: 25px; margin-top: 0px; margin-right: 0px; margin-left: 0px; text-indent: 2em; padding: 0px;"&gt;Binding类中提供了SourceUpdated和TargetUpdated事件，可以用来记些log，不过必须相应的NotifyOnSourceUpdated或NotifyOnTargetUpdated设置成true才会激发事件。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/sunjie9606/aggbug/2219866.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/sunjie9606/archive/2011/10/21/2219866.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/sunjie9606/archive/2011/10/08/2201665.html</id><title type="text">ExcelEdit 操作类</title><summary type="text">ExcelEdit 操作类</summary><published>2011-10-08T00:41:00Z</published><updated>2011-10-08T00:41:00Z</updated><author><name>sunjie</name><uri>http://www.cnblogs.com/sunjie9606/</uri></author><link rel="alternate" href="http://www.cnblogs.com/sunjie9606/archive/2011/10/08/2201665.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/sunjie9606/archive/2011/10/08/2201665.html"/><content type="html">&lt;pre&gt;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;#region&lt;/span&gt;&amp;nbsp;[&amp;nbsp;ExcelEdit&amp;nbsp;操作类&amp;nbsp;]&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: gray; padding: 0px; margin: 0px;"&gt;///&lt;/span&gt;&lt;span style="line-height: 1.5; color: green; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="line-height: 1.5; color: gray; padding: 0px; margin: 0px;"&gt;&amp;lt;SUMMARY&amp;gt;&lt;/span&gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: gray; padding: 0px; margin: 0px;"&gt;///&lt;/span&gt;&lt;span style="line-height: 1.5; color: green; padding: 0px; margin: 0px;"&gt;&amp;nbsp;ExcelEdit&amp;nbsp;的摘要说明&amp;nbsp;//引入Excel的COM组件&lt;/span&gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: gray; padding: 0px; margin: 0px;"&gt;///&lt;/span&gt;&lt;span style="line-height: 1.5; color: green; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="line-height: 1.5; color: gray; padding: 0px; margin: 0px;"&gt;&amp;lt;/SUMMARY&amp;gt;&lt;/span&gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;class&lt;/span&gt;&amp;nbsp;&lt;span style="line-height: 1.5; color: #2b91af; padding: 0px; margin: 0px;"&gt;ExcelEdit&lt;/span&gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;string&lt;/span&gt;&amp;nbsp;mFilename;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;public&lt;/span&gt;&amp;nbsp;Application&amp;nbsp;app;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;public&lt;/span&gt;&amp;nbsp;Workbooks&amp;nbsp;wbs;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;public&lt;/span&gt;&amp;nbsp;Excel.Workbook&amp;nbsp;wb;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;public&lt;/span&gt;&amp;nbsp;Excel.Worksheets&amp;nbsp;wss;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;public&lt;/span&gt;&amp;nbsp;Excel.Worksheet&amp;nbsp;ws;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;public&lt;/span&gt;&amp;nbsp;ExcelEdit()&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: green; padding: 0px; margin: 0px;"&gt;//&lt;/span&gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: green; padding: 0px; margin: 0px;"&gt;//&amp;nbsp;TODO:&amp;nbsp;在此处添加构造函数逻辑&lt;/span&gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: green; padding: 0px; margin: 0px;"&gt;//&lt;/span&gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;void&lt;/span&gt;&amp;nbsp;Create()&lt;span style="line-height: 1.5; color: green; padding: 0px; margin: 0px;"&gt;//创建一个Excel对象&lt;/span&gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;app&amp;nbsp;=&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;new&lt;/span&gt;&amp;nbsp;Excel.Application();&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wbs&amp;nbsp;=&amp;nbsp;app.Workbooks;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wb&amp;nbsp;=&amp;nbsp;wbs.Add(&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;true&lt;/span&gt;);&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;void&lt;/span&gt;&amp;nbsp;Open(&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;string&lt;/span&gt;&amp;nbsp;FileName)&lt;span style="line-height: 1.5; color: green; padding: 0px; margin: 0px;"&gt;//打开一个Excel文件&lt;/span&gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;app&amp;nbsp;=&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;new&lt;/span&gt;&amp;nbsp;Excel.Application();&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wbs&amp;nbsp;=&amp;nbsp;app.Workbooks;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wb&amp;nbsp;=&amp;nbsp;wbs.Add(FileName);&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: green; padding: 0px; margin: 0px;"&gt;//wb&amp;nbsp;=&amp;nbsp;wbs.Open(FileName,&amp;nbsp;0,&amp;nbsp;true,&amp;nbsp;5,"",&amp;nbsp;"",&amp;nbsp;true,&amp;nbsp;Excel.XlPlatform.xlWindows,&amp;nbsp;"t",&amp;nbsp;false,&amp;nbsp;false,&amp;nbsp;0,&amp;nbsp;true,Type.Missing,Type.Missing);&lt;/span&gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: green; padding: 0px; margin: 0px;"&gt;//wb&amp;nbsp;=&amp;nbsp;wbs.Open(FileName,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Excel.XlPlatform.xlWindows,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing);&lt;/span&gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mFilename&amp;nbsp;=&amp;nbsp;FileName;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;public&lt;/span&gt;&amp;nbsp;Excel.Worksheet&amp;nbsp;GetSheet(&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;string&lt;/span&gt;&amp;nbsp;SheetName)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: green; padding: 0px; margin: 0px;"&gt;//获取一个工作表&lt;/span&gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Excel.Worksheet&amp;nbsp;s&amp;nbsp;=&amp;nbsp;(Excel.Worksheet)wb.Worksheets[SheetName];&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;return&lt;/span&gt;&amp;nbsp;s;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;public&lt;/span&gt;&amp;nbsp;Excel.Worksheet&amp;nbsp;AddSheet(&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;string&lt;/span&gt;&amp;nbsp;SheetName)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: green; padding: 0px; margin: 0px;"&gt;//添加一个工作表&lt;/span&gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Excel.Worksheet&amp;nbsp;s&amp;nbsp;=&amp;nbsp;(Excel.Worksheet)wb.Worksheets.Add(&lt;span style="line-height: 1.5; color: #2b91af; padding: 0px; margin: 0px;"&gt;Type&lt;/span&gt;.Missing,&amp;nbsp;&lt;span style="line-height: 1.5; color: #2b91af; padding: 0px; margin: 0px;"&gt;Type&lt;/span&gt;.Missing,&amp;nbsp;&lt;span style="line-height: 1.5; color: #2b91af; padding: 0px; margin: 0px;"&gt;Type&lt;/span&gt;.Missing,&amp;nbsp;&lt;span style="line-height: 1.5; color: #2b91af; padding: 0px; margin: 0px;"&gt;Type&lt;/span&gt;.Missing);&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;s.Name&amp;nbsp;=&amp;nbsp;SheetName;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;return&lt;/span&gt;&amp;nbsp;s;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&#xD;
 &#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;void&lt;/span&gt;&amp;nbsp;DelSheet(&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;string&lt;/span&gt;&amp;nbsp;SheetName)&lt;span style="line-height: 1.5; color: green; padding: 0px; margin: 0px;"&gt;//删除一个工作表&lt;/span&gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;((Excel.Worksheet)wb.Worksheets[SheetName]).Delete();&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;public&lt;/span&gt;&amp;nbsp;Excel.Worksheet&amp;nbsp;ReNameSheet(&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;string&lt;/span&gt;&amp;nbsp;OldSheetName,&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;string&lt;/span&gt;&amp;nbsp;NewSheetName)&lt;span style="line-height: 1.5; color: green; padding: 0px; margin: 0px;"&gt;//重命名一个工作表一&lt;/span&gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Excel.Worksheet&amp;nbsp;s&amp;nbsp;=&amp;nbsp;(Excel.Worksheet)wb.Worksheets[OldSheetName];&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;s.Name&amp;nbsp;=&amp;nbsp;NewSheetName;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;return&lt;/span&gt;&amp;nbsp;s;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&#xD;
 &#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;public&lt;/span&gt;&amp;nbsp;Excel.Worksheet&amp;nbsp;ReNameSheet(Excel.Worksheet&amp;nbsp;Sheet,&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;string&lt;/span&gt;&amp;nbsp;NewSheetName)&lt;span style="line-height: 1.5; color: green; padding: 0px; margin: 0px;"&gt;//重命名一个工作表二&lt;/span&gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&#xD;
 &#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Sheet.Name&amp;nbsp;=&amp;nbsp;NewSheetName;&#xD;
 &#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;return&lt;/span&gt;&amp;nbsp;Sheet;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&#xD;
 &#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;void&lt;/span&gt;&amp;nbsp;SetCellValue(Excel.Worksheet&amp;nbsp;ws,&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;int&lt;/span&gt;&amp;nbsp;x,&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;int&lt;/span&gt;&amp;nbsp;y,&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;object&lt;/span&gt;&amp;nbsp;value)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: green; padding: 0px; margin: 0px;"&gt;//ws：要设值的工作表&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;X行Y列&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;value&amp;nbsp;&amp;nbsp;&amp;nbsp;值&lt;/span&gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.Cells[x,&amp;nbsp;y]&amp;nbsp;=&amp;nbsp;value;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;void&lt;/span&gt;&amp;nbsp;SetCellValue(&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;string&lt;/span&gt;&amp;nbsp;ws,&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;int&lt;/span&gt;&amp;nbsp;x,&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;int&lt;/span&gt;&amp;nbsp;y,&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;object&lt;/span&gt;&amp;nbsp;value)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: green; padding: 0px; margin: 0px;"&gt;//ws：要设值的工作表的名称&amp;nbsp;X行Y列&amp;nbsp;value&amp;nbsp;值&lt;/span&gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&#xD;
 &#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GetSheet(ws).Cells[x,&amp;nbsp;y]&amp;nbsp;=&amp;nbsp;value;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&#xD;
 &#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;void&lt;/span&gt;&amp;nbsp;SetCellProperty(Excel.Worksheet&amp;nbsp;ws,&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;int&lt;/span&gt;&amp;nbsp;Startx,&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;int&lt;/span&gt;&amp;nbsp;Starty,&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;int&lt;/span&gt;&amp;nbsp;Endx,&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;int&lt;/span&gt;&amp;nbsp;Endy,&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;int&lt;/span&gt;&amp;nbsp;size,&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;string&lt;/span&gt;&amp;nbsp;name,&amp;nbsp;Excel.Constants&amp;nbsp;color,&amp;nbsp;Excel.Constants&amp;nbsp;HorizontalAlignment)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: green; padding: 0px; margin: 0px;"&gt;//设置一个单元格的属性&amp;nbsp;&amp;nbsp;&amp;nbsp;字体，&amp;nbsp;&amp;nbsp;&amp;nbsp;大小，颜色&amp;nbsp;&amp;nbsp;&amp;nbsp;，对齐方式&lt;/span&gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;name&amp;nbsp;=&amp;nbsp;&lt;span style="line-height: 1.5; color: #a31515; padding: 0px; margin: 0px;"&gt;"宋体"&lt;/span&gt;;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;size&amp;nbsp;=&amp;nbsp;12;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;color&amp;nbsp;=&amp;nbsp;Excel.Constants.xlAutomatic;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HorizontalAlignment&amp;nbsp;=&amp;nbsp;Excel.Constants.xlRight;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.get_Range(ws.Cells[Startx,&amp;nbsp;Starty],&amp;nbsp;ws.Cells[Endx,&amp;nbsp;Endy]).Font.Name&amp;nbsp;=&amp;nbsp;name;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.get_Range(ws.Cells[Startx,&amp;nbsp;Starty],&amp;nbsp;ws.Cells[Endx,&amp;nbsp;Endy]).Font.Size&amp;nbsp;=&amp;nbsp;size;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.get_Range(ws.Cells[Startx,&amp;nbsp;Starty],&amp;nbsp;ws.Cells[Endx,&amp;nbsp;Endy]).Font.Color&amp;nbsp;=&amp;nbsp;color;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.get_Range(ws.Cells[Startx,&amp;nbsp;Starty],&amp;nbsp;ws.Cells[Endx,&amp;nbsp;Endy]).HorizontalAlignment&amp;nbsp;=&amp;nbsp;HorizontalAlignment;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&#xD;
 &#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;void&lt;/span&gt;&amp;nbsp;SetCellProperty(&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;string&lt;/span&gt;&amp;nbsp;wsn,&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;int&lt;/span&gt;&amp;nbsp;Startx,&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;int&lt;/span&gt;&amp;nbsp;Starty,&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;int&lt;/span&gt;&amp;nbsp;Endx,&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;int&lt;/span&gt;&amp;nbsp;Endy,&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;int&lt;/span&gt;&amp;nbsp;size,&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;string&lt;/span&gt;&amp;nbsp;name,&amp;nbsp;Excel.Constants&amp;nbsp;color,&amp;nbsp;Excel.Constants&amp;nbsp;HorizontalAlignment)&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: green; padding: 0px; margin: 0px;"&gt;//name&amp;nbsp;=&amp;nbsp;"宋体";&lt;/span&gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: green; padding: 0px; margin: 0px;"&gt;//size&amp;nbsp;=&amp;nbsp;12;&lt;/span&gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: green; padding: 0px; margin: 0px;"&gt;//color&amp;nbsp;=&amp;nbsp;Excel.Constants.xlAutomatic;&lt;/span&gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: green; padding: 0px; margin: 0px;"&gt;//HorizontalAlignment&amp;nbsp;=&amp;nbsp;Excel.Constants.xlRight;&lt;/span&gt;&#xD;
 &#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Excel.Worksheet&amp;nbsp;ws&amp;nbsp;=&amp;nbsp;GetSheet(wsn);&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.get_Range(ws.Cells[Startx,&amp;nbsp;Starty],&amp;nbsp;ws.Cells[Endx,&amp;nbsp;Endy]).Font.Name&amp;nbsp;=&amp;nbsp;name;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.get_Range(ws.Cells[Startx,&amp;nbsp;Starty],&amp;nbsp;ws.Cells[Endx,&amp;nbsp;Endy]).Font.Size&amp;nbsp;=&amp;nbsp;size;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.get_Range(ws.Cells[Startx,&amp;nbsp;Starty],&amp;nbsp;ws.Cells[Endx,&amp;nbsp;Endy]).Font.Color&amp;nbsp;=&amp;nbsp;color;&#xD;
 &#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.get_Range(ws.Cells[Startx,&amp;nbsp;Starty],&amp;nbsp;ws.Cells[Endx,&amp;nbsp;Endy]).HorizontalAlignment&amp;nbsp;=&amp;nbsp;HorizontalAlignment;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&#xD;
 &#xD;
 &#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;void&lt;/span&gt;&amp;nbsp;UniteCells(Excel.Worksheet&amp;nbsp;ws,&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;int&lt;/span&gt;&amp;nbsp;x1,&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;int&lt;/span&gt;&amp;nbsp;y1,&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;int&lt;/span&gt;&amp;nbsp;x2,&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;int&lt;/span&gt;&amp;nbsp;y2)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: green; padding: 0px; margin: 0px;"&gt;//合并单元格&lt;/span&gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.get_Range(ws.Cells[x1,&amp;nbsp;y1],&amp;nbsp;ws.Cells[x2,&amp;nbsp;y2]).Merge(&lt;span style="line-height: 1.5; color: #2b91af; padding: 0px; margin: 0px;"&gt;Type&lt;/span&gt;.Missing);&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&#xD;
 &#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;void&lt;/span&gt;&amp;nbsp;UniteCells(&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;string&lt;/span&gt;&amp;nbsp;ws,&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;int&lt;/span&gt;&amp;nbsp;x1,&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;int&lt;/span&gt;&amp;nbsp;y1,&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;int&lt;/span&gt;&amp;nbsp;x2,&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;int&lt;/span&gt;&amp;nbsp;y2)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: green; padding: 0px; margin: 0px;"&gt;//合并单元格&lt;/span&gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GetSheet(ws).get_Range(GetSheet(ws).Cells[x1,&amp;nbsp;y1],&amp;nbsp;GetSheet(ws).Cells[x2,&amp;nbsp;y2]).Merge(&lt;span style="line-height: 1.5; color: #2b91af; padding: 0px; margin: 0px;"&gt;Type&lt;/span&gt;.Missing);&#xD;
 &#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&#xD;
 &#xD;
 &#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;void&lt;/span&gt;&amp;nbsp;InsertTable(System.Data.DataTable&amp;nbsp;dt,&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;string&lt;/span&gt;&amp;nbsp;ws,&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;int&lt;/span&gt;&amp;nbsp;startX,&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;int&lt;/span&gt;&amp;nbsp;startY)&lt;span style="line-height: 1.5; color: green; padding: 0px; margin: 0px;"&gt;//将内存中数据表格插入到Excel指定工作表的指定位置&amp;nbsp;为在使用模板时控制格式时使用一&lt;/span&gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&#xD;
 &#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;for&lt;/span&gt;&amp;nbsp;(&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;int&lt;/span&gt;&amp;nbsp;i&amp;nbsp;=&amp;nbsp;0;&amp;nbsp;i&amp;nbsp;&amp;lt;=&amp;nbsp;dt.Rows.Count&amp;nbsp;-&amp;nbsp;1;&amp;nbsp;i++)&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;for&lt;/span&gt;&amp;nbsp;(&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;int&lt;/span&gt;&amp;nbsp;j&amp;nbsp;=&amp;nbsp;0;&amp;nbsp;j&amp;nbsp;&amp;lt;=&amp;nbsp;dt.Columns.Count&amp;nbsp;-&amp;nbsp;1;&amp;nbsp;j++)&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GetSheet(ws).Cells[startX+i,&amp;nbsp;j&amp;nbsp;+&amp;nbsp;startY]&amp;nbsp;=&amp;nbsp;dt.Rows[i][j].ToString();&#xD;
 &#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&#xD;
 &#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&#xD;
 &#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;void&lt;/span&gt;&amp;nbsp;InsertTable(System.Data.DataTable&amp;nbsp;dt,&amp;nbsp;Excel.Worksheet&amp;nbsp;ws,&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;int&lt;/span&gt;&amp;nbsp;startX,&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;int&lt;/span&gt;&amp;nbsp;startY)&lt;span style="line-height: 1.5; color: green; padding: 0px; margin: 0px;"&gt;//将内存中数据表格插入到Excel指定工作表的指定位置二&lt;/span&gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&#xD;
 &#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;for&lt;/span&gt;&amp;nbsp;(&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;int&lt;/span&gt;&amp;nbsp;i&amp;nbsp;=&amp;nbsp;0;&amp;nbsp;i&amp;nbsp;&amp;lt;=&amp;nbsp;dt.Rows.Count&amp;nbsp;-&amp;nbsp;1;&amp;nbsp;i++)&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;for&lt;/span&gt;&amp;nbsp;(&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;int&lt;/span&gt;&amp;nbsp;j&amp;nbsp;=&amp;nbsp;0;&amp;nbsp;j&amp;nbsp;&amp;lt;=&amp;nbsp;dt.Columns.Count&amp;nbsp;-&amp;nbsp;1;&amp;nbsp;j++)&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&#xD;
 &#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.Cells[startX+i,&amp;nbsp;j&amp;nbsp;+&amp;nbsp;startY]&amp;nbsp;=&amp;nbsp;dt.Rows[i][j];&#xD;
 &#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&#xD;
 &#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&#xD;
 &#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&#xD;
 &#xD;
 &#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;void&lt;/span&gt;&amp;nbsp;AddTable(System.Data.DataTable&amp;nbsp;dt,&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;string&lt;/span&gt;&amp;nbsp;ws,&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;int&lt;/span&gt;&amp;nbsp;startX,&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;int&lt;/span&gt;&amp;nbsp;startY)&lt;span style="line-height: 1.5; color: green; padding: 0px; margin: 0px;"&gt;//将内存中数据表格添加到Excel指定工作表的指定位置一&lt;/span&gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&#xD;
 &#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;for&lt;/span&gt;&amp;nbsp;(&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;int&lt;/span&gt;&amp;nbsp;i&amp;nbsp;=&amp;nbsp;0;&amp;nbsp;i&amp;nbsp;&amp;lt;=&amp;nbsp;dt.Rows.Count&amp;nbsp;-&amp;nbsp;1;&amp;nbsp;i++)&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;for&lt;/span&gt;&amp;nbsp;(&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;int&lt;/span&gt;&amp;nbsp;j&amp;nbsp;=&amp;nbsp;0;&amp;nbsp;j&amp;nbsp;&amp;lt;=&amp;nbsp;dt.Columns.Count&amp;nbsp;-&amp;nbsp;1;&amp;nbsp;j++)&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&#xD;
 &#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GetSheet(ws).Cells[i&amp;nbsp;+&amp;nbsp;startX,&amp;nbsp;j&amp;nbsp;+&amp;nbsp;startY]&amp;nbsp;=&amp;nbsp;dt.Rows[i][j];&#xD;
 &#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&#xD;
 &#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&#xD;
 &#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;void&lt;/span&gt;&amp;nbsp;AddTable(System.Data.DataTable&amp;nbsp;dt,&amp;nbsp;Excel.Worksheet&amp;nbsp;ws,&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;int&lt;/span&gt;&amp;nbsp;startX,&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;int&lt;/span&gt;&amp;nbsp;startY)&lt;span style="line-height: 1.5; color: green; padding: 0px; margin: 0px;"&gt;//将内存中数据表格添加到Excel指定工作表的指定位置二&lt;/span&gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&#xD;
 &#xD;
 &#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;for&lt;/span&gt;&amp;nbsp;(&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;int&lt;/span&gt;&amp;nbsp;i&amp;nbsp;=&amp;nbsp;0;&amp;nbsp;i&amp;nbsp;&amp;lt;=&amp;nbsp;dt.Rows.Count&amp;nbsp;-&amp;nbsp;1;&amp;nbsp;i++)&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;for&lt;/span&gt;&amp;nbsp;(&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;int&lt;/span&gt;&amp;nbsp;j&amp;nbsp;=&amp;nbsp;0;&amp;nbsp;j&amp;nbsp;&amp;lt;=&amp;nbsp;dt.Columns.Count&amp;nbsp;-&amp;nbsp;1;&amp;nbsp;j++)&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&#xD;
 &#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ws.Cells[i&amp;nbsp;+&amp;nbsp;startX,&amp;nbsp;j&amp;nbsp;+&amp;nbsp;startY]&amp;nbsp;=&amp;nbsp;dt.Rows[i][j];&#xD;
 &#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&#xD;
 &#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;void&lt;/span&gt;&amp;nbsp;InsertPictures(&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;string&lt;/span&gt;&amp;nbsp;Filename,&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;string&lt;/span&gt;&amp;nbsp;ws)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: green; padding: 0px; margin: 0px;"&gt;//插入图片操作一&lt;/span&gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GetSheet(ws).Shapes.AddPicture(Filename,&amp;nbsp;MsoTriState.msoFalse,&amp;nbsp;MsoTriState.msoTrue,&amp;nbsp;10,&amp;nbsp;10,&amp;nbsp;150,&amp;nbsp;150);&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: green; padding: 0px; margin: 0px;"&gt;//后面的数字表示位置&lt;/span&gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&#xD;
 &#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;void&lt;/span&gt;&amp;nbsp;InsertPictures(&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;string&lt;/span&gt;&amp;nbsp;Filename,&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;string&lt;/span&gt;&amp;nbsp;ws,&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;int&lt;/span&gt;&amp;nbsp;Height,&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;int&lt;/span&gt;&amp;nbsp;Width)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: green; padding: 0px; margin: 0px;"&gt;//&amp;nbsp;插入图片操作二&lt;/span&gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GetSheet(ws).Shapes.AddPicture(Filename,&amp;nbsp;MsoTriState.msoFalse,&amp;nbsp;MsoTriState.msoTrue,&amp;nbsp;10,&amp;nbsp;10,&amp;nbsp;150,&amp;nbsp;150);&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GetSheet(ws).Shapes.get_Range(&lt;span style="line-height: 1.5; color: #2b91af; padding: 0px; margin: 0px;"&gt;Type&lt;/span&gt;.Missing).Height&amp;nbsp;=&amp;nbsp;Height;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GetSheet(ws).Shapes.get_Range(&lt;span style="line-height: 1.5; color: #2b91af; padding: 0px; margin: 0px;"&gt;Type&lt;/span&gt;.Missing).Width&amp;nbsp;=&amp;nbsp;Width;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;void&lt;/span&gt;&amp;nbsp;InsertPictures(&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;string&lt;/span&gt;&amp;nbsp;Filename,&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;string&lt;/span&gt;&amp;nbsp;ws,&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;int&lt;/span&gt;&amp;nbsp;left,&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;int&lt;/span&gt;&amp;nbsp;top,&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;int&lt;/span&gt;&amp;nbsp;Height,&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;int&lt;/span&gt;&amp;nbsp;Width)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: green; padding: 0px; margin: 0px;"&gt;//插入图片操作三&lt;/span&gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&#xD;
 &#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GetSheet(ws).Shapes.AddPicture(Filename,&amp;nbsp;MsoTriState.msoFalse,&amp;nbsp;MsoTriState.msoTrue,&amp;nbsp;10,&amp;nbsp;10,&amp;nbsp;150,&amp;nbsp;150);&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GetSheet(ws).Shapes.get_Range(&lt;span style="line-height: 1.5; color: #2b91af; padding: 0px; margin: 0px;"&gt;Type&lt;/span&gt;.Missing).IncrementLeft(left);&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GetSheet(ws).Shapes.get_Range(&lt;span style="line-height: 1.5; color: #2b91af; padding: 0px; margin: 0px;"&gt;Type&lt;/span&gt;.Missing).IncrementTop(top);&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GetSheet(ws).Shapes.get_Range(&lt;span style="line-height: 1.5; color: #2b91af; padding: 0px; margin: 0px;"&gt;Type&lt;/span&gt;.Missing).Height&amp;nbsp;=&amp;nbsp;Height;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GetSheet(ws).Shapes.get_Range(&lt;span style="line-height: 1.5; color: #2b91af; padding: 0px; margin: 0px;"&gt;Type&lt;/span&gt;.Missing).Width&amp;nbsp;=&amp;nbsp;Width;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&#xD;
 &#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;void&lt;/span&gt;&amp;nbsp;InsertActiveChart(Excel.XlChartType&amp;nbsp;ChartType,&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;string&lt;/span&gt;&amp;nbsp;ws,&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;int&lt;/span&gt;&amp;nbsp;DataSourcesX1,&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;int&lt;/span&gt;&amp;nbsp;DataSourcesY1,&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;int&lt;/span&gt;&amp;nbsp;DataSourcesX2,&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;int&lt;/span&gt;&amp;nbsp;DataSourcesY2,&amp;nbsp;Excel.XlRowCol&amp;nbsp;ChartDataType)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: green; padding: 0px; margin: 0px;"&gt;//插入图表操作&lt;/span&gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ChartDataType&amp;nbsp;=&amp;nbsp;Excel.XlRowCol.xlColumns;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wb.Charts.Add(&lt;span style="line-height: 1.5; color: #2b91af; padding: 0px; margin: 0px;"&gt;Type&lt;/span&gt;.Missing,&amp;nbsp;&lt;span style="line-height: 1.5; color: #2b91af; padding: 0px; margin: 0px;"&gt;Type&lt;/span&gt;.Missing,&amp;nbsp;&lt;span style="line-height: 1.5; color: #2b91af; padding: 0px; margin: 0px;"&gt;Type&lt;/span&gt;.Missing,&amp;nbsp;&lt;span style="line-height: 1.5; color: #2b91af; padding: 0px; margin: 0px;"&gt;Type&lt;/span&gt;.Missing);&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wb.ActiveChart.ChartType&amp;nbsp;=&amp;nbsp;ChartType;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wb.ActiveChart.SetSourceData(GetSheet(ws).get_Range(GetSheet(ws).Cells[DataSourcesX1,&amp;nbsp;DataSourcesY1],&amp;nbsp;GetSheet(ws).Cells[DataSourcesX2,&amp;nbsp;DataSourcesY2]),&amp;nbsp;ChartDataType);&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wb.ActiveChart.Location(Excel.XlChartLocation.xlLocationAsObject,&amp;nbsp;ws);&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;bool&lt;/span&gt;&amp;nbsp;Save()&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: green; padding: 0px; margin: 0px;"&gt;//保存文档&lt;/span&gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;if&lt;/span&gt;&amp;nbsp;(mFilename&amp;nbsp;==&amp;nbsp;&lt;span style="line-height: 1.5; color: #a31515; padding: 0px; margin: 0px;"&gt;""&lt;/span&gt;)&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;false&lt;/span&gt;;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;else&lt;/span&gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;try&lt;/span&gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wb.Save();&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;true&lt;/span&gt;;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&#xD;
 &#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;catch&lt;/span&gt;&amp;nbsp;(&lt;span style="line-height: 1.5; color: #2b91af; padding: 0px; margin: 0px;"&gt;Exception&lt;/span&gt;&amp;nbsp;ex)&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;false&lt;/span&gt;;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;bool&lt;/span&gt;&amp;nbsp;SaveAs(&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;object&lt;/span&gt;&amp;nbsp;FileName)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: green; padding: 0px; margin: 0px;"&gt;//文档另存为&lt;/span&gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;try&lt;/span&gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wb.SaveAs(FileName,&amp;nbsp;&lt;span style="line-height: 1.5; color: #2b91af; padding: 0px; margin: 0px;"&gt;Type&lt;/span&gt;.Missing,&amp;nbsp;&lt;span style="line-height: 1.5; color: #2b91af; padding: 0px; margin: 0px;"&gt;Type&lt;/span&gt;.Missing,&amp;nbsp;&lt;span style="line-height: 1.5; color: #2b91af; padding: 0px; margin: 0px;"&gt;Type&lt;/span&gt;.Missing,&amp;nbsp;&lt;span style="line-height: 1.5; color: #2b91af; padding: 0px; margin: 0px;"&gt;Type&lt;/span&gt;.Missing,&amp;nbsp;&lt;span style="line-height: 1.5; color: #2b91af; padding: 0px; margin: 0px;"&gt;Type&lt;/span&gt;.Missing,&amp;nbsp;Excel.XlSaveAsAccessMode.xlExclusive,&amp;nbsp;&lt;span style="line-height: 1.5; color: #2b91af; padding: 0px; margin: 0px;"&gt;Type&lt;/span&gt;.Missing,&amp;nbsp;&lt;span style="line-height: 1.5; color: #2b91af; padding: 0px; margin: 0px;"&gt;Type&lt;/span&gt;.Missing,&amp;nbsp;&lt;span style="line-height: 1.5; color: #2b91af; padding: 0px; margin: 0px;"&gt;Type&lt;/span&gt;.Missing,&amp;nbsp;&lt;span style="line-height: 1.5; color: #2b91af; padding: 0px; margin: 0px;"&gt;Type&lt;/span&gt;.Missing,&amp;nbsp;&lt;span style="line-height: 1.5; color: #2b91af; padding: 0px; margin: 0px;"&gt;Type&lt;/span&gt;.Missing);&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;true&lt;/span&gt;;&#xD;
 &#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&#xD;
 &#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;catch&lt;/span&gt;&amp;nbsp;(&lt;span style="line-height: 1.5; color: #2b91af; padding: 0px; margin: 0px;"&gt;Exception&lt;/span&gt;&amp;nbsp;ex)&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;false&lt;/span&gt;;&#xD;
 &#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;void&lt;/span&gt;&amp;nbsp;Close()&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: green; padding: 0px; margin: 0px;"&gt;//关闭一个Excel对象，销毁对象&lt;/span&gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: green; padding: 0px; margin: 0px;"&gt;//wb.Save();&lt;/span&gt;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wb.Close(&lt;span style="line-height: 1.5; color: #2b91af; padding: 0px; margin: 0px;"&gt;Type&lt;/span&gt;.Missing,&amp;nbsp;&lt;span style="line-height: 1.5; color: #2b91af; padding: 0px; margin: 0px;"&gt;Type&lt;/span&gt;.Missing,&amp;nbsp;&lt;span style="line-height: 1.5; color: #2b91af; padding: 0px; margin: 0px;"&gt;Type&lt;/span&gt;.Missing);&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wbs.Close();&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;app.Quit();&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wb&amp;nbsp;=&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;null&lt;/span&gt;;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wbs&amp;nbsp;=&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;null&lt;/span&gt;;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;app&amp;nbsp;=&amp;nbsp;&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;null&lt;/span&gt;;&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="line-height: 1.5; color: #2b91af; padding: 0px; margin: 0px;"&gt;GC&lt;/span&gt;.Collect();&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&#xD;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&#xD;
&lt;span style="line-height: 1.5; color: blue; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#endregion&lt;/span&gt;&lt;/pre&gt;&lt;img src="http://www.cnblogs.com/sunjie9606/aggbug/2201665.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/sunjie9606/archive/2011/10/08/2201665.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/sunjie9606/archive/2011/09/30/2196109.html</id><title type="text">WCF开发框架形成之旅--如何实现X509证书加密</title><summary type="text">WCF开发框架形成之旅--如何实现X509证书加密</summary><published>2011-09-30T00:42:00Z</published><updated>2011-09-30T00:42:00Z</updated><author><name>sunjie</name><uri>http://www.cnblogs.com/sunjie9606/</uri></author><link rel="alternate" href="http://www.cnblogs.com/sunjie9606/archive/2011/09/30/2196109.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/sunjie9606/archive/2011/09/30/2196109.html"/><content type="html">&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;在前面几篇文章，均介绍了一些WCF服务的开发经验，对于数据的加密传输，重要性不言而喻。关于在WCF使用证书加密的重要性，在上篇随笔《&lt;/p&gt;&#xD;
&lt;div style="display: inline-block;"&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;span  style="font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 19px;"&gt;&lt;span  style="font-size: 12px; color: #333333; font-family: Verdana; line-height: normal;"&gt;&lt;a  href="http://www.cnblogs.com/wuhuacong/archive/2011/09/29/2195442.html" style="color: #001e6a; text-decoration: underline; background: inherit; background-color: #f5f5f5; font-size: 12px;"&gt;&lt;span style="font-size: 12pt;"&gt;WCF开发框架形成之旅--您的数据是否需要加密&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;》 有详细的介绍，特别对于重要的、敏感的数据，加密传输非常重要。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;因此自从开始使用WCF以来，一直想使用合适的数据加密传输来解决问题，WCF常用的就是使用X509证书来实现加密，开始创建WCF服务，并顺利调用，以为一且均很美好，但是这个X509加密处理方式却令人头痛不已，一直没能顺利调通，并参考了很多www.codeproject.com上的相关文章，里面有很多不错的文章，不过很多不够系统，也说得不够具体化。本文的意图就是详细、系统化介绍如何处理证书加密的操作，方便自己及他人日常开发WCF借鉴。&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;首先先介绍一下前人对WCF开发中应用证书加密的一些思路介绍，个人觉得比较靠谱的是这两篇文章&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;1、&amp;nbsp;&lt;a href="http://www.codeproject.com/KB/WCF/9StepsWCF.aspx" style="color: #1d58d1; text-decoration: none;"&gt;http://www.codeproject.com/KB/WCF/9StepsWCF.aspx&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;2、&amp;nbsp;&lt;a href="http://notgartner.wordpress.com/2007/09/06/using-certificate-based-authentication-and-protection-with-windows-communication-foundation-wcf/" style="color: #1d58d1; text-decoration: none;"&gt;Using Certificate-based Authentication and Protection with Windows Communication Foundation (WCF)&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;第一篇文章基本已经介绍了证书加密操作的相关步骤了：创建证书、配置服务及客户端节点。不过没有说明我们一般通过那样创建的证书，其实是临时用的测试证书，不在配置文件的certificateValidationMode属性中使用除了&amp;ldquo;None"属性外的值，否则就不能顺利运行调用服务。这个问题其实可以通过在Windows2003中部署证书服务来创建合格的证书，具体可以参考文章实现：&lt;a href="http://www.codeproject.com/KB/WCF/wcf_certificates.aspx" style="color: #1d58d1; text-decoration: none;"&gt;http://www.codeproject.com/KB/WCF/wcf_certificates.aspx&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;另外作者可能也只是在一台开发机器上部署服务和调用客户端或者是XP系统，因此也没有考虑给IIS授权的问题，因为在Windows2003等服务器机器上，要给IIS授权才能访问证书，需要使用&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=c42e27ac-3409-40e9-8667-c748e422833f&amp;amp;displaylang=en" style="color: #1d58d1; text-decoration: none;"&gt;WinHttpCertCfg.exe&lt;/a&gt;或者CertMgr.exe来实现证书的授权等操作，在这方面，文章&lt;a href="http://www.codeproject.com/KB/WCF/CustomUserNamePassAuth2.aspx" style="color: #1d58d1; text-decoration: none;"&gt;http://www.codeproject.com/KB/WCF/CustomUserNamePassAuth2.aspx&lt;/a&gt;&amp;nbsp;介绍的有一点靠谱了，不过了解整篇文章却无助完整测试WCF服务的应用。&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;&lt;br /&gt;综上所述，要成功部署基于X509证书加密的操作，需要这几方面的知识和操作步骤。&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;1、 创建WCF服务应用以及调用客户端。&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;2、 创建客户证书和服务端的X509证书&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;3、 配置服务端的配置文件，使之使用X509证书服务。&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;4、&amp;nbsp;授权IIS访问服务器证书&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;5、&amp;nbsp;在服务器证书管理中导入服务器端证书&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;6、&amp;nbsp;在客户端导入客户端证书，完成X509证书配置并调用服务。&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;下面就这几方面分别介绍相关的处理。&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;&lt;strong&gt;1、创建WCF服务应用以及调用客户端。&amp;nbsp;&lt;/strong&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;这个是基本的操作，客户创建适合自己的WCF开发框架，基于我的Winform开发框架扩展而成的WCF框架，是一种比较完善、高效、弹性化的开发框架，详细步骤及说明请参考随笔《&lt;span  style="font-size: 18px; color: #444444; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-weight: bold; line-height: normal;"&gt;&lt;a id="homepage1_HomePageDays_ctl04_DayList_TitleUrl_0" href="http://www.cnblogs.com/wuhuacong/archive/2011/09/22/2185619.html" style="color: #223355; text-decoration: underline;"&gt;&lt;span style="font-size: 12pt;"&gt;基于我的Winform开发框架扩展而成的WCF开发框架&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;》，使用这种方式构造的开发框架，各层职责比较分明，而且方便管理。&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;&lt;/p&gt;&#xD;
&lt;div&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;&lt;strong&gt;2、 创建客户证书和服务端的X509证书&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;在VS2008 的DOS命令提示中，输入下面的指令即可创建相关的服务器和客户端证书&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;div&gt;makecert.exe&amp;nbsp;-sr&amp;nbsp;LocalMachine&amp;nbsp;-ss&amp;nbsp;My&amp;nbsp;-a&amp;nbsp;sha1&amp;nbsp;-n&amp;nbsp;CN=ParkingServer&amp;nbsp;-sky&amp;nbsp;exchange&amp;nbsp;-pe&lt;/div&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;&lt;span  style="font-size: 13px; font-family: 'Courier New'; line-height: 19px;"&gt;makecert.exe&amp;nbsp;-sr&amp;nbsp;LocalMachine&amp;nbsp;-ss&amp;nbsp;My&amp;nbsp;-a&amp;nbsp;sha1&amp;nbsp;-n&amp;nbsp;CN=ParkingClient&amp;nbsp;-sky&amp;nbsp;exchange&amp;nbsp;-pe&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;&lt;span face="'Courier New'" size="2" style="font-family: 'Courier New'; font-size: x-small;"&gt;&lt;span  style="font-size: 13px; line-height: 19px;"&gt;下面是各种参数的介绍&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;div&gt;&#xD;
&lt;table cellspacing="0" cellpadding="0" border="1" style="border-collapse: collapse; background-color: transparent; border-width: medium; border-color: initial; border-style: none;"&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr style="font-family: Verdana, Arial, sans-serif; font-size: 10pt;"&gt;&#xD;
&lt;td valign="removed&amp;quot;" width="133" style="font-size: 10pt; font-family: Verdana, Arial, sans-serif; padding-right: 5.4pt; padding-left: 5.4pt; padding-bottom: 0in; width: 99.9pt; padding-top: 0in; border-width: 1pt; border-color: windowtext; border-style: solid;"&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; font-family: Verdana, Arial, sans-serif; font-size: 10pt;"&gt;&lt;strong&gt;属性&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;td valign="removed&amp;quot;" width="505" style="font-size: 10pt; font-family: Verdana, Arial, sans-serif; border-right-color: windowtext; border-right-width: 1pt; border-right-style: solid; padding-right: 5.4pt; border-top-color: windowtext; border-top-width: 1pt; border-top-style: solid; padding-left: 5.4pt; padding-bottom: 0in; border-left-width: medium; border-left-style: none; border-left-color: initial; width: 378.9pt; padding-top: 0in; border-bottom-color: windowtext; border-bottom-width: 1pt; border-bottom-style: solid;"&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; font-family: Verdana, Arial, sans-serif; font-size: 10pt;"&gt;&lt;strong&gt;解析&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;tr style="font-family: Verdana, Arial, sans-serif; font-size: 10pt;"&gt;&#xD;
&lt;td valign="removed&amp;quot;" width="133" style="font-size: 10pt; font-family: Verdana, Arial, sans-serif; border-right-color: windowtext; border-right-width: 1pt; border-right-style: solid; padding-right: 5.4pt; border-top-width: medium; border-top-style: none; border-top-color: initial; padding-left: 5.4pt; padding-bottom: 0in; border-left-color: windowtext; border-left-width: 1pt; border-left-style: solid; width: 99.9pt; padding-top: 0in; border-bottom-color: windowtext; border-bottom-width: 1pt; border-bottom-style: solid;"&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; font-family: Verdana, Arial, sans-serif; font-size: 10pt;"&gt;-sr&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;td valign="removed&amp;quot;" width="505" style="font-size: 10pt; font-family: Verdana, Arial, sans-serif; border-right-color: windowtext; border-right-width: 1pt; border-right-style: solid; padding-right: 5.4pt; border-top-width: medium; border-top-style: none; border-top-color: initial; padding-left: 5.4pt; padding-bottom: 0in; border-left-width: medium; border-left-style: none; border-left-color: initial; width: 378.9pt; padding-top: 0in; border-bottom-color: windowtext; border-bottom-width: 1pt; border-bottom-style: solid;"&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; font-family: Verdana, Arial, sans-serif; font-size: 10pt;"&gt;指定的证书存储区中的注册表位置。&amp;nbsp;&lt;br /&gt;currentUser&amp;nbsp;&lt;br /&gt;指定注册版存储位置为 HKEY_CURRENT_USER.&amp;nbsp;&lt;br /&gt;localMachine&amp;nbsp;&lt;br /&gt;指定注册版存储位置为&amp;nbsp;HKEY_LOCAL_MACHINE.&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;tr style="font-family: Verdana, Arial, sans-serif; font-size: 10pt;"&gt;&#xD;
&lt;td valign="removed&amp;quot;" width="133" style="font-size: 10pt; font-family: Verdana, Arial, sans-serif; border-right-color: windowtext; border-right-width: 1pt; border-right-style: solid; padding-right: 5.4pt; border-top-width: medium; border-top-style: none; border-top-color: initial; padding-left: 5.4pt; padding-bottom: 0in; border-left-color: windowtext; border-left-width: 1pt; border-left-style: solid; width: 99.9pt; padding-top: 0in; border-bottom-color: windowtext; border-bottom-width: 1pt; border-bottom-style: solid;"&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; font-family: Verdana, Arial, sans-serif; font-size: 10pt;"&gt;-ss&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;td valign="removed&amp;quot;" width="505" style="font-size: 10pt; font-family: Verdana, Arial, sans-serif; border-right-color: windowtext; border-right-width: 1pt; border-right-style: solid; padding-right: 5.4pt; border-top-width: medium; border-top-style: none; border-top-color: initial; padding-left: 5.4pt; padding-bottom: 0in; border-left-width: medium; border-left-style: none; border-left-color: initial; width: 378.9pt; padding-top: 0in; border-bottom-color: windowtext; border-bottom-width: 1pt; border-bottom-style: solid;"&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; font-family: Verdana, Arial, sans-serif; font-size: 10pt;"&gt;指定证书存储的位置。&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;tr style="font-family: Verdana, Arial, sans-serif; font-size: 10pt;"&gt;&#xD;
&lt;td valign="removed&amp;quot;" width="133" style="font-size: 10pt; font-family: Verdana, Arial, sans-serif; border-right-color: windowtext; border-right-width: 1pt; border-right-style: solid; padding-right: 5.4pt; border-top-width: medium; border-top-style: none; border-top-color: initial; padding-left: 5.4pt; padding-bottom: 0in; border-left-color: windowtext; border-left-width: 1pt; border-left-style: solid; width: 99.9pt; padding-top: 0in; border-bottom-color: windowtext; border-bottom-width: 1pt; border-bottom-style: solid;"&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; font-family: Verdana, Arial, sans-serif; font-size: 10pt;"&gt;-a&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;td valign="removed&amp;quot;" width="505" style="font-size: 10pt; font-family: Verdana, Arial, sans-serif; border-right-color: windowtext; border-right-width: 1pt; border-right-style: solid; padding-right: 5.4pt; border-top-width: medium; border-top-style: none; border-top-color: initial; padding-left: 5.4pt; padding-bottom: 0in; border-left-width: medium; border-left-style: none; border-left-color: initial; width: 378.9pt; padding-top: 0in; border-bottom-color: windowtext; border-bottom-width: 1pt; border-bottom-style: solid;"&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; font-family: Verdana, Arial, sans-serif; font-size: 10pt;"&gt;指定相关的算法，可以选择 MD5 算法或者 SHA1算法&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;tr style="font-family: Verdana, Arial, sans-serif; font-size: 10pt;"&gt;&#xD;
&lt;td valign="removed&amp;quot;" width="133" style="font-size: 10pt; font-family: Verdana, Arial, sans-serif; border-right-color: windowtext; border-right-width: 1pt; border-right-style: solid; padding-right: 5.4pt; border-top-width: medium; border-top-style: none; border-top-color: initial; padding-left: 5.4pt; padding-bottom: 0in; border-left-color: windowtext; border-left-width: 1pt; border-left-style: solid; width: 99.9pt; padding-top: 0in; border-bottom-color: windowtext; border-bottom-width: 1pt; border-bottom-style: solid;"&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; font-family: Verdana, Arial, sans-serif; font-size: 10pt;"&gt;-n&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;td valign="removed&amp;quot;" width="505" style="font-size: 10pt; font-family: Verdana, Arial, sans-serif; border-right-color: windowtext; border-right-width: 1pt; border-right-style: solid; padding-right: 5.4pt; border-top-width: medium; border-top-style: none; border-top-color: initial; padding-left: 5.4pt; padding-bottom: 0in; border-left-width: medium; border-left-style: none; border-left-color: initial; width: 378.9pt; padding-top: 0in; border-bottom-color: windowtext; border-bottom-width: 1pt; border-bottom-style: solid;"&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; font-family: Verdana, Arial, sans-serif; font-size: 10pt;"&gt;指定证书的名称。该名称遵循X.500命名标准。简单例子如 "CN=MyName" 格式，如果没有指定/n开关，证书默认的名称是"Joe's Software Emporium"。&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;tr style="font-family: Verdana, Arial, sans-serif; font-size: 10pt;"&gt;&#xD;
&lt;td valign="removed&amp;quot;" width="133" style="font-size: 10pt; font-family: Verdana, Arial, sans-serif; border-right-color: windowtext; border-right-width: 1pt; border-right-style: solid; padding-right: 5.4pt; border-top-width: medium; border-top-style: none; border-top-color: initial; padding-left: 5.4pt; padding-bottom: 0in; border-left-color: windowtext; border-left-width: 1pt; border-left-style: solid; width: 99.9pt; padding-top: 0in; border-bottom-color: windowtext; border-bottom-width: 1pt; border-bottom-style: solid;"&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; font-family: Verdana, Arial, sans-serif; font-size: 10pt;"&gt;-sky&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;td valign="removed&amp;quot;" width="505" style="font-size: 10pt; font-family: Verdana, Arial, sans-serif; border-right-color: windowtext; border-right-width: 1pt; border-right-style: solid; padding-right: 5.4pt; border-top-width: medium; border-top-style: none; border-top-color: initial; padding-left: 5.4pt; padding-bottom: 0in; border-left-width: medium; border-left-style: none; border-left-color: initial; width: 378.9pt; padding-top: 0in; border-bottom-color: windowtext; border-bottom-width: 1pt; border-bottom-style: solid;"&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; font-family: Verdana, Arial, sans-serif; font-size: 10pt;"&gt;证书键类型。可以设置为 exchange 或者 signature。&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;tr style="font-family: Verdana, Arial, sans-serif; font-size: 10pt;"&gt;&#xD;
&lt;td valign="removed&amp;quot;" width="133" style="font-size: 10pt; font-family: Verdana, Arial, sans-serif; border-right-color: windowtext; border-right-width: 1pt; border-right-style: solid; padding-right: 5.4pt; border-top-width: medium; border-top-style: none; border-top-color: initial; padding-left: 5.4pt; padding-bottom: 0in; border-left-color: windowtext; border-left-width: 1pt; border-left-style: solid; width: 99.9pt; padding-top: 0in; border-bottom-color: windowtext; border-bottom-width: 1pt; border-bottom-style: solid;"&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; font-family: Verdana, Arial, sans-serif; font-size: 10pt;"&gt;-pe&lt;/p&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;td valign="removed&amp;quot;" width="505" style="font-size: 10pt; font-family: Verdana, Arial, sans-serif; border-right-color: windowtext; border-right-width: 1pt; border-right-style: solid; padding-right: 5.4pt; border-top-width: medium; border-top-style: none; border-top-color: initial; padding-left: 5.4pt; padding-bottom: 0in; border-left-width: medium; border-left-style: none; border-left-color: initial; width: 378.9pt; padding-top: 0in; border-bottom-color: windowtext; border-bottom-width: 1pt; border-bottom-style: solid;"&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; font-family: Verdana, Arial, sans-serif; font-size: 10pt;"&gt;证书可导出&lt;/p&gt;&#xD;
&lt;div&gt;&lt;/div&gt;&#xD;
&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;/tbody&gt;&#xD;
&lt;/table&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;创建证书成功后，我们在开发的机器上就可以看到两个不同的证书了。&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;要看这两个证书，需要执行下面操作， 开始-》运行-》mmc.exe=》在控制台中选择文件=》添加/删除管理单元=》添加=》选择证书=》弹出证书管理单元选择计算机账户，默认下一步确定回来，就看到下面的界面。&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/wuhuacong/wcf/wcf_certificate.png" width="633" height="374" alt="" style="border-style: initial; border-color: initial;" /&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;在上面我们可以看到创建在LocalMachine账户下的证书，我们双击查看证书可以看到这个证书是一个不受信任的证书，但是我们还是可以使用的，只是需要在Web.Config配置信息中，certificateValidationMode&amp;nbsp;属性指定为None，而不能指定其他信任值。&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;&lt;strong&gt;3、 配置服务端的配置文件，使之使用X509证书服务。&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;根据创建的证书信息，我们修改Web.Config文件，使之应用X509证书加密，如下所示。关键的地方是设置验证方式使用证书。&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;div&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #ff0000;"&gt;&lt;span  style="font-size: 14px; font-family: verdana, 'courier new'; line-height: 21px; color: #000000;"&gt;&amp;nbsp;&lt;span  style="font-size: 13px; font-family: 'Courier New'; line-height: 19px;"&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #800000;"&gt;security&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #ff0000;"&gt;mode&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #0000ff;"&gt;="Message"&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #800000;"&gt;message&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #ff0000;"&gt;clientCredentialType&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #0000ff;"&gt;="Certificate"&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #800000;"&gt;security&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;"&gt;而证书的相关信息指定如下。&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;div style="font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;"&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #ff0000;"&gt;serviceCertificate&amp;nbsp;&lt;span  style="font-size: 12px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; line-height: 1.5; color: #000000;"&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #ff0000;"&gt;findValue&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #0000ff;"&gt;="ParkingServer"&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #ff0000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;x509FindType&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #0000ff;"&gt;="FindBySubjectName"&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #ff0000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;storeLocation&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #0000ff;"&gt;="LocalMachine"&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #ff0000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;storeName&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #0000ff;"&gt;="My"&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;span  style="font-size: 12px; font-family: 'Courier New'; line-height: 1.5;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;"&gt;上面标示证书名称是&lt;span  style="font-size: 13px; color: #0000ff; font-family: 'Courier New';"&gt;ParkingServer&lt;/span&gt;&amp;nbsp;，通过查找名字方式对应，并且存储在本地计算机账户、个人证书目录下的位置。&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;"&gt;Web.Config&amp;nbsp;部分内容：&lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;&lt;span  style="font-size: 13px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; line-height: 19px;"&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/wuhuacong/wcf/wcf_webconfig.png" width="755" height="788" alt="" style="border-style: initial; border-color: initial;" /&gt;&lt;/span&gt;&lt;span  style="font-size: 13px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; line-height: 19px;"&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;&lt;strong&gt;4、&amp;nbsp;&lt;/strong&gt;&lt;strong&gt;授权IIS访问服务器证书&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;完成以上操作后，如果你的开发机器是XP，那么应该服务端是可以运行正常了，如果你的开发机器是Window2003，那么，恭喜你中奖了，运行服务后会出现下面的错误信息的：&lt;span  style="font-size: 13px; font-family: 'Lucida Console'; white-space: pre; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; line-height: normal;"&gt;[ArgumentException: 证书&amp;ldquo;CN=ParkingServer&amp;rdquo;必须具有能够进行密钥交换的私钥。该进程必须具有访问私钥的权限。]，如下图所示。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/wuhuacong/wcf/wcf_certificateErr1.png" width="855" height="596" alt="" style="border-style: initial; border-color: initial;" /&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;要解决上面的错误， 只需要给相应的账号分配权限即可，这里IIS访问证书密钥的权限可以通过&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=c42e27ac-3409-40e9-8667-c748e422833f&amp;amp;displaylang=en" style="color: #1d58d1; text-decoration: none;"&gt;WinHttpCertCfg.exe&lt;/a&gt;来处理，只需要通过命令行执行该程序即可，如下所示。&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;&lt;span  style="font-size: 13px; font-family: 'Courier New'; line-height: 19px;"&gt;winhttpcertcfg&amp;nbsp;-g&amp;nbsp;-c&amp;nbsp;LOCAL_MACHINE\My&amp;nbsp;-s&amp;nbsp;ParkingServer&amp;nbsp;-a&amp;nbsp;"NETWORKSERVICE"&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;运行命令后，在运行WCF服务，一切OK了&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/wuhuacong/wcf/wcf_service_ok.png" width="777" height="461" alt="" style="border-style: initial; border-color: initial;" /&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;这里另外也介绍下&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=c42e27ac-3409-40e9-8667-c748e422833f&amp;amp;displaylang=en" style="color: #1d58d1; text-decoration: none;"&gt;WinHttpCertCfg.exe&lt;/a&gt;来进行处理的几个命令。&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;div&gt;列出证书的授权列表&lt;br /&gt;winhttpcertcfg&amp;nbsp;-l&amp;nbsp;-c&amp;nbsp;LOCAL_MACHINE\My&amp;nbsp;-s&amp;nbsp;ParkingServer&amp;nbsp;-a&amp;nbsp;"NETWORKSERVICE"&lt;br /&gt;&lt;br /&gt;给IIS的NETWORKSERVICE账户以基于证书名称模式授权&lt;br /&gt;winhttpcertcfg&amp;nbsp;-g&amp;nbsp;-c&amp;nbsp;LOCAL_MACHINE\My&amp;nbsp;-s&amp;nbsp;ParkingServer&amp;nbsp;-a&amp;nbsp;"NETWORKSERVICE"&lt;br /&gt;&lt;br /&gt;给IIS的NETWORKSERVICE账户以基于证书文件模式授权&lt;br /&gt;winhttpcertcfg&amp;nbsp;-g&amp;nbsp;-i&amp;nbsp;"ParkingServer.pfx"&amp;nbsp;-c&amp;nbsp;LOCAL_MACHINE\My&amp;nbsp;-a&amp;nbsp;"NETWORKSERVICE"&amp;nbsp;-p&lt;br /&gt;&lt;br /&gt;移除账号对于证书的授权&lt;/div&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;&lt;span  style="font-size: 14px; font-family: verdana, 'courier new'; line-height: 21px;"&gt;&lt;span  style="font-size: 13px; font-family: 'Courier New'; line-height: 19px;"&gt;winhttpcertcfg&amp;nbsp;-r&amp;nbsp;-c&amp;nbsp;LOCAL_MACHINE\My&amp;nbsp;-s&amp;nbsp;ParkingServer&amp;nbsp;-a&amp;nbsp;"NETWORKSERVICE"&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;&lt;span face="'Courier New'" size="2" style="font-family: 'Courier New'; font-size: x-small;"&gt;&lt;span  style="font-size: 13px; line-height: 19px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;&lt;strong&gt;5、&amp;nbsp;&lt;/strong&gt;&lt;strong&gt;在服务器证书管理中导入服务器端证书&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;完成以上步骤，如果服务配置文件正确，基本上在开发机器上不会有什么问题了，但是如果把服务部署到另外一台服务器机器上，那么就会可能出现找不到证书的错误。因为服务还没有导入创建好的证书呢。&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;首先我们在开发机器上，在证书的控制台中选定服务端证书并导出即可把服务端证书导出到文件中，如下图所示。&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/wuhuacong/wcf/wcf_certificate_export.png" width="730" height="327" alt="" style="border-style: initial; border-color: initial;" /&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;记得在导出的时候选择带私钥的选项即可，导出的文件保存为ParkingServer.pfx。然后我们在服务器中，在相同的控制台中把服务端的证书导入即可使得WCF服务在服务器中也可以正常访问了。&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;&lt;strong&gt;6、&amp;nbsp;在客户端导入客户端证书，完成X509证书配置并调用服务&lt;/strong&gt;。&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;如果客户端需要部署很多个，那么每个客户端需要把第二步创建的客户端证书导入，才能正常方便服务器的WCF服务，否则会出现证书的各种提示错误。&lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;如果这些操作完成，那么真诚恭喜你，真的可以使用WCF服务了，而且是使用了X509证书加密的WCF服务。&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;最后把整个测试例子放上来，供大家参考学习：&lt;a href="http://files.cnblogs.com/wuhuacong/TestWcfService.rar" style="color: #1d58d1; text-decoration: none;"&gt;http://files.cnblogs.com/wuhuacong/TestWcfService.rar&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/sunjie9606/aggbug/2196109.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/sunjie9606/archive/2011/09/30/2196109.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/sunjie9606/archive/2011/09/28/2194583.html</id><title type="text">WPF中的ControlTemplate(控件模板)</title><summary type="text">WPF中的ControlTemplate(控件模板)</summary><published>2011-09-28T08:38:00Z</published><updated>2011-09-28T08:38:00Z</updated><author><name>sunjie</name><uri>http://www.cnblogs.com/sunjie9606/</uri></author><link rel="alternate" href="http://www.cnblogs.com/sunjie9606/archive/2011/09/28/2194583.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/sunjie9606/archive/2011/09/28/2194583.html"/><content type="html">&lt;p&gt;&lt;span  style="color: #333333; font-family: verdana, 宋体, Arial; font-size: 13px; line-height: 24px;"&gt;&amp;nbsp; &amp;nbsp;&lt;strong style="padding: 0px; margin: 0px;"&gt;&lt;span size="4" style="font-size: medium; padding: 0px; margin: 0px;"&gt;WPF中的ControlTemplate(控件模板)&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;/span&gt;&lt;/strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;周银辉&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;WPF包含数据模板和控件模板，其中控件模板又包括ControlTemplate和ItemsPanelTemplate，这里讨论一下ControlTemplate。&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;其实WPF的每一个控件都有一个默认的模板，该模板描述了控件的外观以及外观对外界刺激所做出的反应。我们可以自定义一个模板来替换掉控件的默认模板以便打造个性化的控件。&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;与Style不同，Style只能改变控件的已有属性值（比如颜色字体）来定制控件，但控件模板可以改变控件的内部结构（&lt;span  style="padding: 0px; margin: 0px;"&gt;VisualTree&lt;/span&gt;，视觉树）来完成更为复杂的定制，比如我们可以定制这样的按钮：在它的左办部分显示一个小图标而它的右半部分显示文本。&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;要替换控件的模板，我们只需要声明一个ControlTemplate对象，并对该ControlTemplate对象做相应的配置，然后将该ControlTemplate对象赋值给控件的Template属性就可以了。&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;ControlTemplate包含两个重要的属性：&lt;br style="padding: 0px; margin: 0px;" /&gt;1，VisualTree，该模板的视觉树，其实我们就是使用这个属性来描述控件的外观的&lt;br style="padding: 0px; margin: 0px;" /&gt;2，Triggers，触发器列表，里面包含一些触发器Trigger，我们可以定制这个触发器列表来使控件对外界的刺激发生反应，比如鼠标经过时文本变成粗体等。&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;参考以下代码&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;div style="padding-top: 4px; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; font-size: 13px; width: 1118px; word-break: break-all; background-color: #eeeeee; border-width: 1px; border-color: #cccccc; border-style: solid; margin: 0px;"&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Button&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Button&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;.Template&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;ControlTemplate&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;定义视觉树&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;--&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Grid&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Ellipse&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Name&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="faceEllipse"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Width&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="{TemplateBinding&amp;nbsp;Button.Width}"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Height&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="{TemplateBinding&amp;nbsp;Control.Height}"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;Fill&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="{TemplateBinding&amp;nbsp;Button.Background}"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;TextBlock&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Name&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="txtBlock"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Margin&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="{TemplateBinding&amp;nbsp;Button.Padding}"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;VerticalAlignment&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Center"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;HorizontalAlignment&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Center"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;Text&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="{TemplateBinding&amp;nbsp;Button.Content}"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Grid&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;定义视觉树_end&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;--&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;ControlTemplate&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Button.Template&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Button&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;span  style="color: #333333; font-family: verdana, 宋体, Arial; font-size: 13px; line-height: 24px;"&gt;在上面的代码中，我们修改了Button的Template属性，我们定义了一个ControlTemplate，在&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;ControlTemplate&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt; ...&lt;span color="#000000" style="color: #000000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;ControlTemplate&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;span color="#000000" style="color: #000000; padding: 0px; margin: 0px;"&gt;之间包含的是模板的视觉树，也就是如何显示控件的外观，我们这里使用了一个Ellipse（椭圆）和一个TextBlock（文本块）来定义控件的外观。&lt;br style="padding: 0px; margin: 0px;" /&gt;很容易联想到一个问题：控件（Button）的一些属性，比如高度、宽度、文本等如何在新定义的外观中表现出来呢？&lt;br style="padding: 0px; margin: 0px;" /&gt;我们使用&lt;/span&gt;&lt;span color="#0000ff" style="color: #0000ff; padding: 0px; margin: 0px;"&gt;TemplateBinding&amp;nbsp;&lt;/span&gt;&lt;span color="#000000" style="color: #000000; padding: 0px; margin: 0px;"&gt;将控件的属性与新外观中的元素的属性关联起来&lt;span color="#ff0000" style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Width&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="{TemplateBinding&amp;nbsp;Button.Width}"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;span color="#000000" style="color: #000000; padding: 0px; margin: 0px;"&gt;，这样我们就使得椭圆的宽度与按钮的宽度绑定在一起而保持一致，同理我们使用&lt;span color="#ff0000" style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Text&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="{TemplateBinding&amp;nbsp;Button.Content}"&lt;span color="#000000" style="color: #000000; padding: 0px; margin: 0px;"&gt;将TextBlock的文本与按钮的Content属性绑定在一起。&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;除了定义控件的默认外观外，也许我们想还定义当外界刺激我们的控件时，控件外观做出相应的变化，这是我们需要触发器。参考以下代码：&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;div style="padding-top: 4px; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; font-size: 13px; width: 1118px; word-break: break-all; background-color: #eeeeee; border-width: 1px; border-color: #cccccc; border-style: solid; margin: 0px;"&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Button&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Content&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="test&amp;nbsp;btn"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Grid.Column&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="1"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Grid.ColumnSpan&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="1"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Grid.Row&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="1"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Grid.RowSpan&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="1"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Button&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;.Template&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;ControlTemplate&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;定义视觉树&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;--&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Grid&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Ellipse&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Name&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="faceEllipse"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Width&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="{TemplateBinding&amp;nbsp;Button.Width}"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Height&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="{TemplateBinding&amp;nbsp;Control.Height}"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;Fill&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="{TemplateBinding&amp;nbsp;Button.Background}"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;TextBlock&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Name&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="txtBlock"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Margin&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="{TemplateBinding&amp;nbsp;Button.Padding}"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;VerticalAlignment&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Center"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;HorizontalAlignment&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Center"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;Text&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="{TemplateBinding&amp;nbsp;Button.Content}"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Grid&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;定义视觉树_end&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;--&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;定义触发器&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;--&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;ControlTemplate&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;.Triggers&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Trigger&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Property&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Button.IsMouseOver"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;Value&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="True"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Setter&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Property&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Button.Foreground"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Value&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Red"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Trigger&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;ControlTemplate.Triggers&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;定义触发器_End&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;--&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;ControlTemplate&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Button.Template&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Button&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;span  style="color: #333333; font-family: verdana, 宋体, Arial; font-size: 13px; line-height: 24px;"&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&lt;span color="#000000" style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&lt;span color="#000000" style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&lt;span color="#000000" style="color: #000000; padding: 0px; margin: 0px;"&gt;在上面的代码中注意到&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;ControlTemplate&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;.Triggers&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;...&lt;span color="#000000" style="color: #000000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;ControlTemplate.Triggers&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;span color="#000000" style="color: #000000; padding: 0px; margin: 0px;"&gt;之间的部分，我们定义了触发器&amp;nbsp;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Trigger&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Property&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Button.IsMouseOver"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;Value&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="True"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;span color="#000000" style="color: #000000; padding: 0px; margin: 0px;"&gt;，其表示当我们Button的IsMouseIOver属性变成True时，将使用设置器&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Setter&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Property&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Button.Foreground"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Value&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Red"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;来将Button的Foreground属性设置为Red。这里有一个隐含的意思是：当Button的IsMouseIOver属性变成False时，设置器中设置的属性将回复原值。&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;你可以粘贴以下代码到XamlPad查看效果：&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;div style="padding-top: 4px; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; font-size: 13px; width: 1118px; word-break: break-all; background-color: #eeeeee; border-width: 1px; border-color: #cccccc; border-style: solid; margin: 0px;"&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Window&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;xmlns&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="http://schemas.microsoft.com/winfx/2006/xaml/presentation"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xmlns:x&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="http://schemas.microsoft.com/winfx/2006/xaml"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Title&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="ControlTemplateTest"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Height&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="300"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Width&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="300"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Grid&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;ShowGridLines&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="True"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Grid&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;.ColumnDefinitions&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;ColumnDefinition&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Width&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="0.2*"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;ColumnDefinition&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Width&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="0.6*"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;ColumnDefinition&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Width&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="0.2*"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Grid&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;.RowDefinitions&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;RowDefinition&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Height&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="0.3*"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;RowDefinition&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Height&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="0.3*"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;RowDefinition&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Height&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="0.4*"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Grid.RowDefinitions&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Button&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Content&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="test&amp;nbsp;btn"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Grid.Column&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="1"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Grid.ColumnSpan&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="1"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Grid.Row&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="1"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Grid.RowSpan&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="1"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Button&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;.Template&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;ControlTemplate&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;定义视觉树&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;--&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Grid&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Ellipse&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Name&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="faceEllipse"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Width&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="{TemplateBinding&amp;nbsp;Button.Width}"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Height&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="{TemplateBinding&amp;nbsp;Control.Height}"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;Fill&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="{TemplateBinding&amp;nbsp;Button.Background}"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;TextBlock&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Name&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="txtBlock"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Margin&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="{TemplateBinding&amp;nbsp;Button.Padding}"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;VerticalAlignment&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Center"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;HorizontalAlignment&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Center"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;Text&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="{TemplateBinding&amp;nbsp;Button.Content}"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Grid&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;定义视觉树_end&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;--&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;定义触发器&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;--&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;ControlTemplate&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;.Triggers&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Trigger&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Property&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Button.IsMouseOver"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;Value&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="True"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Setter&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Property&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Button.Foreground"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Value&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Red"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Trigger&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;ControlTemplate.Triggers&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;定义触发器_End&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;--&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;ControlTemplate&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Button.Template&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Button&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Grid&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Window&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&lt;/span&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;span  style="color: #333333; font-family: verdana, 宋体, Arial; font-size: 13px; line-height: 24px;"&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&lt;span color="#000000" style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&lt;span color="#000000" style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&lt;span color="#000000" style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&lt;span color="#000000" style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;接下来的一个问题是：如果我要重用我的模板，应该怎么办呢？&lt;br style="padding: 0px; margin: 0px;" /&gt;你需要将模板定义为资源，其实大多数情况下，我们也是这样做的&lt;br style="padding: 0px; margin: 0px;" /&gt;参考以下代码：&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;div style="padding-top: 4px; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; font-size: 13px; width: 1118px; word-break: break-all; background-color: #eeeeee; border-width: 1px; border-color: #cccccc; border-style: solid; margin: 0px;"&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Window&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;.Resources&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;ControlTemplate&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;TargetType&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Button"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;x:Key&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="ButtonTemplate"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;定义视觉树&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;--&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Grid&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Ellipse&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Name&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="faceEllipse"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Width&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="{TemplateBinding&amp;nbsp;Button.Width}"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Height&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="{TemplateBinding&amp;nbsp;Control.Height}"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;Fill&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="{TemplateBinding&amp;nbsp;Button.Background}"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;TextBlock&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Name&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="txtBlock"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Margin&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="{TemplateBinding&amp;nbsp;Button.Padding}"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;VerticalAlignment&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Center"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;HorizontalAlignment&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Center"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;Text&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="{TemplateBinding&amp;nbsp;Button.Content}"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Grid&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;定义视觉树_end&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;--&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;定义触发器&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;--&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;ControlTemplate&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;.Triggers&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Trigger&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Property&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Button.IsMouseOver"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;Value&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="True"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Setter&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Property&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Button.Foreground"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Value&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Red"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Trigger&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;ControlTemplate.Triggers&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;定义触发器_End&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;--&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;ControlTemplate&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Window.Resources&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;span  style="color: #333333; font-family: verdana, 宋体, Arial; font-size: 13px; line-height: 24px;"&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&lt;span color="#000000" style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&lt;span color="#000000" style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&lt;span color="#000000" style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&lt;span color="#000000" style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;上面的代码将我们原来的模板定义为窗体范围内的资源，其中&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;TargetType&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Button"&lt;span color="#000000" style="color: #000000; padding: 0px; margin: 0px;"&gt;指示我们的模板作用对象为Button，这样在整个窗体范围内的按钮都可以使用这个模板了，模板的使用方法也很简单：&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;div style="padding-top: 4px; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; font-size: 13px; width: 1118px; word-break: break-all; background-color: #eeeeee; border-width: 1px; border-color: #cccccc; border-style: solid; margin: 0px;"&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Button&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Content&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="test&amp;nbsp;btn"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Template&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="{StaticResource&amp;nbsp;ButtonTemplate}"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;span  style="color: #333333; font-family: verdana, 宋体, Arial; font-size: 13px; line-height: 24px;"&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&lt;span color="#000000" style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&lt;span color="#000000" style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&lt;span color="#000000" style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&lt;span color="#000000" style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;其中的ButtonTemplate是我们定义的模板的x:Key&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;你可以粘贴以下代码到XamlPad查看效果：&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;div style="padding-top: 4px; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; font-size: 13px; width: 1118px; word-break: break-all; background-color: #eeeeee; border-width: 1px; border-color: #cccccc; border-style: solid; margin: 0px;"&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Window&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;xmlns&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="http://schemas.microsoft.com/winfx/2006/xaml/presentation"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xmlns:x&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="http://schemas.microsoft.com/winfx/2006/xaml"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Title&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="ControlTemplateTest"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Height&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="300"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Width&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="300"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Window&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;.Resources&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;ControlTemplate&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;TargetType&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Button"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;x:Key&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="ButtonTemplate"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;定义视觉树&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;--&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Grid&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Ellipse&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Name&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="faceEllipse"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Width&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="{TemplateBinding&amp;nbsp;Button.Width}"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Height&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="{TemplateBinding&amp;nbsp;Control.Height}"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;Fill&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="{TemplateBinding&amp;nbsp;Button.Background}"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;TextBlock&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Name&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="txtBlock"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Margin&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="{TemplateBinding&amp;nbsp;Button.Padding}"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;VerticalAlignment&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Center"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;HorizontalAlignment&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Center"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;Text&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="{TemplateBinding&amp;nbsp;Button.Content}"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Grid&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;定义视觉树_end&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;--&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;定义触发器&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;--&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;ControlTemplate&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;.Triggers&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Trigger&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Property&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Button.IsMouseOver"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;Value&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="True"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Setter&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Property&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Button.Foreground"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Value&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Red"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Trigger&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;ControlTemplate.Triggers&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;定义触发器_End&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;--&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;ControlTemplate&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Window.Resources&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Grid&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;ShowGridLines&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="True"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Grid&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;.ColumnDefinitions&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;ColumnDefinition&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Width&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="0.2*"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;ColumnDefinition&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Width&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="0.6*"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;ColumnDefinition&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Width&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="0.2*"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Grid&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;.RowDefinitions&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;RowDefinition&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Height&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="0.3*"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;RowDefinition&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Height&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="0.3*"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;RowDefinition&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Height&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="0.4*"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Grid.RowDefinitions&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Button&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Content&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="test&amp;nbsp;btn1"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Grid.Column&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="0"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Grid.ColumnSpan&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="1"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Grid.Row&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="0"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Grid.RowSpan&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="1"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Button&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Content&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="test&amp;nbsp;btn2"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Grid.Column&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="1"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Grid.ColumnSpan&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="1"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Grid.Row&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="1"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Grid.RowSpan&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="1"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;Template&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="{StaticResource&amp;nbsp;ButtonTemplate}"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Button&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Content&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="test&amp;nbsp;btn2"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Grid.Column&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="2"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Grid.ColumnSpan&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="1"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Grid.Row&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="2"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Grid.RowSpan&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="1"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;Template&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="{StaticResource&amp;nbsp;ButtonTemplate}"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Grid&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Window&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&lt;/span&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;span  style="color: #333333; font-family: verdana, 宋体, Arial; font-size: 13px; line-height: 24px;"&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&lt;span color="#000000" style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&lt;span color="#000000" style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&lt;span color="#000000" style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&lt;span color="#000000" style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;额外提一下的是，我们也可以在触发器中，调用一个故事板来达到对事件响应时的动画效果&lt;br style="padding: 0px; margin: 0px;" /&gt;参考以下代码&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;div style="padding-top: 4px; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; font-size: 13px; width: 1118px; word-break: break-all; background-color: #eeeeee; border-width: 1px; border-color: #cccccc; border-style: solid; margin: 0px;"&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;定义动画资源&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;--&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;ControlTemplate&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;.Resources&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Storyboard&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;x:Key&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="MouseClickButtonStoryboard"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;DoubleAnimationUsingKeyFrames&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Storyboard.TargetName&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="faceEllipse"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Storyboard.TargetProperty&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Width"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;BeginTime&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="00:00:00"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;SplineDoubleKeyFrame&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;KeyTime&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="00:00:00"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Value&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="50"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;SplineDoubleKeyFrame&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;KeyTime&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="00:00:00.3"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Value&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="100"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;DoubleAnimationUsingKeyFrames&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Storyboard&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;ControlTemplate.Resources&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;span  style="color: #333333; font-family: verdana, 宋体, Arial; font-size: 13px; line-height: 24px;"&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&lt;span color="#000000" style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&lt;span color="#000000" style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&lt;span color="#000000" style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&lt;span color="#000000" style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;我们为模板定义了一个动画资源，此后在模板的触发器中我们就可以调用该资源来实现一个动画效果了：&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;div style="padding-top: 4px; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; font-size: 13px; width: 1118px; word-break: break-all; background-color: #eeeeee; border-width: 1px; border-color: #cccccc; border-style: solid; margin: 0px;"&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;EventTrigger&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;RoutedEvent&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Mouse.MouseDown"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;SourceName&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="faceEllipse"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;EventTrigger&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;.Actions&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;BeginStoryboard&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Storyboard&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="{StaticResource&amp;nbsp;MouseClickButtonStoryboard}"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;EventTrigger.Actions&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;EventTrigger&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;span  style="color: #333333; font-family: verdana, 宋体, Arial; font-size: 13px; line-height: 24px;"&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&lt;span color="#000000" style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&lt;span color="#000000" style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&lt;span color="#000000" style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&lt;span color="#000000" style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;你可以粘贴以下代码到XamlPad查看效果：&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;div style="padding-top: 4px; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; font-size: 13px; width: 1118px; word-break: break-all; background-color: #eeeeee; border-width: 1px; border-color: #cccccc; border-style: solid; margin: 0px;"&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Window&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;xmlns&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="http://schemas.microsoft.com/winfx/2006/xaml/presentation"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xmlns:x&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="http://schemas.microsoft.com/winfx/2006/xaml"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Title&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="ControlTemplateTest"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Height&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="300"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Width&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="300"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Window&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;.Resources&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;ControlTemplate&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;TargetType&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Button"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;x:Key&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="ButtonTemplate"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;定义视觉树&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;--&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Grid&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Ellipse&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Name&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="faceEllipse"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Width&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="{TemplateBinding&amp;nbsp;Button.Width}"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Height&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="{TemplateBinding&amp;nbsp;Control.Height}"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;Fill&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="{TemplateBinding&amp;nbsp;Button.Background}"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;TextBlock&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Name&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="txtBlock"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Margin&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="{TemplateBinding&amp;nbsp;Button.Padding}"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;VerticalAlignment&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Center"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;HorizontalAlignment&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Center"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;Text&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="{TemplateBinding&amp;nbsp;Button.Content}"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Grid&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;定义视觉树_end&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;--&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;定义动画资源&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;--&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;ControlTemplate&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;.Resources&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Storyboard&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;x:Key&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="MouseClickButtonStoryboard"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;DoubleAnimationUsingKeyFrames&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Storyboard.TargetName&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="faceEllipse"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Storyboard.TargetProperty&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Width"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;BeginTime&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="00:00:00"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;SplineDoubleKeyFrame&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;KeyTime&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="00:00:00"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Value&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="50"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;SplineDoubleKeyFrame&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;KeyTime&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="00:00:00.3"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Value&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="100"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;DoubleAnimationUsingKeyFrames&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Storyboard&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;ControlTemplate.Resources&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;定义动画资源_end&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;--&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;定义触发器&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;--&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;ControlTemplate&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;.Triggers&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Trigger&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Property&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Button.IsMouseOver"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;Value&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="True"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Setter&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Property&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Button.Foreground"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Value&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Red"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Trigger&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;EventTrigger&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;RoutedEvent&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Mouse.MouseDown"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;SourceName&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="faceEllipse"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;EventTrigger&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;.Actions&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;BeginStoryboard&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Storyboard&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="{StaticResource&amp;nbsp;MouseClickButtonStoryboard}"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;EventTrigger.Actions&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;EventTrigger&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;EventTrigger&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;RoutedEvent&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Mouse.MouseDown"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;SourceName&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="txtBlock"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;EventTrigger&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;.Actions&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;BeginStoryboard&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Storyboard&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="{StaticResource&amp;nbsp;MouseClickButtonStoryboard}"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;EventTrigger.Actions&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;EventTrigger&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;ControlTemplate.Triggers&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;定义触发器_End&lt;/span&gt;&lt;span style="color: #008000; padding: 0px; margin: 0px;"&gt;--&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;ControlTemplate&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Window.Resources&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Grid&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;ShowGridLines&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="True"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Grid&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;.ColumnDefinitions&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;ColumnDefinition&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Width&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="0.2*"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;ColumnDefinition&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Width&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="0.6*"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;ColumnDefinition&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Width&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="0.2*"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Grid&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;.RowDefinitions&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;RowDefinition&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Height&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="0.3*"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;RowDefinition&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Height&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="0.3*"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;RowDefinition&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Height&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="0.4*"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Grid.RowDefinitions&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Button&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Content&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="test&amp;nbsp;btn1"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Grid.Column&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="0"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Grid.ColumnSpan&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="1"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Grid.Row&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="0"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Grid.RowSpan&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="1"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Button&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Content&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="test&amp;nbsp;btn2"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Grid.Column&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="1"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Grid.ColumnSpan&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="1"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Grid.Row&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="1"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Grid.RowSpan&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="1"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;Template&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="{StaticResource&amp;nbsp;ButtonTemplate}"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Button&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Content&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="test&amp;nbsp;btn2"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Grid.Column&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="2"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Grid.ColumnSpan&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="1"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Grid.Row&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="2"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Grid.RowSpan&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="1"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;Template&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="{StaticResource&amp;nbsp;ButtonTemplate}"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Grid&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Window&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&lt;/span&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;span  style="color: #333333; font-family: verdana, 宋体, Arial; font-size: 13px; line-height: 24px;"&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&lt;span color="#000000" style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&lt;span color="#000000" style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&lt;span color="#000000" style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&lt;span color="#000000" style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;最好的模板示例：我们知道每个控件都有自己默认的模板，这是MS编写的，如果我们能够得到这些模板的XAML代码，那么它将是学习模板的最好的示例，&lt;br style="padding: 0px; margin: 0px;" /&gt;要想获得某个控件ctrl的默认模板，请调用以下方法：&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;div style="padding-top: 4px; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; font-size: 13px; width: 1118px; word-break: break-all; background-color: #eeeeee; border-width: 1px; border-color: #cccccc; border-style: solid; margin: 0px;"&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;string&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;GetTemplateXamlCode(Control&amp;nbsp;ctrl)&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img id="Codehighlighter1_49_972_Open_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span id="Codehighlighter1_49_972_Open_Text" style="padding: 0px; margin: 0px;"&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;{&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FrameworkTemplate&amp;nbsp;template&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;=&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;ctrl.Template;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;string&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;xaml&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;=&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;""&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;if&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;(template&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;!=&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;null&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;)&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img id="Codehighlighter1_186_853_Open_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span id="Codehighlighter1_186_853_Open_Text" style="padding: 0px; margin: 0px;"&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;{&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;XmlWriterSettings&amp;nbsp;settings&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;=&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;new&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;XmlWriterSettings();&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;settings.Indent&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;=&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;true&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;settings.IndentChars&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;=&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;new&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;string&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;(&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;'&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;'&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;4&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;);&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;settings.NewLineOnAttributes&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;=&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;true&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;StringBuilder&amp;nbsp;strbuild&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;=&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;new&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;StringBuilder();&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;XmlWriter&amp;nbsp;xmlwrite&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;=&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;XmlWriter.Create(strbuild,&amp;nbsp;settings);&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;try&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img id="Codehighlighter1_602_725_Open_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span id="Codehighlighter1_602_725_Open_Text" style="padding: 0px; margin: 0px;"&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;{&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;XamlWriter.Save(template,&amp;nbsp;xmlwrite);&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xaml&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;=&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;strbuild.ToString();&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;catch&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;(Exception&amp;nbsp;exc)&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img id="Codehighlighter1_781_839_Open_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span id="Codehighlighter1_781_839_Open_Text" style="padding: 0px; margin: 0px;"&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;{&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xaml&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;=&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;exc.Message;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;else&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img id="Codehighlighter1_884_936_Open_Image" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span id="Codehighlighter1_884_936_Open_Text" style="padding: 0px; margin: 0px;"&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;{&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xaml&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;=&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;"&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;no&amp;nbsp;template&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;"&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;return&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;xaml;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;span  style="color: #333333; font-family: verdana, 宋体, Arial; font-size: 13px; line-height: 24px;"&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&lt;span color="#000000" style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&lt;span color="#000000" style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&lt;span color="#000000" style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&lt;span color="#000000" style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/sunjie9606/aggbug/2194583.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/sunjie9606/archive/2011/09/28/2194583.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/sunjie9606/archive/2011/09/28/2194580.html</id><title type="text">WPF中的Style(风格,样式)</title><summary type="text">WPF中的Style(风格,样式)</summary><published>2011-09-28T08:37:00Z</published><updated>2011-09-28T08:37:00Z</updated><author><name>sunjie</name><uri>http://www.cnblogs.com/sunjie9606/</uri></author><link rel="alternate" href="http://www.cnblogs.com/sunjie9606/archive/2011/09/28/2194580.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/sunjie9606/archive/2011/09/28/2194580.html"/><content type="html">&lt;div id="cnblogs_post_body" style="padding: 0px; margin: 0px;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;strong style="padding: 0px; margin: 0px;"&gt;&lt;span size="4" style="font-size: medium; padding: 0px; margin: 0px;"&gt;&amp;nbsp;WPF中的Style(风格,样式)&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;/span&gt;&lt;/strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 周银辉&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;在WPF中我们可以使用Style来设置控件的某些属性值，并使该设置影响到指定范围内的所有该类控件或影响指定的某一控件，比如说我们想将窗口中的所有按钮都保持某一种风格，那么我们可以设置一个Style，而不必分别设置每个按钮的风格。&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;Style是作为一种资源被保存下来的. 看下面的例子：&lt;br style="padding: 0px; margin: 0px;" /&gt;&#xD;
&lt;div style="padding-top: 4px; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; font-size: 13px; width: 1118px; word-break: break-all; background-color: #eeeeee; border-width: 1px; border-color: #cccccc; border-style: solid; margin: 0px;"&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Window&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;.Resources&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Style&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;TargetType&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Button"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Setter&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Property&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Foreground"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;Value&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Blue"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Setter&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Property&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="FontFamily&amp;nbsp;"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Value&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="CourierNew"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Style&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Window.Resources&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&#xD;
我们声明了一个Style，它被声明在Window.Resources中说明它的有效范围是当前窗体，&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;TargetType&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Button"&amp;nbsp;&lt;span color="#000000" style="color: #000000; padding: 0px; margin: 0px;"&gt;指示该Style的作用对象是Button类的实例，也就是说在当前窗体中的所有Button实例都将受到该Style的影响（除非某Button有明确地指明它所使用的是另外的Style）。&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Setter&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Property&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Foreground"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;Value&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Blue"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&amp;nbsp;&lt;span color="#000000" style="color: #000000; padding: 0px; margin: 0px;"&gt;这里的Setter是一个设置器，用来设置该Style要对TargetType的那些属性或对象进行设置，我们这里设置的是Button的Foreground属性，将其值设置为Blue，同理，我们将Button的FontFamily属性设置为CourierNew&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;这样一来，在默认情况下，被加载到窗口中的所有Button对象都将受到这个Style的影响，从而文本变成统一的蓝色CourierNew字体。&lt;br style="padding: 0px; margin: 0px;" /&gt;你可以粘贴以下代码到XamlPad中查看效果:&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&#xD;
&lt;div style="padding-top: 4px; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; font-size: 13px; width: 1118px; word-break: break-all; background-color: #eeeeee; border-width: 1px; border-color: #cccccc; border-style: solid; margin: 0px;"&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Window&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;xmlns&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="http://schemas.microsoft.com/winfx/2006/xaml/presentation"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xmlns:x&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="http://schemas.microsoft.com/winfx/2006/xaml"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Title&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="StyleDemo"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Height&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="417"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Width&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="579"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Window&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;.Resources&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Style&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;TargetType&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Button"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Setter&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Property&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Foreground"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;Value&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Blue"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Setter&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Property&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="FontFamily&amp;nbsp;"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Value&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="CourierNew"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Style&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Window.Resources&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Grid&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;ShowGridLines&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="True"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Grid&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;.ColumnDefinitions&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;ColumnDefinition&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Width&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="50*"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;ColumnDefinition&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Width&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="50*"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Grid&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;.RowDefinitions&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;RowDefinition&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Height&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="25*"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;RowDefinition&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Height&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="25*"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;RowDefinition&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Height&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="25*"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Grid.RowDefinitions&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Button&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Grid.Column&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="0"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Grid.ColumnSpan&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="1"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Grid.Row&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="0"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Grid.RowSpan&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="1"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;button1&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Button&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Button&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Grid.Column&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="2"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Grid.ColumnSpan&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="1"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Grid.Row&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="1"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Grid.RowSpan&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="1"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;button2&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Button&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Grid&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Window&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&lt;/span&gt;&lt;/div&gt;&#xD;
&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&lt;span color="#000000" style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;接下来很容易想到的一个问题是，想上述代码的强制窗口的所有按钮都受声明的Style的影响是不是有点强奸民意，如果我只想我定义的Style影响指定的Button对象而不是所有的Button对象应该怎么办呢？&lt;br style="padding: 0px; margin: 0px;" /&gt;参考以下代码：我们为Style添加一个&lt;span color="#ff0000" style="color: #ff0000; padding: 0px; margin: 0px;"&gt;x:Key&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="ButtonStyle"&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&lt;span color="#000000" style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&#xD;
&lt;div style="padding-top: 4px; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; font-size: 13px; width: 1118px; word-break: break-all; background-color: #eeeeee; border-width: 1px; border-color: #cccccc; border-style: solid; margin: 0px;"&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Window&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;.Resources&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Style&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;TargetType&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Button"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;x:Key&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="ButtonStyle"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Setter&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Property&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Foreground"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;Value&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Blue"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Setter&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Property&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="FontFamily&amp;nbsp;"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Value&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="CourierNew"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Style&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Window.Resources&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&#xD;
&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&lt;span color="#000000" style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;然后我们使用Button的Style属性来指定该Button所要使用的Style，而其他没有将我们声明的Style指定为其样式的按钮将不受到该Style的影响。&lt;br style="padding: 0px; margin: 0px;" /&gt;&#xD;
&lt;div style="padding-top: 4px; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; font-size: 13px; width: 1118px; word-break: break-all; background-color: #eeeeee; border-width: 1px; border-color: #cccccc; border-style: solid; margin: 0px;"&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Button&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;normal&amp;nbsp;button&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Button&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Button&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Style&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="{StaticResource&amp;nbsp;ButtonStyle}"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;styled&amp;nbsp;button&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Button&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&#xD;
这样就很好的解决了Style强制影响每个Button的问题，你可以粘贴以下代码到XamlPad中查看效果:&lt;br style="padding: 0px; margin: 0px;" /&gt;&#xD;
&lt;div style="padding-top: 4px; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; font-size: 13px; width: 1118px; word-break: break-all; background-color: #eeeeee; border-width: 1px; border-color: #cccccc; border-style: solid; margin: 0px;"&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Window&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;xmlns&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="http://schemas.microsoft.com/winfx/2006/xaml/presentation"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xmlns:x&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="http://schemas.microsoft.com/winfx/2006/xaml"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Title&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="StyleDemo"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Height&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="417"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Width&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="579"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Window&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;.Resources&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Style&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;TargetType&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Button"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;x:Key&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="ButtonStyle"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Setter&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Property&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Foreground"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;Value&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Blue"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Setter&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Property&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="FontFamily&amp;nbsp;"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Value&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="CourierNew"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Style&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Window.Resources&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Grid&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;ShowGridLines&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="True"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Grid&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;.ColumnDefinitions&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;ColumnDefinition&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Width&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="50*"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;ColumnDefinition&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Width&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="50*"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Grid&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;.RowDefinitions&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;RowDefinition&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Height&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="25*"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;RowDefinition&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Height&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="25*"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;RowDefinition&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Height&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="25*"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Grid.RowDefinitions&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Button&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Grid.Column&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="0"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Grid.ColumnSpan&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="1"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Grid.Row&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="0"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Grid.RowSpan&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="1"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;normal&amp;nbsp;button&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Button&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Button&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Grid.Column&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="1"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Grid.ColumnSpan&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="1"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Grid.Row&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="1"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Grid.RowSpan&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="1"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Style&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="{StaticResource&amp;nbsp;ButtonStyle}"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;styled&amp;nbsp;button1&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Button&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Button&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Grid.Column&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="0"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Grid.ColumnSpan&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="1"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Grid.Row&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="2"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Grid.RowSpan&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="1"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Style&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="{StaticResource&amp;nbsp;ButtonStyle}"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;styled&amp;nbsp;button2&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Button&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Grid&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Window&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&lt;/span&gt;&lt;/div&gt;&#xD;
&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;为了让我们的Style对外界的交互做出外观上的相应，比如当鼠标按下时蓝色的文本变成红色，当鼠标松开时文本又恢复蓝色，我们可以在Style中添加Trigger（触发器），除此之外，与类的继承原理相类似，我们还可以使用BaseOn来使一个Style&amp;ldquo;继承&amp;rdquo;另一个Style。&lt;br style="padding: 0px; margin: 0px;" /&gt;参考以下代码：&lt;br style="padding: 0px; margin: 0px;" /&gt;&#xD;
&lt;div style="padding-top: 4px; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; font-size: 13px; width: 1118px; word-break: break-all; background-color: #eeeeee; border-width: 1px; border-color: #cccccc; border-style: solid; margin: 0px;"&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Window&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;.Resources&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Style&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;TargetType&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Button"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;x:Key&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="ButtonStyle"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Setter&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Property&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Foreground"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;Value&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Blue"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Setter&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Property&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="FontFamily&amp;nbsp;"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Value&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="CourierNew"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Style&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Style&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;TargetType&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Button"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;x:Key&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="TriggerButtonStyle"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;BasedOn&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="{StaticResource&amp;nbsp;ButtonStyle}"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Style&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;.Triggers&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Trigger&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Property&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="IsPressed"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Value&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="True"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Setter&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Property&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Foreground"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Value&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Red"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Trigger&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Style.Triggers&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Style&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Window.Resources&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&#xD;
我们所声明的第二个Style，即TriggerButtonStyle，它&amp;ldquo;继承&amp;rdquo;于ButtonStyle，那么TriggerButtonStyle将会从ButtonStyle那里得到蓝色CourierNew文本的性质。然后我们使用了Trigger来响应鼠标按下，&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Trigger&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Property&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="IsPressed"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Value&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="True"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;span color="#000000" style="color: #000000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;表示当Button的IsPressed属性值变为True的时候，将做如下设置&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Setter&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Property&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Foreground"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Value&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Red"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;span color="#000000" style="color: #000000; padding: 0px; margin: 0px;"&gt;，即将Button的Foreground属性设置为Red。这里有一个隐含的意思是：当当Button的IsPressed属性值变为False的时候，Foreground属性将恢复原值。&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;span style="background-color: #cce8cc; padding: 0px; margin: 0px;"&gt;你可以粘贴以下代码到XamlPad中查看效果:&lt;/span&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&#xD;
&lt;div style="padding-top: 4px; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; font-size: 13px; width: 1118px; word-break: break-all; background-color: #eeeeee; border-width: 1px; border-color: #cccccc; border-style: solid; margin: 0px;"&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Window&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;xmlns&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="http://schemas.microsoft.com/winfx/2006/xaml/presentation"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xmlns:x&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="http://schemas.microsoft.com/winfx/2006/xaml"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Title&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="StyleDemo"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Height&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="417"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Width&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="579"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Window&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;.Resources&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Style&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;TargetType&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Button"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;x:Key&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="ButtonStyle"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Setter&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Property&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Foreground"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;Value&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Blue"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Setter&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Property&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="FontFamily&amp;nbsp;"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Value&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="CourierNew"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Style&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Style&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;TargetType&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Button"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;x:Key&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="TriggerButtonStyle"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;BasedOn&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="{StaticResource&amp;nbsp;ButtonStyle}"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Style&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;.Triggers&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Trigger&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Property&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="IsPressed"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Value&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="True"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Setter&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Property&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Foreground"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Value&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="Red"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Trigger&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Style.Triggers&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Style&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Window.Resources&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Grid&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;ShowGridLines&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="True"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Grid&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;.ColumnDefinitions&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;ColumnDefinition&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Width&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="50*"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;ColumnDefinition&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Width&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="50*"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Grid&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;.RowDefinitions&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;RowDefinition&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Height&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="25*"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;RowDefinition&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Height&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="25*"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;RowDefinition&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Height&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="25*"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Grid.RowDefinitions&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Button&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Grid.Column&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="0"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Grid.ColumnSpan&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="1"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Grid.Row&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="0"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Grid.RowSpan&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="1"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;normal&amp;nbsp;button&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Button&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Button&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Grid.Column&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="1"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Grid.ColumnSpan&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="1"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Grid.Row&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="1"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Grid.RowSpan&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="1"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Style&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="{StaticResource&amp;nbsp;ButtonStyle}"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;styled&amp;nbsp;button&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Button&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Button&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;Grid.Column&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="0"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Grid.ColumnSpan&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="1"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Grid.Row&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="2"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Grid.RowSpan&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="1"&lt;/span&gt;&lt;span style="color: #ff0000; padding: 0px; margin: 0px;"&gt;&amp;nbsp;Style&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;="{StaticResource&amp;nbsp;TriggerButtonStyle}"&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;trigger&amp;nbsp;button&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Button&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Grid&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000; padding: 0px; margin: 0px;"&gt;Window&lt;/span&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" style="border-style: initial; border-color: initial; padding: 0px; margin: 0px;" /&gt;&lt;/span&gt;&lt;/div&gt;&#xD;
&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&lt;span color="#000000" style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #0000ff; padding: 0px; margin: 0px;"&gt;&lt;span color="#000000" style="color: #000000; padding: 0px; margin: 0px;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&#xD;
&lt;div id="blog_post_info_block" style="margin-top: 20px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding: 0px;"&gt;&#xD;
&lt;div id="BlogPostCategory" style="padding: 0px; margin: 0px;"&gt;分类:&amp;nbsp;&lt;a href="http://www.cnblogs.com/zhouyinhui/category/86467.html" style="text-decoration: none; color: #000000; border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #333333; padding: 0px; margin: 0px;"&gt;WPF&lt;/a&gt;&lt;/div&gt;&#xD;
&lt;/div&gt;&lt;img src="http://www.cnblogs.com/sunjie9606/aggbug/2194580.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/sunjie9606/archive/2011/09/28/2194580.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/sunjie9606/archive/2011/09/27/2193034.html</id><title type="text">C#4.0新Feature官方文档和Sample Code下载 [本文提供Office编程的一段Sample Code作为预览]</title><summary type="text">C#4.0新Feature官方文档和Sample Code下载 [本文提供Office编程的一段Sample Code作为预览]</summary><published>2011-09-27T05:12:00Z</published><updated>2011-09-27T05:12:00Z</updated><author><name>sunjie</name><uri>http://www.cnblogs.com/sunjie9606/</uri></author><link rel="alternate" href="http://www.cnblogs.com/sunjie9606/archive/2011/09/27/2193034.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/sunjie9606/archive/2011/09/27/2193034.html"/><content type="html">&lt;h2 style="margin-top: 10px; font-size: 1em;"&gt;&lt;a id="ctl02_TitleUrl" href="http://www.cnblogs.com/architect/archive/2009/07/08/1518982.html" style="color: #0066aa; text-decoration: none;"&gt;C#4.0新Feature官方文档和Sample Code下载 [本文提供Office编程的一段Sample Code作为预览]&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;div id="cnblogs_post_body"&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;先把重点写在前头:&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;&lt;a href="http://code.msdn.microsoft.com/Release/ProjectReleases.aspx?ProjectName=csharpfuture&amp;amp;ReleaseId=1686" target="_blank" style="color: #0066aa; text-decoration: none;"&gt;http://code.msdn.microsoft.com/Release/ProjectReleases.aspx?ProjectName=csharpfuture&amp;amp;ReleaseId=1686&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;以上这个地址是下载官方C#4.0的最新文档和Sample Code，而以下正是我看到第一个例子，关于Office的操作。可见它的例子质量还是蛮高的，值得学习，所以分享给大家，也许有些人已经知道这个链接，如果不能下载，留言告诉我，我到时下载到cnblogs里。&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;&lt;strong&gt;前言：&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;从C#1.0,2.0,3.0,4.0一路走来，我们可能不是去掌握它的技术，而是掌握它为什么会这样变化，从2.0的泛型，到3.0的Lamda,Linq,集合对象初始化等，再到现在4.0的动态编程,可选参数等,微软的种种更新让我们都跟着很累，但是，如果我们深入进去多看看&amp;ldquo;为什么&amp;rdquo;，也许就不是很累，而是会发现这些更新都是必然。&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;下面代码在.NET4.0环境下编译，是关于将一些数据写入Excel并操作Word的一小段代码，代码很简单，但需要注意到是下面的一些C#3.0/4.0里的知识，如Lamda, Named Parameter等。&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;&lt;strong&gt;源代码&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #0000ff;"&gt;using&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;nbsp;System;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #0000ff;"&gt;using&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;nbsp;System.Collections.Generic;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #0000ff;"&gt;using&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;nbsp;Excel&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;=&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;nbsp;Microsoft.Office.Interop.Excel;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #0000ff;"&gt;using&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;nbsp;Word&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;=&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;nbsp;Microsoft.Office.Interop.Word;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #0000ff;"&gt;namespace&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;nbsp;Zivsoft.OfficeDemo&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #808080;"&gt;///&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #008000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #808080;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #008000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #808080;"&gt;///&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #008000;"&gt;&amp;nbsp;域名信息&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #808080;"&gt;///&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #008000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #808080;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #808080;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #0000ff;"&gt;public&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #0000ff;"&gt;class&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;nbsp;DomainInfo&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #0000ff;"&gt;public&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #0000ff;"&gt;string&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;nbsp;DomainName&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #0000ff;"&gt;get&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #0000ff;"&gt;set&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #0000ff;"&gt;public&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #0000ff;"&gt;string&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;nbsp;Owner&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #0000ff;"&gt;get&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #0000ff;"&gt;set&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #0000ff;"&gt;public&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #0000ff;"&gt;class&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;nbsp;Program&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #808080;"&gt;///&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #008000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #808080;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #008000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #808080;"&gt;///&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #008000;"&gt;&amp;nbsp;入口&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #808080;"&gt;///&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #008000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #808080;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #008000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #808080;"&gt;///&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #008000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #808080;"&gt;&amp;lt;param&amp;nbsp;name="args"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #808080;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #0000ff;"&gt;static&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #0000ff;"&gt;void&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;nbsp;Main(&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #0000ff;"&gt;string&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;[]&amp;nbsp;args)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #008000;"&gt;//&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #008000;"&gt;注意定义方式(C#3.0)&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;checkAccounts&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;=&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #0000ff;"&gt;new&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;nbsp;List&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;DomainInfo&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #0000ff;"&gt;new&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;nbsp;DomainInfo&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DomainName&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;=&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #800000;"&gt;"&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #800000;"&gt;www.zivsoft.com&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #800000;"&gt;"&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Owner&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;=&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #800000;"&gt;"&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #800000;"&gt;zivsoft&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #800000;"&gt;"&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;},&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #0000ff;"&gt;new&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;nbsp;DomainInfo&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DomainName&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;=&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #800000;"&gt;"&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #800000;"&gt;lihua.club.officelive.com&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #800000;"&gt;"&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Owner&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;=&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #800000;"&gt;"&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #800000;"&gt;microsoft&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #800000;"&gt;"&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DisplayInExcel(checkAccounts,&amp;nbsp;(domain,&amp;nbsp;cell)&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;=&amp;gt;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #008000;"&gt;//&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #008000;"&gt;注意参数2,&amp;nbsp;Lambda,&amp;nbsp;domain是自定义类DomainInfo，cell是Excel.Range&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #008000;"&gt;//&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #008000;"&gt;&amp;nbsp;Lambda内部业务&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cell.Value2&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;=&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;nbsp;domain.DomainName;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cell.get_Offset(&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #800080;"&gt;0&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #800080;"&gt;1&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;).Value2&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;=&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;nbsp;domain.Owner;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #0000ff;"&gt;if&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;nbsp;(domain.Owner&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;==&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #800000;"&gt;"&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #800000;"&gt;zivsoft&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #800000;"&gt;"&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;)&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #008000;"&gt;//&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #008000;"&gt;如果owner是zivsoft，改变颜色&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cell.Interior.Color&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;=&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #800080;"&gt;255&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cell.get_Offset(&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #800080;"&gt;0&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #800080;"&gt;1&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;).Interior.Color&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;=&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #800080;"&gt;255&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;});&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #008000;"&gt;//&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #008000;"&gt;操作Word对象&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;word&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;=&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #0000ff;"&gt;new&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;nbsp;Word.Application();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;word.Visible&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;=&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #0000ff;"&gt;true&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;word.Documents.Add();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;word.Selection.PasteSpecial(Link:&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #0000ff;"&gt;true&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;,&amp;nbsp;DisplayAsIcon:&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #0000ff;"&gt;true&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;);&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #008000;"&gt;//&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #008000;"&gt;注意这是C#4.0中可选参数用法&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #0000ff;"&gt;public&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #0000ff;"&gt;static&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #0000ff;"&gt;void&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;nbsp;DisplayInExcel(IEnumerable&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;DomainInfo&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;nbsp;accounts,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Action&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;DomainInfo,&amp;nbsp;Excel.Range&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;nbsp;DisplayFunc)&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #008000;"&gt;//&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #008000;"&gt;参数2中的Action是一个泛型delegate&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #008000;"&gt;//&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #008000;"&gt;操作Excel对象&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;xl&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;=&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #0000ff;"&gt;new&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;nbsp;Excel.Application();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xl.Workbooks.Add();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xl.Visible&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;=&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #0000ff;"&gt;true&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xl.Cells[&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #800080;"&gt;1&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #800080;"&gt;1&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;]&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;=&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #800000;"&gt;"&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #800000;"&gt;域名&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #800000;"&gt;"&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xl.Cells[&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #800080;"&gt;1&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #800080;"&gt;2&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;]&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;=&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #800000;"&gt;"&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #800000;"&gt;拥有者&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #800000;"&gt;"&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xl.Cells[&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #800080;"&gt;2&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #800080;"&gt;1&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;].Select();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #0000ff;"&gt;foreach&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;nbsp;(var&amp;nbsp;ac&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #0000ff;"&gt;in&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;&amp;nbsp;accounts)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DisplayFunc(ac,&amp;nbsp;xl.ActiveCell);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xl.ActiveCell.get_Offset(&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #800080;"&gt;1&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #800080;"&gt;0&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;).Select();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xl.get_Range(&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #800000;"&gt;"&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #800000;"&gt;A1:B3&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #800000;"&gt;"&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;).Copy();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xl.Columns[&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #800080;"&gt;1&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;].AutoFit();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xl.Columns[&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #800080;"&gt;2&lt;/span&gt;&lt;span style="font-size: 12px; line-height: 1.5; color: #000000;"&gt;].AutoFit();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;&lt;strong&gt;程序运行结果&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;&lt;img height="424" alt="" src="http://images.cnblogs.com/cnblogs_com/architect/officepro.png" width="636" border="0" style="border-style: initial; border-color: initial;" /&gt;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px;"&gt;&lt;img height="404" alt="" src="http://images.cnblogs.com/cnblogs_com/architect/officeword.png" width="525" border="0" style="border-style: initial; border-color: initial;" /&gt;&lt;/p&gt;&#xD;
&lt;/div&gt;&lt;img src="http://www.cnblogs.com/sunjie9606/aggbug/2193034.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/sunjie9606/archive/2011/09/27/2193034.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/sunjie9606/archive/2011/09/16/2178897.html</id><title type="text">给力分享新的ORM =&amp;gt; Dapper</title><summary type="text">给力分享新的ORM =&gt; Dapper</summary><published>2011-09-16T08:20:00Z</published><updated>2011-09-16T08:20:00Z</updated><author><name>sunjie</name><uri>http://www.cnblogs.com/sunjie9606/</uri></author><link rel="alternate" href="http://www.cnblogs.com/sunjie9606/archive/2011/09/16/2178897.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/sunjie9606/archive/2011/09/16/2178897.html"/><content type="html">&lt;p style="padding: 0px; margin: 0px;"&gt;最近一直很痛苦，想选一个好点的ORM来做项目，实在没遇到好的。昨天忽然的看到Dapper，立刻迷恋上了。这个ORM实在太强大了，可惜资料少的可怜。就发点资料来介绍吧。官方资料&lt;a href="http://code.google.com/p/dapper-dot-net/" style="text-decoration: underline; color: #0066cc; padding: 0px; margin: 0px;"&gt;点击这里&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p style="padding: 0px; margin: 0px;"&gt;Dapper是一个轻型的ORM类。代码就一个SqlMapper.cs文件。文件见下。编译后就40K的一个很小的Dll.（估计其他的ORM要哭了。）&lt;/p&gt;&#xD;
&lt;p style="padding: 0px; margin: 0px;"&gt;Dapper很快，有多快。实验下就知道了。官方给了点测试包，想玩的时候就去测试下。Dapper的速度接近与IDataReader，取列表的数据超过了DataTable。（更多的ORM泪奔了，好多ORM弱爆了。）&lt;/p&gt;&#xD;
&lt;p style="padding: 0px; margin: 0px;"&gt;Dapper支持什么数据库。Dapper支持Mysql,SqlLite,Mssql2000,Mssql2005,Oracle等一系列的数据库，当然如果你知道原理也可以让它支持Mongo db.（有的ORM泪奔了）&lt;/p&gt;&#xD;
&lt;p style="padding: 0px; margin: 0px;"&gt;Dapper的r支持多表并联的对象。支持一对多 多对多的关系。并且没侵入性，想用就用，不想用就不用。无XML无属性。代码以前怎么写现在还怎么写。（更更更更多的ORM泪奔了，看到其他的ORM又是XML又是属性，Map来Map去，设计来设计去，缓存来缓存去，然后还是那么的慢。）&lt;/p&gt;&#xD;
&lt;p style="padding: 0px; margin: 0px;"&gt;Dapper原理通过Emit反射IDataReader的序列队列，来快速的得到和产生对象。性能实在高高高。（更更更更更更更多的ORM泪奔了）&lt;/p&gt;&#xD;
&lt;p style="padding: 0px; margin: 0px;"&gt;Dapper支持net2.0,3.0,3.5,4.0。不过就是要配置下。如果不知道如何配置查看我博客里的在2.0下使用3.5就可以了。（更更更更更更更更更更更多的ORM泪奔了）&lt;/p&gt;&#xD;
&lt;p style="padding: 0px; margin: 0px;"&gt;Dapper的语法是这样的。语法十分简单。并且无须迁就数据库的设计。（我X，无敌了）&lt;/p&gt;&#xD;
&lt;p style="padding: 0px; margin: 0px;"&gt;&lt;/p&gt;&#xD;
&lt;div  style="padding: 0px; margin: 0px;"&gt;&#xD;
&lt;div id="highlighter_407853"  style="margin-top: 1em !important; margin-right: 0px !important; margin-bottom: 1em !important; margin-left: 0px !important; border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: #ffffff !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: relative !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: 983px; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 1px !important;"&gt;&#xD;
&lt;div  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;div  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: #ffffff !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;table style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-collapse: collapse !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;tbody style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;tr style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;td  style="padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: initial !important; border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: top !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-left-style: none !important; border-left-color: initial !important; margin: 0px !important;"&gt;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; color: #006699 !important; background-position: initial initial !important; background-repeat: initial initial !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;public&lt;/code&gt;&amp;nbsp;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; color: #006699 !important; background-position: initial initial !important; background-repeat: initial initial !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;static&lt;/code&gt;&amp;nbsp;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; color: #006699 !important; background-position: initial initial !important; background-repeat: initial initial !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;readonly&lt;/code&gt;&amp;nbsp;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; color: #006699 !important; background-position: initial initial !important; background-repeat: initial initial !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;string&lt;/code&gt;&amp;nbsp;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; color: #000000 !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;sqlconnectionString =&amp;nbsp;&lt;/code&gt;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; color: blue !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;"Data Source=xxx;Initial Catalog=Express;User ID=sa;Password=123"&lt;/code&gt;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; color: #000000 !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;;&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;/tbody&gt;&#xD;
&lt;/table&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: #f8f8f8 !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;table style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-collapse: collapse !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;tbody style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;tr style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;td  style="padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: initial !important; border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: top !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-left-style: none !important; border-left-color: initial !important; margin: 0px !important;"&gt;&amp;nbsp;&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;/tbody&gt;&#xD;
&lt;/table&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: #ffffff !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;table style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-collapse: collapse !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;tbody style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;tr style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;td  style="padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: initial !important; border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: top !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-left-style: none !important; border-left-color: initial !important; margin: 0px !important;"&gt;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; color: #006699 !important; background-position: initial initial !important; background-repeat: initial initial !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;public&lt;/code&gt;&amp;nbsp;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; color: #006699 !important; background-position: initial initial !important; background-repeat: initial initial !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;static&lt;/code&gt;&amp;nbsp;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; color: #006699 !important; background-position: initial initial !important; background-repeat: initial initial !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;readonly&lt;/code&gt;&amp;nbsp;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; color: #006699 !important; background-position: initial initial !important; background-repeat: initial initial !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;string&lt;/code&gt;&amp;nbsp;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; color: #000000 !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;mysqlconnectionString =&amp;nbsp;&lt;/code&gt;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; color: blue !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;@"server=xxx;database=dddd;uid=xxx;pwd=123;charset='gbk'"&lt;/code&gt;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; color: #000000 !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;;&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;/tbody&gt;&#xD;
&lt;/table&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: #f8f8f8 !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;table style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-collapse: collapse !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;tbody style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;tr style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;td  style="padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: initial !important; border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: top !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-left-style: none !important; border-left-color: initial !important; margin: 0px !important;"&gt;&amp;nbsp;&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;/tbody&gt;&#xD;
&lt;/table&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: #ffffff !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;table style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-collapse: collapse !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;tbody style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;tr style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;td  style="padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: initial !important; border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: top !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-left-style: none !important; border-left-color: initial !important; margin: 0px !important;"&gt;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; color: #006699 !important; background-position: initial initial !important; background-repeat: initial initial !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;public&lt;/code&gt;&amp;nbsp;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; color: #006699 !important; background-position: initial initial !important; background-repeat: initial initial !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;static&lt;/code&gt;&amp;nbsp;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; color: #000000 !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;SqlConnection SqlConnection()&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;/tbody&gt;&#xD;
&lt;/table&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: #f8f8f8 !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;table style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-collapse: collapse !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;tbody style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;tr style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;td  style="padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: initial !important; border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: top !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-left-style: none !important; border-left-color: initial !important; margin: 0px !important;"&gt;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; color: #000000 !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;{&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;/tbody&gt;&#xD;
&lt;/table&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: #ffffff !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;table style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-collapse: collapse !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;tbody style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;tr style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;td  style="padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: initial !important; border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: top !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-left-style: none !important; border-left-color: initial !important; margin: 0px !important;"&gt;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; color: #000000 !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;var connection =&amp;nbsp;&lt;/code&gt;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; color: #006699 !important; background-position: initial initial !important; background-repeat: initial initial !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;new&lt;/code&gt;&amp;nbsp;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; color: #000000 !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;SqlConnection(sqlconnectionString);&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;/tbody&gt;&#xD;
&lt;/table&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: #f8f8f8 !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;table style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-collapse: collapse !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;tbody style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;tr style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;td  style="padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: initial !important; border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: top !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-left-style: none !important; border-left-color: initial !important; margin: 0px !important;"&gt;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; color: #000000 !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;connection.Open();&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;/tbody&gt;&#xD;
&lt;/table&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: #ffffff !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;table style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-collapse: collapse !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;tbody style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;tr style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;td  style="padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: initial !important; border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: top !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-left-style: none !important; border-left-color: initial !important; margin: 0px !important;"&gt;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; color: #006699 !important; background-position: initial initial !important; background-repeat: initial initial !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;return&lt;/code&gt;&amp;nbsp;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; color: #000000 !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;connection;&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;/tbody&gt;&#xD;
&lt;/table&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: #f8f8f8 !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;table style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-collapse: collapse !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;tbody style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;tr style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;td  style="padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: initial !important; border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: top !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-left-style: none !important; border-left-color: initial !important; margin: 0px !important;"&gt;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; color: #000000 !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;}&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;/tbody&gt;&#xD;
&lt;/table&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: #ffffff !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;table style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-collapse: collapse !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;tbody style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;tr style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;td  style="padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: initial !important; border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: top !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-left-style: none !important; border-left-color: initial !important; margin: 0px !important;"&gt;&amp;nbsp;&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;/tbody&gt;&#xD;
&lt;/table&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: #f8f8f8 !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;table style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-collapse: collapse !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;tbody style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;tr style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;td  style="padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: initial !important; border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: top !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-left-style: none !important; border-left-color: initial !important; margin: 0px !important;"&gt;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; color: #006699 !important; background-position: initial initial !important; background-repeat: initial initial !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;public&lt;/code&gt;&amp;nbsp;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; color: #006699 !important; background-position: initial initial !important; background-repeat: initial initial !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;static&lt;/code&gt;&amp;nbsp;&amp;nbsp;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; color: #000000 !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;MySqlConnection&amp;nbsp; MySqlConnection()&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;/tbody&gt;&#xD;
&lt;/table&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: #ffffff !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;table style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-collapse: collapse !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;tbody style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;tr style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;td  style="padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: initial !important; border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: top !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-left-style: none !important; border-left-color: initial !important; margin: 0px !important;"&gt;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; color: #000000 !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;{&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;/tbody&gt;&#xD;
&lt;/table&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: #f8f8f8 !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;table style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-collapse: collapse !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;tbody style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;tr style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;td  style="padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: initial !important; border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: top !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-left-style: none !important; border-left-color: initial !important; margin: 0px !important;"&gt;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; color: #000000 !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;var connection =&amp;nbsp;&lt;/code&gt;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; color: #006699 !important; background-position: initial initial !important; background-repeat: initial initial !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;new&lt;/code&gt;&amp;nbsp;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; color: #000000 !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;MySqlConnection(mysqlconnectionString);&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;/tbody&gt;&#xD;
&lt;/table&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: #ffffff !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;table style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-collapse: collapse !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;tbody style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;tr style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;td  style="padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: initial !important; border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: top !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-left-style: none !important; border-left-color: initial !important; margin: 0px !important;"&gt;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; color: #000000 !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;connection.Open();&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;/tbody&gt;&#xD;
&lt;/table&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: #f8f8f8 !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;table style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-collapse: collapse !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;tbody style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;tr style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;td  style="padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: initial !important; border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: top !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-left-style: none !important; border-left-color: initial !important; margin: 0px !important;"&gt;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; color: #006699 !important; background-position: initial initial !important; background-repeat: initial initial !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;return&lt;/code&gt;&amp;nbsp;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; color: #000000 !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;connection;&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;/tbody&gt;&#xD;
&lt;/table&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: #ffffff !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;table style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-collapse: collapse !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;tbody style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;tr style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;td  style="padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: initial !important; border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: top !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-left-style: none !important; border-left-color: initial !important; margin: 0px !important;"&gt;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; color: #000000 !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;}&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;/tbody&gt;&#xD;
&lt;/table&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;p style="padding: 0px; margin: 0px;"&gt;调用方法&lt;/p&gt;&#xD;
&lt;div  style="padding: 0px; margin: 0px;"&gt;&#xD;
&lt;div id="highlighter_164054"  style="margin-top: 1em !important; margin-right: 0px !important; margin-bottom: 1em !important; margin-left: 0px !important; border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: #ffffff !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: relative !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: 983px; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 1px !important;"&gt;&#xD;
&lt;div  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;div  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: #ffffff !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;table style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-collapse: collapse !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;tbody style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;tr style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;td  style="padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: initial !important; border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: top !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-left-style: none !important; border-left-color: initial !important; margin: 0px !important;"&gt;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; color: #000000 !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;SqlConnection connection = Program.SqlConnection();&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;/tbody&gt;&#xD;
&lt;/table&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: #f8f8f8 !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;table style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-collapse: collapse !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;tbody style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;tr style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;td  style="padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: initial !important; border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: top !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-left-style: none !important; border-left-color: initial !important; margin: 0px !important;"&gt;&amp;nbsp;&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;/tbody&gt;&#xD;
&lt;/table&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: #ffffff !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;table style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-collapse: collapse !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;tbody style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;tr style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;td  style="padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: initial !important; border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: top !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-left-style: none !important; border-left-color: initial !important; margin: 0px !important;"&gt;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; color: #006699 !important; background-position: initial initial !important; background-repeat: initial initial !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;for&lt;/code&gt;&amp;nbsp;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; color: #000000 !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;(&lt;/code&gt;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; color: #006699 !important; background-position: initial initial !important; background-repeat: initial initial !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;int&lt;/code&gt;&amp;nbsp;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; color: #000000 !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;i = 0; i &amp;lt; 100000; i++)&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;/tbody&gt;&#xD;
&lt;/table&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: #f8f8f8 !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;table style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-collapse: collapse !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;tbody style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;tr style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;td  style="padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: initial !important; border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: top !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-left-style: none !important; border-left-color: initial !important; margin: 0px !important;"&gt;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; color: #000000 !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;{&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;/tbody&gt;&#xD;
&lt;/table&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: #ffffff !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;table style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-collapse: collapse !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;tbody style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;tr style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;td  style="padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: initial !important; border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: top !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-left-style: none !important; border-left-color: initial !important; margin: 0px !important;"&gt;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; color: #008200 !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;//connection.Execute("INSERT INTO dog (Age,Name,Weight) VALUES (@age,@name,@Weight)",&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;/tbody&gt;&#xD;
&lt;/table&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: #f8f8f8 !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;table style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-collapse: collapse !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;tbody style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;tr style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;td  style="padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: initial !important; border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: top !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-left-style: none !important; border-left-color: initial !important; margin: 0px !important;"&gt;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; color: #008200 !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;//&amp;nbsp; new { @age = i,@name = Guid.NewGuid().ToString(), @Weight = i });&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;/tbody&gt;&#xD;
&lt;/table&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: #ffffff !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;table style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-collapse: collapse !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;tbody style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;tr style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;td  style="padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: initial !important; border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: top !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-left-style: none !important; border-left-color: initial !important; margin: 0px !important;"&gt;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; color: #000000 !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;}&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;/tbody&gt;&#xD;
&lt;/table&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: #f8f8f8 !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;table style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-collapse: collapse !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;tbody style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;tr style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;td  style="padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: initial !important; border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: top !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-left-style: none !important; border-left-color: initial !important; margin: 0px !important;"&gt;&amp;nbsp;&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;/tbody&gt;&#xD;
&lt;/table&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: #ffffff !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;table style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-collapse: collapse !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;tbody style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;tr style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;td  style="padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: initial !important; border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: top !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-left-style: none !important; border-left-color: initial !important; margin: 0px !important;"&gt;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; color: #000000 !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;var d = connection.Query&amp;lt;Dog&amp;gt;(&lt;/code&gt;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; color: blue !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;"select * from dog where id = 1"&lt;/code&gt;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; color: #000000 !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;,&amp;nbsp;&lt;/code&gt;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; color: #006699 !important; background-position: initial initial !important; background-repeat: initial initial !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;null&lt;/code&gt;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; color: #000000 !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;).Single&amp;lt;Dog&amp;gt;();&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;/tbody&gt;&#xD;
&lt;/table&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: #f8f8f8 !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;table style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-collapse: collapse !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;tbody style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;tr style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;&#xD;
&lt;td  style="padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: initial !important; border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: top !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; border-left-style: none !important; border-left-color: initial !important; margin: 0px !important;"&gt;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; color: #000000 !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;var dd = connection.Query&amp;lt;Dog&amp;gt;(&lt;/code&gt;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; color: blue !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;"select * from dog where id &amp;lt; 10"&lt;/code&gt;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; color: #000000 !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;,&amp;nbsp;&lt;/code&gt;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; color: #006699 !important; background-position: initial initial !important; background-repeat: initial initial !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;null&lt;/code&gt;&lt;code  style="border-style: initial !important; border-color: initial !important; outline-width: 0px !important; outline-style: initial !important; outline-color: initial !important; background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: initial !important; text-align: left !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-style: normal !important; font-size: 1em !important; min-height: inherit !important; color: #000000 !important; border-width: 0px !important; padding: 0px !important; margin: 0px !important;"&gt;).ToList&amp;lt;Dog&amp;gt;();&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;/tbody&gt;&#xD;
&lt;/table&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;p style="padding: 0px; margin: 0px;"&gt;试用感觉&lt;/p&gt;&#xD;
&lt;p style="padding: 0px; margin: 0px;"&gt;30W条数据，取其中的一个对象，和第一页前15条数据，耗时0.0906879秒。这个速度超过Datable。&lt;/p&gt;&#xD;
&lt;p style="padding: 0px; margin: 0px;"&gt;官方的测试代码以及数据&lt;/p&gt;&#xD;
&lt;h3 style="font-weight: bold; color: #000000; padding: 0px; margin: 0px;"&gt;&lt;a name="Performance_of_SELECT_mapping_over_500_iterations_-_POCO_seriali" style="text-decoration: underline; color: #0066cc; padding: 0px; margin: 0px;"&gt;&lt;/a&gt;Performance of&amp;nbsp;&lt;tt style="padding: 0px; margin: 0px;"&gt;&lt;span face="Lucida Console" size="4" style="color: #111111; font-size: medium; line-height: 1.8em; font-family: 'Lucida Console'; padding: 0px; margin: 0px;"&gt;SELECT&lt;/span&gt;&lt;/tt&gt;&amp;nbsp;mapping over 500 iterations - POCO serialization&lt;a  href="http://code.google.com/p/dapper-dot-net/#Performance_of_SELECT_mapping_over_500_iterations_-_POCO_seriali" style="text-decoration: underline; color: #0066cc; padding: 0px; margin: 0px;"&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;table  style="padding: 0px; margin: 0px;"&gt;&#xD;
&lt;tbody style="padding: 0px; margin: 0px;"&gt;&#xD;
&lt;tr style="padding: 0px; margin: 0px;"&gt;&#xD;
&lt;td style="border-width: 1px; border-color: #cccccc; border-style: solid; padding: 5px; margin: 0px;"&gt;&lt;strong style="padding: 0px; margin: 0px;"&gt;Method&lt;/strong&gt;&lt;/td&gt;&#xD;
&lt;td style="border-width: 1px; border-color: #cccccc; border-style: solid; padding: 5px; margin: 0px;"&gt;&lt;strong style="padding: 0px; margin: 0px;"&gt;Duration&lt;/strong&gt;&lt;/td&gt;&#xD;
&lt;td style="border-width: 1px; border-color: #cccccc; border-style: solid; padding: 5px; margin: 0px;"&gt;&lt;strong style="padding: 0px; margin: 0px;"&gt;Remarks&lt;/strong&gt;&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;tr style="padding: 0px; margin: 0px;"&gt;&#xD;
&lt;td style="border-width: 1px; border-color: #cccccc; border-style: solid; padding: 5px; margin: 0px;"&gt;Hand coded (using a&amp;nbsp;&lt;tt style="padding: 0px; margin: 0px;"&gt;&lt;span face="Lucida Console" size="3" style="color: #111111; font-size: small; line-height: 1.8em; font-family: 'Lucida Console'; padding: 0px; margin: 0px;"&gt;SqlDataReader&lt;/span&gt;&lt;/tt&gt;)&lt;/td&gt;&#xD;
&lt;td style="border-width: 1px; border-color: #cccccc; border-style: solid; padding: 5px; margin: 0px;"&gt;47ms&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;tr style="padding: 0px; margin: 0px;"&gt;&#xD;
&lt;td style="border-width: 1px; border-color: #cccccc; border-style: solid; padding: 5px; margin: 0px;"&gt;Dapper&amp;nbsp;&lt;tt style="padding: 0px; margin: 0px;"&gt;&lt;span face="Lucida Console" size="3" style="color: #111111; font-size: small; line-height: 1.8em; font-family: 'Lucida Console'; padding: 0px; margin: 0px;"&gt;ExecuteMapperQuery&amp;lt;Post&amp;gt;&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&#xD;
&lt;td style="border-width: 1px; border-color: #cccccc; border-style: solid; padding: 5px; margin: 0px;"&gt;49ms&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;tr style="padding: 0px; margin: 0px;"&gt;&#xD;
&lt;td style="border-width: 1px; border-color: #cccccc; border-style: solid; padding: 5px; margin: 0px;"&gt;&lt;a href="http://www.toptensoftware.com/petapoco/" rel="nofollow" style="text-decoration: underline; color: #0066cc; padding: 0px; margin: 0px;"&gt;PetaPoco&lt;/a&gt;&lt;/td&gt;&#xD;
&lt;td style="border-width: 1px; border-color: #cccccc; border-style: solid; padding: 5px; margin: 0px;"&gt;52ms&lt;/td&gt;&#xD;
&lt;td style="border-width: 1px; border-color: #cccccc; border-style: solid; padding: 5px; margin: 0px;"&gt;&lt;a href="http://www.toptensoftware.com/Articles/94/PetaPoco-More-Speed" rel="nofollow" style="text-decoration: underline; color: #0066cc; padding: 0px; margin: 0px;"&gt;&lt;span color="#0000cc" style="color: #0000cc; font-size: 13px; line-height: 1.8em; padding: 0px; margin: 0px;"&gt;Can be faster&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;tr style="padding: 0px; margin: 0px;"&gt;&#xD;
&lt;td style="border-width: 1px; border-color: #cccccc; border-style: solid; padding: 5px; margin: 0px;"&gt;BLToolkit&lt;/td&gt;&#xD;
&lt;td style="border-width: 1px; border-color: #cccccc; border-style: solid; padding: 5px; margin: 0px;"&gt;80ms&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;tr style="padding: 0px; margin: 0px;"&gt;&#xD;
&lt;td style="border-width: 1px; border-color: #cccccc; border-style: solid; padding: 5px; margin: 0px;"&gt;SubSonic&amp;nbsp;&lt;a href="http://www.subsonicproject.com/docs/CodingHorror" rel="nofollow" style="text-decoration: underline; color: #0066cc; padding: 0px; margin: 0px;"&gt;&lt;span color="#0000cc" style="color: #0000cc; font-size: 13px; line-height: 1.8em; padding: 0px; margin: 0px;"&gt;CodingHorror&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&#xD;
&lt;td style="border-width: 1px; border-color: #cccccc; border-style: solid; padding: 5px; margin: 0px;"&gt;107ms&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;tr style="padding: 0px; margin: 0px;"&gt;&#xD;
&lt;td style="border-width: 1px; border-color: #cccccc; border-style: solid; padding: 5px; margin: 0px;"&gt;NHibernate SQL&lt;/td&gt;&#xD;
&lt;td style="border-width: 1px; border-color: #cccccc; border-style: solid; padding: 5px; margin: 0px;"&gt;104ms&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;tr style="padding: 0px; margin: 0px;"&gt;&#xD;
&lt;td style="border-width: 1px; border-color: #cccccc; border-style: solid; padding: 5px; margin: 0px;"&gt;Linq 2 SQL&amp;nbsp;&lt;tt style="padding: 0px; margin: 0px;"&gt;&lt;span face="Lucida Console" size="3" style="color: #111111; font-size: small; line-height: 1.8em; font-family: 'Lucida Console'; padding: 0px; margin: 0px;"&gt;ExecuteQuery&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&#xD;
&lt;td style="border-width: 1px; border-color: #cccccc; border-style: solid; padding: 5px; margin: 0px;"&gt;181ms&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;tr style="padding: 0px; margin: 0px;"&gt;&#xD;
&lt;td style="border-width: 1px; border-color: #cccccc; border-style: solid; padding: 5px; margin: 0px;"&gt;Entity framework&amp;nbsp;&lt;tt style="padding: 0px; margin: 0px;"&gt;&lt;span face="Lucida Console" size="3" style="color: #111111; font-size: small; line-height: 1.8em; font-family: 'Lucida Console'; padding: 0px; margin: 0px;"&gt;ExecuteStoreQuery&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&#xD;
&lt;td style="border-width: 1px; border-color: #cccccc; border-style: solid; padding: 5px; margin: 0px;"&gt;631ms&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;/tbody&gt;&#xD;
&lt;/table&gt;&#xD;
&lt;h3 style="font-weight: bold; color: #000000; padding: 0px; margin: 0px;"&gt;&lt;a name="Performance_of_SELECT_mapping_over_500_iterations_-_dynamic_seri" style="text-decoration: underline; color: #0066cc; padding: 0px; margin: 0px;"&gt;&lt;/a&gt;Performance of&amp;nbsp;&lt;tt style="padding: 0px; margin: 0px;"&gt;&lt;span face="Lucida Console" size="4" style="color: #111111; font-size: medium; line-height: 1.8em; font-family: 'Lucida Console'; padding: 0px; margin: 0px;"&gt;SELECT&lt;/span&gt;&lt;/tt&gt;&amp;nbsp;mapping over 500 iterations - dynamic serialization&lt;a  href="http://code.google.com/p/dapper-dot-net/#Performance_of_SELECT_mapping_over_500_iterations_-_dynamic_seri" style="text-decoration: underline; color: #0066cc; padding: 0px; margin: 0px;"&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;table  style="padding: 0px; margin: 0px;"&gt;&#xD;
&lt;tbody style="padding: 0px; margin: 0px;"&gt;&#xD;
&lt;tr style="padding: 0px; margin: 0px;"&gt;&#xD;
&lt;td style="border-width: 1px; border-color: #cccccc; border-style: solid; padding: 5px; margin: 0px;"&gt;&lt;strong style="padding: 0px; margin: 0px;"&gt;Method&lt;/strong&gt;&lt;/td&gt;&#xD;
&lt;td style="border-width: 1px; border-color: #cccccc; border-style: solid; padding: 5px; margin: 0px;"&gt;&lt;strong style="padding: 0px; margin: 0px;"&gt;Duration&lt;/strong&gt;&lt;/td&gt;&#xD;
&lt;td style="border-width: 1px; border-color: #cccccc; border-style: solid; padding: 5px; margin: 0px;"&gt;&lt;strong style="padding: 0px; margin: 0px;"&gt;Remarks&lt;/strong&gt;&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;tr style="padding: 0px; margin: 0px;"&gt;&#xD;
&lt;td style="border-width: 1px; border-color: #cccccc; border-style: solid; padding: 5px; margin: 0px;"&gt;Dapper&amp;nbsp;&lt;tt style="padding: 0px; margin: 0px;"&gt;&lt;span face="Lucida Console" size="3" style="color: #111111; font-size: small; line-height: 1.8em; font-family: 'Lucida Console'; padding: 0px; margin: 0px;"&gt;ExecuteMapperQuery (dynamic)&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&#xD;
&lt;td style="border-width: 1px; border-color: #cccccc; border-style: solid; padding: 5px; margin: 0px;"&gt;48ms&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;tr style="padding: 0px; margin: 0px;"&gt;&#xD;
&lt;td style="border-width: 1px; border-color: #cccccc; border-style: solid; padding: 5px; margin: 0px;"&gt;&lt;a href="http://blog.wekeroad.com/helpy-stuff/and-i-shall-call-it-massive" rel="nofollow" style="text-decoration: underline; color: #0066cc; padding: 0px; margin: 0px;"&gt;&lt;span color="#0000cc" style="color: #0000cc; font-size: 13px; line-height: 1.8em; padding: 0px; margin: 0px;"&gt;Massive&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&#xD;
&lt;td style="border-width: 1px; border-color: #cccccc; border-style: solid; padding: 5px; margin: 0px;"&gt;52ms&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;tr style="padding: 0px; margin: 0px;"&gt;&#xD;
&lt;td style="border-width: 1px; border-color: #cccccc; border-style: solid; padding: 5px; margin: 0px;"&gt;&lt;a href="https://github.com/markrendle/Simple.Data" rel="nofollow" style="text-decoration: underline; color: #0066cc; padding: 0px; margin: 0px;"&gt;&lt;span color="#0000cc" style="color: #0000cc; font-size: 13px; line-height: 1.8em; padding: 0px; margin: 0px;"&gt;Simple.Data&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&#xD;
&lt;td style="border-width: 1px; border-color: #cccccc; border-style: solid; padding: 5px; margin: 0px;"&gt;95ms&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;/tbody&gt;&#xD;
&lt;/table&gt;&#xD;
&lt;h3 style="font-weight: bold; color: #000000; padding: 0px; margin: 0px;"&gt;&lt;a name="Performance_of_SELECT_mapping_over_500_iterations_-_typical_usag" style="text-decoration: underline; color: #0066cc; padding: 0px; margin: 0px;"&gt;&lt;/a&gt;Performance of&amp;nbsp;&lt;tt style="padding: 0px; margin: 0px;"&gt;&lt;span face="Lucida Console" size="4" style="color: #111111; font-size: medium; line-height: 1.8em; font-family: 'Lucida Console'; padding: 0px; margin: 0px;"&gt;SELECT&lt;/span&gt;&lt;/tt&gt;&amp;nbsp;mapping over 500 iterations - typical usage&lt;a  href="http://code.google.com/p/dapper-dot-net/#Performance_of_SELECT_mapping_over_500_iterations_-_typical_usag" style="text-decoration: underline; color: #0066cc; padding: 0px; margin: 0px;"&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;table  style="padding: 0px; margin: 0px;"&gt;&#xD;
&lt;tbody style="padding: 0px; margin: 0px;"&gt;&#xD;
&lt;tr style="padding: 0px; margin: 0px;"&gt;&#xD;
&lt;td style="border-width: 1px; border-color: #cccccc; border-style: solid; padding: 5px; margin: 0px;"&gt;&lt;strong style="padding: 0px; margin: 0px;"&gt;Method&lt;/strong&gt;&lt;/td&gt;&#xD;
&lt;td style="border-width: 1px; border-color: #cccccc; border-style: solid; padding: 5px; margin: 0px;"&gt;&lt;strong style="padding: 0px; margin: 0px;"&gt;Duration&lt;/strong&gt;&lt;/td&gt;&#xD;
&lt;td style="border-width: 1px; border-color: #cccccc; border-style: solid; padding: 5px; margin: 0px;"&gt;&lt;strong style="padding: 0px; margin: 0px;"&gt;Remarks&lt;/strong&gt;&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;tr style="padding: 0px; margin: 0px;"&gt;&#xD;
&lt;td style="border-width: 1px; border-color: #cccccc; border-style: solid; padding: 5px; margin: 0px;"&gt;Linq 2 SQL&amp;nbsp;&lt;tt style="padding: 0px; margin: 0px;"&gt;&lt;span face="Lucida Console" size="3" style="color: #111111; font-size: small; line-height: 1.8em; font-family: 'Lucida Console'; padding: 0px; margin: 0px;"&gt;CompiledQuery&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&#xD;
&lt;td style="border-width: 1px; border-color: #cccccc; border-style: solid; padding: 5px; margin: 0px;"&gt;81ms&lt;/td&gt;&#xD;
&lt;td style="border-width: 1px; border-color: #cccccc; border-style: solid; padding: 5px; margin: 0px;"&gt;Not super typical involves complex code&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;tr style="padding: 0px; margin: 0px;"&gt;&#xD;
&lt;td style="border-width: 1px; border-color: #cccccc; border-style: solid; padding: 5px; margin: 0px;"&gt;NHibernate HQL&lt;/td&gt;&#xD;
&lt;td style="border-width: 1px; border-color: #cccccc; border-style: solid; padding: 5px; margin: 0px;"&gt;118ms&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;tr style="padding: 0px; margin: 0px;"&gt;&#xD;
&lt;td style="border-width: 1px; border-color: #cccccc; border-style: solid; padding: 5px; margin: 0px;"&gt;Linq 2 SQL&lt;/td&gt;&#xD;
&lt;td style="border-width: 1px; border-color: #cccccc; border-style: solid; padding: 5px; margin: 0px;"&gt;559ms&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;tr style="padding: 0px; margin: 0px;"&gt;&#xD;
&lt;td style="border-width: 1px; border-color: #cccccc; border-style: solid; padding: 5px; margin: 0px;"&gt;Entity framework&lt;/td&gt;&#xD;
&lt;td style="border-width: 1px; border-color: #cccccc; border-style: solid; padding: 5px; margin: 0px;"&gt;859ms&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;tr style="padding: 0px; margin: 0px;"&gt;&#xD;
&lt;td style="border-width: 1px; border-color: #cccccc; border-style: solid; padding: 5px; margin: 0px;"&gt;SubSonic&amp;nbsp;&lt;tt style="padding: 0px; margin: 0px;"&gt;&lt;span face="Lucida Console" size="3" style="color: #111111; font-size: small; line-height: 1.8em; font-family: 'Lucida Console'; padding: 0px; margin: 0px;"&gt;ActiveRecord.SingleOrDefault&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&#xD;
&lt;td style="border-width: 1px; border-color: #cccccc; border-style: solid; padding: 5px; margin: 0px;"&gt;3619ms&lt;/td&gt;&#xD;
&lt;/tr&gt;&#xD;
&lt;/tbody&gt;&#xD;
&lt;/table&gt;&#xD;
&lt;p style="padding: 0px; margin: 0px;"&gt;&lt;strong style="padding: 0px; margin: 0px;"&gt;&lt;/strong&gt;&lt;strong style="padding: 0px; margin: 0px;"&gt;Performance benchmarks are available here:&amp;nbsp;&lt;a href="http://code.google.com/p/dapper-dot-net/source/browse/Tests/PerformanceTests.cs" rel="nofollow" style="text-decoration: underline; color: #0066cc; padding: 0px; margin: 0px;"&gt;&lt;span color="#0000cc" style="color: #0000cc; font-size: 13px; line-height: 1.8em; padding: 0px; margin: 0px;"&gt;http://code.google.com/p/dapper-dot-net/source/browse/Tests/PerformanceTests.cs&lt;/span&gt;&lt;/a&gt;&amp;nbsp;, Feel free to submit patches that include other ORMs -&amp;nbsp;&lt;/strong&gt;when running benchmarks, be sure to compile in Release and not attach a debugger (ctrl F5)&lt;strong style="padding: 0px; margin: 0px;"&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="padding: 0px; margin: 0px;"&gt;内存控制 非常好。&lt;/p&gt;&#xD;
&lt;p style="padding: 0px; margin: 0px;"&gt;结论不管你用不用，我反正是用它了。&lt;/p&gt;&#xD;
&lt;p style="padding: 0px; margin: 0px;"&gt;我编译好了一份发上来了。&lt;a href="http://files.cnblogs.com/imfunny/Dapper.rar" style="text-decoration: underline; color: #0066cc; padding: 0px; margin: 0px;"&gt;点击下载&lt;/a&gt;。代码如下有点长&lt;/p&gt;&lt;img src="http://www.cnblogs.com/sunjie9606/aggbug/2178897.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/sunjie9606/archive/2011/09/16/2178897.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/sunjie9606/archive/2011/09/16/2178523.html</id><title type="text">穿过任意防火墙NAT的远程控制软件TeamViewer</title><summary type="text">穿过任意防火墙NAT的远程控制软件TeamViewer</summary><published>2011-09-16T03:39:00Z</published><updated>2011-09-16T03:39:00Z</updated><author><name>sunjie</name><uri>http://www.cnblogs.com/sunjie9606/</uri></author><link rel="alternate" href="http://www.cnblogs.com/sunjie9606/archive/2011/09/16/2178523.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/sunjie9606/archive/2011/09/16/2178523.html"/><content type="html">&lt;div style="padding: 0px; margin: 0px;"&gt;这两天有个想法，就是把自己收集的大量视频教程文档和各位网友分享一下。因为很多资源在网上很难找到，或者是即便找到了要么是收费下载要么是下载速度慢到难以忍受的程度，好不容易找到一个rayfile或者纳米盘的又发现资源早已删除了。但是我所处的环境是校园内网的一个普通实验室中，学校的出口是防火墙，限制极为严格，所有网络都是NAT跑出去的，NAT这东西很厉害，不仅仅是节约IP地址，更重要的是安全，他是不允许外部网路向内部网络发起连接的。这也就是为啥灰鸽子那种反弹木马能流行的原因。&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;我收集的教程都放在实验室的一个存储服务器上，由于是内网，所以我做不了ftp服务器，试过花生壳等动态域名解析程序，可惜那些只对家庭用户的简单网络比较有效，对于学校或者企业这种内部网络相对复杂的是没有一点作用的。&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;但是遇到问题就要想解决的办法，这是一个IT技术人员最基本的素质。于是我开始搜索大量的共享方法。首先就是BT和电驴这种软件，这种软件设计的目的就是共享资源，但是由于学校的出口做了限制，只允许正常的端口如80，21等访问，所以，BT那些端口到了防火墙也全被被咔嚓，毫无意义。&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;第二种方式就是zapr，zapr是这样介绍的&amp;ldquo;Zapr是一款操作简单的免费共享软件，让您的个人电脑成为一台操作简单而安全的网络服务器。它能将您个人电脑里任何需要共享的文件或文件夹创建成一个普通的网络链接地址。当访问者点击该链接，Zapr会将您共享的内容呈现在他们面前，而他们无需注册、无需安装客户端，便可以浏览或下载相关的内容了。整个 过程无需上传，也没有文件大小或类型的限制，并且非常安全可靠&amp;rdquo;。看上去很美，其实面对我这种网络环境依然没有一丁点用。&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;第三种就是vpn，vpn虽然好用，但是免费的几乎没有，好的都是要收费的，于是也放弃了这种选择。&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;最后发现了一款非常牛X的软件，号称可以穿过任意防火墙NAT的软件，其实，作为一个搞网络的，明白这个穿过二字是啥意思，说白了就是绕过去了，没走你那条被封的道。这个牛X软件就叫TeamViewer，字面解释就是团队查看，主要用于远程协助帮忙，无论你处在一个网络多么复杂的环境中，只要你能上网，对方也能上网，哦了，那你们俩就能相互连来连去，彼此访问远程控制。你还别不信，现在就给你演示一下，这还真应了51cto那句话，技术成就梦想，哈哈。&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;我在网上找了个绿色版，这个软件是免费的，大家可以到他的官方网站下载&lt;a href="http://www.teamviewer.com/" target="\&amp;quot;_blank\&amp;quot;" style="color: #434343; text-decoration: none; padding: 0px; margin: 0px;"&gt;www.teamviewer.com&lt;/a&gt;，绿色的版本可以下载我这篇文章屁股后面的附件。&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;软件界面非常简洁漂亮，让人看着很舒服。启动以后会自动连接他的服务器，然后为你这台电脑生成一个ID，ID是啥，就是身份证了，表示你身份的，还有一个随机密码，当然，这个密码能改，我们稍后提到。把这个ID和密码发送给你想让连接你的电脑的人，让他也运行一下这个软件，然后在右侧创建连接处输入你的ID，就可以连接到你了。&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;&lt;a href="http://img1.51cto.com/attachment/200907/1/233677_1246429232L4F7.jpg" target="\&amp;quot;_blank\&amp;quot;" style="color: #434343; text-decoration: none; padding: 0px; margin: 0px;"&gt;&lt;img title="截屏000" height="409" alt="截屏000" src="http://img1.51cto.com/attachment/200907/1/233677_1246429232xL8K.jpg" border="0" 597="" style="vertical-align: top; border-style: initial; border-color: initial; border-width: initial; padding: 0px; margin: 0px;" /&gt;&lt;/a&gt;&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;单击连接后会提示输入密码，输入正确的密码即可看到桌面并进行控制了&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;&lt;a href="http://img1.51cto.com/attachment/200907/1/233677_1246429233F8C1.jpg" target="\&amp;quot;_blank\&amp;quot;" style="color: #434343; text-decoration: none; padding: 0px; margin: 0px;"&gt;&lt;img title="截屏001" height="406" alt="截屏001" src="http://img1.51cto.com/attachment/200907/1/233677_1246429233Ad3H.jpg" border="0" 593="" style="vertical-align: top; border-style: initial; border-color: initial; border-width: initial; padding: 0px; margin: 0px;" /&gt;&lt;/a&gt;&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;看，登录成功了，并提示了一下你所具有的权限，这个控制窗口是不是很帅，和REALVNC有点像。现在你就可以为所欲为啦。同样，你如果知道对方的ID和密码，一样可以连接到他。而且无论你是在内网还是家庭宽带等。&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;&lt;a href="http://img1.51cto.com/attachment/200907/1/233677_1246429234kGHH.jpg" target="\&amp;quot;_blank\&amp;quot;" style="color: #434343; text-decoration: none; padding: 0px; margin: 0px;"&gt;&lt;img title="截屏002" height="773" alt="截屏002" src="http://img1.51cto.com/attachment/200907/1/233677_1246429234sPw6.jpg" border="0" 997="" width="650" style="vertical-align: top; border-style: initial; border-color: initial; border-width: initial; padding: 0px; margin: 0px;" /&gt;&lt;/a&gt;&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;我们来设置一下权限，这样避免别人连上来就把我们的电脑关掉或者删了很多文件，有时我们可能只是临时给对方用一下。设置权限当然要在服务端了。&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;&lt;a href="http://img1.51cto.com/attachment/200907/1/233677_1246429235bAw6.jpg" target="\&amp;quot;_blank\&amp;quot;" style="color: #434343; text-decoration: none; padding: 0px; margin: 0px;"&gt;&lt;img title="截屏003" height="453" alt="截屏003" src="http://img1.51cto.com/attachment/200907/1/233677_1246429236uzv9.jpg" border="0" 630="" style="vertical-align: top; border-style: initial; border-color: initial; border-width: initial; padding: 0px; margin: 0px;" /&gt;&lt;/a&gt;&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;单击上图中的配置可以进行详细的权限配置，当然，这里指的详细并非像系统中的那样详细，而是指针对每个功能的设置。权限一共是三个等级，确认后、已拒绝、已允许。确认后表示当有相应的请求接入时，会提示给服务端，有10秒的等待时间，10秒内如果服务端确认，那么操作方可继续进行，如果服务端不确认或者拒绝，那么客户端将无法对服务端进行相应的操作。已拒绝表示直接拒绝，已允许表示直接允许。&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;&lt;a href="http://img1.51cto.com/attachment/200907/1/233677_1246429236zVMJ.jpg" target="\&amp;quot;_blank\&amp;quot;" style="color: #434343; text-decoration: none; padding: 0px; margin: 0px;"&gt;&lt;img title="截屏004" height="331" alt="截屏004" src="http://img1.51cto.com/attachment/200907/1/233677_1246429236PY4E.jpg" border="0" 393="" style="vertical-align: top; border-style: initial; border-color: initial; border-width: initial; padding: 0px; margin: 0px;" /&gt;&lt;/a&gt;&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;确认后权限的效果&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;&lt;a href="http://img1.51cto.com/attachment/200907/1/233677_1246429237tlzK.jpg" target="\&amp;quot;_blank\&amp;quot;" style="color: #434343; text-decoration: none; padding: 0px; margin: 0px;"&gt;&lt;img title="截屏005" height="170" alt="截屏005" src="http://img1.51cto.com/attachment/200907/1/233677_1246429237o6tt.jpg" border="0" 490="" style="vertical-align: top; border-style: initial; border-color: initial; border-width: initial; padding: 0px; margin: 0px;" /&gt;&lt;/a&gt;&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;文件传输功能比较有趣，类似一个FTP客户端，如图&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;&lt;a href="http://img1.51cto.com/attachment/200907/1/233677_1246429238FHlL.jpg" target="\&amp;quot;_blank\&amp;quot;" style="color: #434343; text-decoration: none; padding: 0px; margin: 0px;"&gt;&lt;img title="截屏006" height="568" alt="截屏006" src="http://img1.51cto.com/attachment/200907/1/233677_1246429239Q4NL.jpg" border="0" 764="" width="650" style="vertical-align: top; border-style: initial; border-color: initial; border-width: initial; padding: 0px; margin: 0px;" /&gt;&lt;/a&gt;&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;下载文件时漂亮的进度条&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;&lt;a href="http://img1.51cto.com/attachment/200907/1/233677_124642923911RA.jpg" target="\&amp;quot;_blank\&amp;quot;" style="color: #434343; text-decoration: none; padding: 0px; margin: 0px;"&gt;&lt;img title="截屏007" height="248" alt="截屏007" src="http://img1.51cto.com/attachment/200907/1/233677_1246429240Zk9A.jpg" border="0" 405="" style="vertical-align: top; border-style: initial; border-color: initial; border-width: initial; padding: 0px; margin: 0px;" /&gt;&lt;/a&gt;&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;服务端也会有文件传输日志&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;&lt;a href="http://img1.51cto.com/attachment/200907/1/233677_1246429243yEfb.jpg" target="\&amp;quot;_blank\&amp;quot;" style="color: #434343; text-decoration: none; padding: 0px; margin: 0px;"&gt;&lt;img title="截屏008" height="342" alt="截屏008" src="http://img1.51cto.com/attachment/200907/1/233677_1246429243PYOJ.jpg" border="0" 384="" style="vertical-align: top; border-style: initial; border-color: initial; border-width: initial; padding: 0px; margin: 0px;" /&gt;&lt;/a&gt;&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;最后说一下修改密码，默认情况下这个软件每启动一次会随机生成一个密码，我们可以手工修改成一个固定的密码，单击额外中的选项中的常规，在密码一栏设置。&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;&lt;a href="http://img1.51cto.com/attachment/200907/1/233677_1246429244MEZD.jpg" target="\&amp;quot;_blank\&amp;quot;" style="color: #434343; text-decoration: none; padding: 0px; margin: 0px;"&gt;&lt;img title="截屏009" height="448" alt="截屏009" src="http://img1.51cto.com/attachment/200907/1/233677_1246429244ehfe.jpg" border="0" 629="" style="vertical-align: top; border-style: initial; border-color: initial; border-width: initial; padding: 0px; margin: 0px;" /&gt;&lt;/a&gt;&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;设置固定密码后的效果，密码栏变成了预置的。&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;&lt;a href="http://img1.51cto.com/attachment/200907/1/233677_1246429245bO1d.jpg" target="\&amp;quot;_blank\&amp;quot;" style="color: #434343; text-decoration: none; padding: 0px; margin: 0px;"&gt;&lt;img title="截屏010" height="406" alt="截屏010" src="http://img1.51cto.com/attachment/200907/1/233677_1246429245jeZz.jpg" border="0" 597="" style="vertical-align: top; border-style: initial; border-color: initial; border-width: initial; padding: 0px; margin: 0px;" /&gt;&lt;/a&gt;&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;ok，到此这个非常牛X可以自由穿过防火墙NAT的远程控制软件就演示完成了，希望对各位朋友能有所帮助&lt;/div&gt;&#xD;
&lt;div style="padding: 0px; margin: 0px;"&gt;&amp;nbsp;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/sunjie9606/aggbug/2178523.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/sunjie9606/archive/2011/09/16/2178523.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/sunjie9606/archive/2011/09/16/2174392.html</id><title type="text">.NET 动态脚本语言Script.NET 入门指南 Quick Start</title><summary type="text">.NET 动态脚本语言Script.NET 入门指南 Quick Start</summary><published>2011-09-16T00:17:00Z</published><updated>2011-09-16T00:17:00Z</updated><author><name>sunjie</name><uri>http://www.cnblogs.com/sunjie9606/</uri></author><link rel="alternate" href="http://www.cnblogs.com/sunjie9606/archive/2011/09/16/2174392.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/sunjie9606/archive/2011/09/16/2174392.html"/><content type="html">&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;Script.NET是一种动态的脚本语言，它使得程序可扩展，可定制，和维护性好。和Office系列的VB Script相似，可以在应用中嵌入大量的代码块，以便在运行时才执行这些代码。&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;Script.NET的设计理念是：简单(simplicity)，有效率(efficiency)，容易上手(intuitive)。先通过例子，来做一个基本的了解。&lt;/p&gt;&#xD;
&lt;pre &gt;&lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;using&lt;/span&gt; System;&#xD;
&lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;using&lt;/span&gt; System.Diagnostics;&#xD;
&lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;using&lt;/span&gt; System.IO;&#xD;
&lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;using&lt;/span&gt; ScriptNET;&#xD;
&lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;using&lt;/span&gt; ScriptNET.Runtime;&#xD;
&lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;namespace&lt;/span&gt; Debug.Net&#xD;
{&#xD;
    &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;class&lt;/span&gt; Program&#xD;
    {&#xD;
        &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;static&lt;/span&gt; &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;void&lt;/span&gt; Main(&lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;string&lt;/span&gt;[] args)&#xD;
        {&#xD;
            RuntimeHost.Initialize();&#xD;
            Script s = Script.Compile(&lt;span  style="line-height: 1.5; color: #006080; padding: 0px; margin: 0px;"&gt;"Console.WriteLine('Hello World');"&lt;/span&gt;);&#xD;
            s.Execute();&#xD;
            RuntimeHost.CleanUp();         &#xD;
        }&#xD;
    }&#xD;
&#xD;
}&lt;/pre&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;为了编译这个例子，请先添加对程序集ScriptDotNet.dll的引用，它的Target是.NET 3.5。这个例子可以看出，Script.NET是如何调用.NET Framework的类型，并调用它的方法。再来看一个例子&lt;/p&gt;&#xD;
&lt;pre &gt;RuntimeHost.Initialize();&#xD;
&lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;object&lt;/span&gt; obj=Script.RunCode(&lt;span  style="line-height: 1.5; color: #006080; padding: 0px; margin: 0px;"&gt;" return 1+1;"&lt;/span&gt;);&#xD;
Console.WriteLine(obj);&lt;/pre&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;这个例子演示了，如何运行Script.NET的代码片段。&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;&lt;/p&gt;&#xD;
&lt;h4 style="font-weight: bold; color: #000000; padding: 0px; margin: 0px;"&gt;数据类型，常量，表达式，语句&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;作为一门语言，一般会包含语法，数据类型，表达式，语句，这是语言层面的基础内容。来看下面的表格，&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;Script.NET支持的数据类型&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/JamesLi2015/201109/201109130905304860.png" style="text-decoration: none; color: #000000; border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #333333; padding: 0px; margin: 0px;"&gt;&lt;img title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/JamesLi2015/201109/201109130905301862.png" width="641" height="83" style="border-style: initial; border-color: initial; display: inline; padding: 0px; margin: 0px;" /&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;常量，boolean类型的常量是true或false, null表示对象为空，字符串用单引号括起来。&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;运算符号：+, -, *, / ,%, ! , | , &amp;amp; , != , &amp;gt; , &amp;lt; , is&amp;nbsp; 。其中is用于对象类型。&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;请看下面的例子表达式，&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;X = (y+4)*2;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;Y = a[5] + 8;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;Z = Math.Sqrt(256);&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;P = new System.Drawing.Point(3,4);&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;语句 Script.NET程序是语句的集合，有三种常用的语句：顺序(sequencing )，循环(loop)，分支(branching)&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;&lt;strong style="padding: 0px; margin: 0px;"&gt;If ... Then ... Else ...&lt;/strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b style="padding: 0px; margin: 0px;"&gt;if&lt;/b&gt;&amp;nbsp;(Expression) statement&amp;nbsp;&lt;b style="padding: 0px; margin: 0px;"&gt;else&lt;/b&gt;&amp;nbsp;Statement&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;if (x&amp;gt;0) y = y + 1 ; else y = y ?1;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (x&amp;gt;0) message = 'X is positive';&lt;/p&gt;&#xD;
&lt;h5 style="font-weight: bold; color: #000000; font-size: 10pt; padding: 0px; margin: 0px;"&gt;For ...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b style="padding: 0px; margin: 0px;"&gt;for&lt;/b&gt;&amp;nbsp;(Expression1;Expression2;Expression3)&amp;nbsp;&lt;b style="padding: 0px; margin: 0px;"&gt;Statement&lt;/b&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;sum=0;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;for(i=0; i&amp;lt;10; i++)&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp; sum = sum + a[i];&lt;/p&gt;&#xD;
&lt;h5 style="font-weight: bold; color: #000000; font-size: 10pt; padding: 0px; margin: 0px;"&gt;Foreach ... in ...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b style="padding: 0px; margin: 0px;"&gt;foreach&lt;/b&gt;&amp;nbsp;(Identifier&amp;nbsp;&lt;b style="padding: 0px; margin: 0px;"&gt;in&lt;/b&gt;&amp;nbsp;Expression) Statement&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;arr=[1,2,3,4,5];&amp;nbsp;&amp;nbsp;&amp;nbsp; sum = 0;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;foreach(i in arr ) sum = sum + i;&lt;/p&gt;&#xD;
&lt;h5 style="font-weight: bold; color: #000000; font-size: 10pt; padding: 0px; margin: 0px;"&gt;While ...&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b style="padding: 0px; margin: 0px;"&gt;while&lt;/b&gt;&amp;nbsp;(Expression) Statement&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;while (i&amp;gt;0) i = i-1;&lt;/p&gt;&#xD;
&lt;h5 style="font-weight: bold; color: #000000; font-size: 10pt; padding: 0px; margin: 0px;"&gt;Switch&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;&lt;b style="padding: 0px; margin: 0px;"&gt;switch&lt;/b&gt;&amp;nbsp;(expr){&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;b style="padding: 0px; margin: 0px;"&gt;case&lt;/b&gt;&amp;nbsp;expr1: statement&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp; ...&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;b style="padding: 0px; margin: 0px;"&gt;default:&lt;/b&gt;&amp;nbsp;statement&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;}&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;switch (i){&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp; case 1: MessageBox.Show('Hello!');&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp; case 2: MessageBox.Show('?');&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp; default: MessageBox.Show('No way');&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;}&lt;/p&gt;&#xD;
&lt;h5 style="font-weight: bold; color: #000000; font-size: 10pt; padding: 0px; margin: 0px;"&gt;Break, Continue&amp;nbsp;&amp;nbsp; 只用于循环语句中，用于跳出循环&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;h5 style="font-weight: bold; color: #000000; font-size: 10pt; padding: 0px; margin: 0px;"&gt;Return&amp;nbsp; 用于返回函数(function)&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;h5 style="font-weight: bold; color: #000000; font-size: 10pt; padding: 0px; margin: 0px;"&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;&lt;/p&gt;&#xD;
&lt;h4 style="font-weight: bold; color: #000000; padding: 0px; margin: 0px;"&gt;函数 function&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;Script.NET是脚本语言，而不是面向对象的OOP语言。通常会将一将代码片段封装成函数，函数的定义语法如下&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;function(id1,id2,&amp;hellip;,idn) {&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;statement}&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;function fac(n){&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;if (n==1) return 1;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;else return n*fac(n-1);&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;}&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;MessageBox.Show(fac(5).ToString());&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;Func_pointer = fac;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;Func_pointer(4);&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;&lt;code style="padding: 0px; margin: 0px;"&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;下面的代码，演示了Script.NET与Host的交互，从Host中获取值&lt;/code&gt;&lt;/p&gt;&#xD;
&lt;pre &gt;RuntimeHost.Initialize();         &#xD;
List&amp;lt;&lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;int&lt;/span&gt;&amp;gt; vals = &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;new&lt;/span&gt; List&amp;lt;&lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;int&lt;/span&gt;&amp;gt;();&#xD;
vals.AddRange(&lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;new&lt;/span&gt; &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;int&lt;/span&gt;[] { 1, 2, 3, 4 });&#xD;
Script script = Script.Compile(&lt;span  style="line-height: 1.5; color: #006080; padding: 0px; margin: 0px;"&gt;@"&#xD;
         rez = 0;&#xD;
         foreach (number in numbers)&#xD;
         rez += number;"&lt;/span&gt;&#xD;
          );&#xD;
&#xD;
script.Context.SetItem(&lt;span  style="line-height: 1.5; color: #006080; padding: 0px; margin: 0px;"&gt;"numbers"&lt;/span&gt;, vals);&#xD;
&lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;object&lt;/span&gt; rez = script.Execute();&#xD;
Console.WriteLine(rez); &lt;/pre&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;&lt;code style="padding: 0px; margin: 0px;"&gt;运行程序，输出结果如下&lt;/code&gt;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/JamesLi2015/201109/201109130905309386.png" style="text-decoration: none; color: #000000; border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #333333; padding: 0px; margin: 0px;"&gt;&lt;img title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/JamesLi2015/201109/201109130905308863.png" width="370" height="97" style="border-style: initial; border-color: initial; display: inline; padding: 0px; margin: 0px;" /&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;&lt;/p&gt;&#xD;
&lt;h4 style="font-weight: bold; color: #000000; padding: 0px; margin: 0px;"&gt;Script Context&amp;nbsp; 脚本上下文&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;脚本上下文存储运行时信息，变量，和引入的类型，它可以引入.NET的对象到脚本中，以运用.NET Framework的强大功能。下面的例子演示Script.NET与Host的类型互操作&lt;/p&gt;&#xD;
&lt;pre &gt;&lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;class&lt;/span&gt; Program&#xD;
    {&#xD;
        &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;static&lt;/span&gt; &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;void&lt;/span&gt; Main(&lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;string&lt;/span&gt;[] args)&#xD;
        {&#xD;
            RuntimeHost.Initialize();&#xD;
            Type type = RuntimeHost.GetType(&lt;span  style="line-height: 1.5; color: #006080; padding: 0px; margin: 0px;"&gt;"A"&lt;/span&gt;);&#xD;
            &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;object&lt;/span&gt; script = Script.RunCode(&lt;span  style="line-height: 1.5; color: #006080; padding: 0px; margin: 0px;"&gt;@" a=new A();&#xD;
                          a.Name='From Script.NET';&#xD;
                           return a.Name;&#xD;
                           "&lt;/span&gt;);&#xD;
            Console.WriteLine(script);&#xD;
        }&#xD;
    }&#xD;
    &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;public&lt;/span&gt; &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;class&lt;/span&gt; A&#xD;
    {&#xD;
        &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;public&lt;/span&gt; &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;string&lt;/span&gt; Name { get; set; }&#xD;
    }&lt;/pre&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;在Host中定义类型A,并引用它，可以在Script.NET中直接使用。也可在Host中定义类型，然后把它的值传到Script.NET中，请看例子&lt;/p&gt;&#xD;
&lt;pre &gt;RuntimeHost.Initialize();&#xD;
Type type = RuntimeHost.GetType(&lt;span  style="line-height: 1.5; color: #006080; padding: 0px; margin: 0px;"&gt;"A"&lt;/span&gt;);&#xD;
A a = &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;new&lt;/span&gt; A();&#xD;
a.Name = &lt;span  style="line-height: 1.5; color: #006080; padding: 0px; margin: 0px;"&gt;"From Host"&lt;/span&gt;;&#xD;
Script script = Script.Compile(&lt;span  style="line-height: 1.5; color: #006080; padding: 0px; margin: 0px;"&gt;@"&#xD;
                 ab.Name='From Script.NET';&#xD;
                  return ab.Name;&#xD;
                   "&lt;/span&gt;);&#xD;
script.Context.SetItem(&lt;span  style="line-height: 1.5; color: #006080; padding: 0px; margin: 0px;"&gt;"ab"&lt;/span&gt;, a);&#xD;
script.Execute();&#xD;
Console.WriteLine(script);&lt;/pre&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;启动调试，在script.Execute执行前后，对象a的Name属性值是不同的。&lt;/p&gt;&#xD;
&lt;pre &gt;&lt;/pre&gt;&#xD;
&lt;h4 style="font-weight: bold; color: #000000; padding: 0px; margin: 0px;"&gt;Runtime Configuration 运行时配置&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;在Script.NET压缩包的根目录，找到配置文件RuntimeConfig.xml，把它添加到项目中。它包含，要引用的程序集，类型映射，和运行Script.NET引擎时，可以指定的初试化代码。&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;&amp;lt;References&amp;gt;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;Assembly name="System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" sn="true"/&amp;gt;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&amp;lt;/References&amp;gt;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&amp;lt;Types&amp;gt;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;Type alias="string" name="System.String" /&amp;gt;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;Type alias="int" name="System.Int32" /&amp;gt;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;&amp;hellip;&amp;hellip;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;&amp;lt;/Types&amp;gt;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;&amp;lt;Initialization&amp;gt;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;![CDATA[&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ]]&amp;gt;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&amp;nbsp; &amp;lt;/Initialization&amp;gt;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;比如，可以在Initialization区域定义数值常量，或是初始化代码，如下所示&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;&amp;lt;Initialization&amp;gt;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;![CDATA[&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Pi=3.14;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine('Jack is right');&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ]]&amp;gt;&amp;nbsp;&lt;br style="padding: 0px; margin: 0px;" /&gt;&amp;nbsp; &amp;lt;/Initialization&amp;gt;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;再回到Script.NET脚本代码中，代码如下&lt;/p&gt;&#xD;
&lt;pre &gt;RuntimeHost.Initialize(&lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;new&lt;/span&gt; FileStream(&lt;span  style="line-height: 1.5; color: #006080; padding: 0px; margin: 0px;"&gt;"RuntimeConfig.xml"&lt;/span&gt;,FileMode.Open));&#xD;
Script script = Script.Compile(&lt;span  style="line-height: 1.5; color: #006080; padding: 0px; margin: 0px;"&gt;@"&#xD;
                 Console.WriteLine(Pi);                           &#xD;
                   "&lt;/span&gt;);&#xD;
script.Execute();&#xD;
Console.WriteLine(script);&lt;/pre&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;运行程序，可看到控制台输邮结果如下&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/JamesLi2015/201109/201109130905318340.png" style="text-decoration: none; color: #000000; border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #333333; padding: 0px; margin: 0px;"&gt;&lt;img title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/JamesLi2015/201109/201109130905311404.png" width="370" height="113" style="border-style: initial; border-color: initial; display: inline; padding: 0px; margin: 0px;" /&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;注意，Script.NET的标识符是大小写敏感的,如果在脚本调用中把Pi写成了PI，会报异常。&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;Unhandled Exception: ScriptNET.Runtime.ScriptIdNotFoundException: Namespace PI is not found&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;Script.NET原来的名称是S#, 文档和实际的代码有差异。我是根据对.NET的理解来推断它的用法，发生错误的原因，再加上它本身是个开放源码的项目，可以直接集成到现有的应用程序中，发生错误也可以源代码的方式调试。以这种方式，可以将应用程序代码中，将需要动态编译的代码，转化为Script.NET的脚本，借助于Script.NET的强大功能，增加应用程序的灵活性。&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;&lt;span  style="color: #888888; font-family: verdana, ����, Arial; font-size: 12px; line-height: 16px;"&gt;官方网站&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;a href="http://www.protsyk.com/scriptdotnet/wiki/index.php?title=Main_Page" target="_blank" style="text-decoration: none; color: #000000; border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #333333; padding: 0px; margin: 0px;"&gt;http://www.protsyk.com/scriptdotnet/wiki/index.php?title=Main_Page&lt;/a&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;另外，老外也写了一篇文章在这里&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;a href="http://www.codeproject.com/KB/cs/ScriptNET.aspx" target="_blank" style="text-decoration: none; color: #000000; border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #333333; padding: 0px; margin: 0px;"&gt;http://www.codeproject.com/KB/cs/ScriptNET.aspx&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/sunjie9606/aggbug/2174392.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/sunjie9606/archive/2011/09/16/2174392.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/sunjie9606/archive/2011/09/16/2178240.html</id><title type="text">.NET 动态脚本语言Script.NET 应用举例</title><summary type="text">.NET 动态脚本语言Script.NET 应用举例</summary><published>2011-09-16T00:17:00Z</published><updated>2011-09-16T00:17:00Z</updated><author><name>sunjie</name><uri>http://www.cnblogs.com/sunjie9606/</uri></author><link rel="alternate" href="http://www.cnblogs.com/sunjie9606/archive/2011/09/16/2178240.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/sunjie9606/archive/2011/09/16/2178240.html"/><content type="html">&lt;h1  style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; font-weight: bold; color: #000000; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #dddddd; font-size: 14px; padding: 0px;"&gt;&lt;a id="ctl02_TitleUrl"  href="http://www.cnblogs.com/JamesLi2015/archive/2011/09/15/2177542.html" style="text-decoration: none; color: #399ab2; padding: 0px; margin: 0px;"&gt;.NET 动态脚本语言Script.NET 应用举例&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;div  style="clear: both; padding: 0px; margin: 0px;"&gt;&lt;/div&gt;&#xD;
&lt;div  style="font-size: 14px; line-height: 1.5; padding: 0px; margin: 0px;"&gt;&#xD;
&lt;div id="cnblogs_post_body" style="padding: 0px; margin: 0px;"&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;继续前面的两篇文章的动态脚本语言主题《&lt;a href="http://www.cnblogs.com/JamesLi2015/archive/2011/09/13/2174363.html" target="_blank" style="text-decoration: none; color: #000000; border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #333333; padding: 0px; margin: 0px;"&gt;.NET 动态脚本语言Script.NET 入门指南 Quick Start&lt;/a&gt;》和《&lt;a href="http://www.cnblogs.com/JamesLi2015/archive/2011/09/14/2175405.html" target="_blank" style="text-decoration: none; color: #000000; border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #333333; padding: 0px; margin: 0px;"&gt;.NET 动态脚本语言Script.NET 开发指南&lt;/a&gt;》，继续学习Script.NET的应用。&lt;/p&gt;&#xD;
&lt;h4 style="font-weight: bold; color: #000000; padding: 0px; margin: 0px;"&gt;类型定义 type definition&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;Script.NET不是OOP的语言，但可以借助于属性(property bags)来模拟类型定义。&lt;/p&gt;&#xD;
&lt;pre &gt;vector = [&#xD;
  x -&amp;gt; 4,&#xD;
  y -&amp;gt; 3,&#xD;
   length -&amp;gt; function() {&#xD;
       Math.Sqrt(me.x^2+me.y^2);&#xD;
   } &#xD;
  ];&#xD;
&#xD;
Console.WriteLine(vector.length());&lt;/pre&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;这段代码输出的结果是5，这里模拟向量类型的定义，并定义函数length计算向量的长度。me与C#中的this相似。&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;再来看下面的例子，同样也是模拟OOP语言的类型定义&lt;/p&gt;&#xD;
&lt;pre &gt;stack = [&#xD;
             Test -&amp;gt; function() { &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;return&lt;/span&gt; &lt;span  style="line-height: 1.5; color: #006080; padding: 0px; margin: 0px;"&gt;'Hello Test'&lt;/span&gt;;}&#xD;
        ];&#xD;
&lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;return&lt;/span&gt; stack.Test();&lt;/pre&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;在Script.IDE中运行这段代码，它的结果是输出字符串Hello Test。&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;在property bags中，用-&amp;gt;来指向定义的函数名称，对比一下Script.NET语法规定的函数定义&lt;/p&gt;&#xD;
&lt;pre &gt;function swap(array, a, b)&#xD;
{&#xD;
    tmp=array[a];&#xD;
    array[a]=array[b];&#xD;
    array[b]=tmp;&#xD;
}&lt;/pre&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;也可以这样的语法形式定义函数,和JavaScript函数定义相似&lt;/p&gt;&#xD;
&lt;pre &gt;Test = function (item) &#xD;
{&#xD;
     y = item;&#xD;
};&lt;/pre&gt;&#xD;
&lt;pre &gt;&lt;/pre&gt;&#xD;
&lt;h4 style="font-weight: bold; color: #000000; padding: 0px; margin: 0px;"&gt;函数的作用域 Function Scopes&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;先看一下Script.NET官方文档中的一张解释scope的图片&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/JamesLi2015/201109/201109151438546144.png" style="text-decoration: none; color: #000000; border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #333333; padding: 0px; margin: 0px;"&gt;&lt;img title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/JamesLi2015/201109/201109151438555097.png" width="383" height="287" style="border-style: initial; border-color: initial; display: inline; padding: 0px; margin: 0px;" /&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;程序语言中scope的作用是解析名称引用。比如，在C#中有如下的代码&lt;/p&gt;&#xD;
&lt;pre &gt;&lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;class&lt;/span&gt; Program&#xD;
{&#xD;
      &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;static&lt;/span&gt; &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;void&lt;/span&gt; Main(&lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;string&lt;/span&gt;[] args)&#xD;
      {    &#xD;
            &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;int&lt;/span&gt; x=100;&#xD;
            Add();           &#xD;
      }&#xD;
&#xD;
      &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;static&lt;/span&gt; &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;int&lt;/span&gt; Add()&#xD;
      {&#xD;
           &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;int&lt;/span&gt; x=10;&#xD;
           &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;return&lt;/span&gt; x;&#xD;
      }&#xD;
}&lt;/pre&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;通过运行代码，可以知道Add方法(method,也可叫function)返回的值是10。C#是纯粹pure的OOP语言，没有全局变量。C语言则可以包涵全局变量，它在解析名称引用(scope)方面会复杂很多。抱歉，对C语言相当陌生，不能举例说明。&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;来看几个例子，加深对scope的理解。&lt;/p&gt;&#xD;
&lt;pre &gt;a = 4; b = 2; c = 3;&#xD;
function test1(a,b)    global(c)&#xD;
{&#xD;
    c = a+b;&#xD;
    a = 15;&#xD;
}&#xD;
Console.WriteLine(test1(2,3));&lt;/pre&gt;&#xD;
&lt;pre &gt;Console.WriteLine( a);&lt;/pre&gt;&#xD;
&lt;pre &gt;Console.WriteLine( b);&lt;/pre&gt;&#xD;
&lt;pre &gt;Console.WriteLine( c);&lt;/pre&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;这次的函数定义稍微有些改变，在函数的参数列表之后，加了global(c) 以表示它的的作用域是global,全局的。&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;在Script.NET IDE中运行，结果如下&lt;/p&gt;&#xD;
&lt;pre &gt;15&#xD;
4&#xD;
2&#xD;
5&lt;/pre&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;这里先说明一下，函数如果没有定义return语句，则最后一个表达式的值，就是函数的返回值，所以test1(2,3)返回a=15;结果就是15。a和b的scope是local,在function中对它的改变，不会影响到它的值(这和C语言的堆栈定义，调用函数，取参数的副本，并把参数压入堆栈相同，如果要传入参数变量的引用，而不是副本，则要用到指针)。c因为定义为global，在函数test1中对它的改变，仍然会保留，所以最后一行输出结果5。&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;如果没有忘记前面的contract部分的内容，应该可以理解下面的函数定义格式。&lt;/p&gt;&#xD;
&lt;pre &gt;a = 4; b = 2; c = 3;&#xD;
function test1(a,b)   global(c)&#xD;
[&#xD;
    pre(a&amp;gt;0);&#xD;
    post();&#xD;
    invariant();&#xD;
]&#xD;
    {&#xD;
        c = a+b;&#xD;
        a = 15;&#xD;
    }&lt;/pre&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;如果在函数中应用global，却没有定义它的变量，像下面的语句，则会抛出异常ScriptIdNotFoundException&lt;/p&gt;&#xD;
&lt;pre &gt;Test = function (item) global(y)&#xD;
     {&#xD;
               y = item;&#xD;
      };&#xD;
Test(2);&lt;/pre&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;在C语言中，一定要先定义函数，再来调用函数，否则会找不到函数定义。如果要在定义函数的语句之前调用该函数，则需要前置声明。Visual C++中还要求在.h文件中声明类型和函数，在.cpp文件中实现，C#中则没有这个限制。&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;请看下面的代码&lt;/p&gt;&#xD;
&lt;pre &gt;&lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;return&lt;/span&gt; f();&#xD;
&#xD;
function f() {&lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;return&lt;/span&gt; 1;}&lt;/pre&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;在定义函数f的语句代码之前，可以调用它而不用写任何语句，多亏了编译技术的进步。&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;&lt;/p&gt;&#xD;
&lt;h4 style="font-weight: bold; color: #000000; padding: 0px; margin: 0px;"&gt;运算符指派 Operators Dispatching&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;在程序语言中，如果运算符号(+,-%&amp;hellip;)左右两边的类型不相同，则会发生类型转换，这还涉及到运算符号重载，比如加号+可以应用到数据运算，也可以应用于字符串连接。请体会下面的例子来理解运算符指派。&lt;/p&gt;&#xD;
&lt;pre &gt;Console.WriteLine( 1+1);                &lt;span  style="line-height: 1.5; color: #008000; padding: 0px; margin: 0px;"&gt;//2&lt;/span&gt;&#xD;
Console.WriteLine( 1.2+1 );              &lt;span  style="line-height: 1.5; color: #008000; padding: 0px; margin: 0px;"&gt;//2.2  &lt;/span&gt;&#xD;
Console.WriteLine( &lt;span  style="line-height: 1.5; color: #006080; padding: 0px; margin: 0px;"&gt;'1'&lt;/span&gt;+1 );              &lt;span  style="line-height: 1.5; color: #008000; padding: 0px; margin: 0px;"&gt;//11&lt;/span&gt;&#xD;
Console.WriteLine( &lt;span  style="line-height: 1.5; color: #006080; padding: 0px; margin: 0px;"&gt;'Hello '&lt;/span&gt;+1+&lt;span  style="line-height: 1.5; color: #006080; padding: 0px; margin: 0px;"&gt;' Text'&lt;/span&gt; ); &lt;span  style="line-height: 1.5; color: #008000; padding: 0px; margin: 0px;"&gt;//Hello 1 Text&lt;/span&gt;&#xD;
Console.WriteLine( 10-1);       &lt;span  style="line-height: 1.5; color: #008000; padding: 0px; margin: 0px;"&gt;//9&lt;/span&gt;&#xD;
Console.WriteLine( 1.2-1);      &lt;span  style="line-height: 1.5; color: #008000; padding: 0px; margin: 0px;"&gt;//1.2-1=0.2&lt;/span&gt;&#xD;
Console.WriteLine( 10*12);      &lt;span  style="line-height: 1.5; color: #008000; padding: 0px; margin: 0px;"&gt;//10*12&lt;/span&gt;&#xD;
Console.WriteLine( 3.2*3);      &lt;span  style="line-height: 1.5; color: #008000; padding: 0px; margin: 0px;"&gt;//(double)3.2*3=9.6&lt;/span&gt;&#xD;
Console.WriteLine( 3.5*21.5);   &lt;span  style="line-height: 1.5; color: #008000; padding: 0px; margin: 0px;"&gt;//(double)3.5 * 21.5=75.25&lt;/span&gt;&#xD;
Console.WriteLine( 6/2);        &lt;span  style="line-height: 1.5; color: #008000; padding: 0px; margin: 0px;"&gt;//6 / 2 =3&lt;/span&gt;&#xD;
Console.WriteLine( 10/12);      &lt;span  style="line-height: 1.5; color: #008000; padding: 0px; margin: 0px;"&gt;//10 / 12 =0&lt;/span&gt;&#xD;
Console.WriteLine( 45.43/12.3); &lt;span  style="line-height: 1.5; color: #008000; padding: 0px; margin: 0px;"&gt;//(double)45.43 / 12.3=.69349593495935&lt;/span&gt;&#xD;
Console.WriteLine( 3.5/21);     &lt;span  style="line-height: 1.5; color: #008000; padding: 0px; margin: 0px;"&gt;//(double)3.5 / 21=0.166666666666667&lt;/span&gt;&#xD;
Console.WriteLine( 3/21.2);     &lt;span  style="line-height: 1.5; color: #008000; padding: 0px; margin: 0px;"&gt;//3 / (double)21.2=0=0.141509433962264&lt;/span&gt;&#xD;
Console.WriteLine( 6%2);        &lt;span  style="line-height: 1.5; color: #008000; padding: 0px; margin: 0px;"&gt;//6 % 2=0&lt;/span&gt;&#xD;
Console.WriteLine( 10%12);      &lt;span  style="line-height: 1.5; color: #008000; padding: 0px; margin: 0px;"&gt;//10 % 12=10&lt;/span&gt;&#xD;
Console.WriteLine( 45.43%12.3); &lt;span  style="line-height: 1.5; color: #008000; padding: 0px; margin: 0px;"&gt;//(double)45.43 % 12.3=8.53&lt;/span&gt;&#xD;
Console.WriteLine( 6^2);        &lt;span  style="line-height: 1.5; color: #008000; padding: 0px; margin: 0px;"&gt;//Math.Pow(6, 2)=36    &lt;/span&gt;&lt;/pre&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;如果运算符号不支持两边的数据类型，则发抛出异常NotSupportedException。比如&lt;/p&gt;&#xD;
&lt;pre &gt;Console.WriteLine( &lt;span  style="line-height: 1.5; color: #006080; padding: 0px; margin: 0px;"&gt;'1'&lt;/span&gt;-1 );  //NotSupportedException&lt;/pre&gt;&#xD;
&lt;pre &gt;&lt;/pre&gt;&#xD;
&lt;h4 style="font-weight: bold; color: #000000; padding: 0px; margin: 0px;"&gt;Scripting Runtime 运行时&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;Script.NET的作者画了一张漂亮的Runtime图，以解释他们的作用。&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/JamesLi2015/201109/201109151438555130.png" style="text-decoration: none; color: #000000; border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #333333; padding: 0px; margin: 0px;"&gt;&lt;img title="Runtime" border="0" alt="Runtime" src="http://images.cnblogs.com/cnblogs_com/JamesLi2015/201109/201109151438559623.png" width="764" height="463" style="border-style: initial; border-color: initial; display: inline; padding: 0px; margin: 0px;" /&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;pre &gt;这个图可以解释下面的代码，为什么不需要添加类型Test的定义，也可以找到Test类型&lt;/pre&gt;&#xD;
&lt;pre &gt;&lt;span  style="line-height: 1.5; color: #008000; padding: 0px; margin: 0px;"&gt;//RuntimeHost.AddType("TestT", typeof(TestT));&lt;/span&gt;&#xD;
Test rez = (Test)Script.RunCode(&lt;span  style="line-height: 1.5; color: #006080; padding: 0px; margin: 0px;"&gt;@"&#xD;
         a = new Test();&#xD;
         a.value = 'test';&#xD;
         a.intVal = 20;&#xD;
&#xD;
         return a; "&lt;/span&gt;)&lt;/pre&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;原因就在AssemblyManager,它会sacn当前app domain中的程序集以及其中的类型定义，加入到Script Runtime中。&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;如果还记得前面文章中提到的RuntimeConfig.xml文件，它会在runtime 启动时，加载需要的程序集，类型映射，和初试代码片段。可以通过修改ScriptDotNet项目中的这个Embedded Resource的文件，达到初试化的目的。&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/JamesLi2015/201109/201109151438562688.png" style="text-decoration: none; color: #000000; border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #333333; padding: 0px; margin: 0px;"&gt;&lt;img title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/JamesLi2015/201109/20110915143856213.png" width="220" height="244" style="border-style: initial; border-color: initial; display: inline; padding: 0px; margin: 0px;" /&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;也可以用下面的方法，加载自定义的runtime configuration。&lt;/p&gt;&#xD;
&lt;pre &gt;&lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;public&lt;/span&gt; &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;static&lt;/span&gt; Stream TestConfig&#xD;
{&#xD;
      get&#xD;
      {&#xD;
        Stream configStream = Assembly.GetExecutingAssembly().GetManifestResourceStream                                (&lt;span  style="line-height: 1.5; color: #006080; padding: 0px; margin: 0px;"&gt;"UnitTests.TestConfig.xml"&lt;/span&gt;);&#xD;
        configStream.Seek(0, SeekOrigin.Begin);&#xD;
        &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;return&lt;/span&gt; configStream;&#xD;
      }&#xD;
}&#xD;
&#xD;
RuntimeHost.AssemblyManager = &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;new&lt;/span&gt; BaseAssemblyManager();&#xD;
RuntimeHost.Initialize(TestConfig);&lt;/pre&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;RuntimeHost.Initialize();这一句是必须调用的，传入Stream对象，还可以这样调用&lt;/p&gt;&#xD;
&lt;pre &gt;RuntimeHost.Initialize(&lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;new&lt;/span&gt; FileStream(&lt;span  style="line-height: 1.5; color: #006080; padding: 0px; margin: 0px;"&gt;"RuntimeConfig.xml"&lt;/span&gt;,FileMode.Open));&lt;/pre&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;可以像下面的代码定义，这样阻止load程序集&lt;/p&gt;&#xD;
&lt;pre &gt;RuntimeHost.AssemblyManager.BeforeAddAssembly +=&#xD;
    (s, e) =&amp;gt; {&#xD;
       &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;if&lt;/span&gt; (e.Assembly.FullName != &lt;span  style="line-height: 1.5; color: #006080; padding: 0px; margin: 0px;"&gt;"System.Data, Version=2.0.0.0, Culture=neutral,                                                            PublicKeyToken=b77a5c561934e089"&lt;/span&gt;)&#xD;
            &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;throw&lt;/span&gt; &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;new&lt;/span&gt; Exception();&#xD;
        };&lt;/pre&gt;&#xD;
&lt;pre &gt;&lt;/pre&gt;&#xD;
&lt;h4 style="font-weight: bold; color: #000000; padding: 0px; margin: 0px;"&gt;自定义运算符 Custom operator&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;再来看一个运算符的例子，我希望1234,$1234,都可以表示货币数量，$这个符号没有内置在系统的运算符中，需要用下面的方法，添加进来。&lt;/p&gt;&#xD;
&lt;pre &gt;&lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;private&lt;/span&gt; &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;class&lt;/span&gt; DollarHandler : IOperatorHandler&#xD;
{    &#xD;
      &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;public&lt;/span&gt; &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;object&lt;/span&gt; Process(HandleOperatorArgs args)&#xD;
      {&#xD;
        &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;if&lt;/span&gt; (args.Arguments != &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;null&lt;/span&gt; &amp;amp;&amp;amp; args.Arguments.Length == 1)&#xD;
        {&#xD;
          &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;string&lt;/span&gt; &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;value&lt;/span&gt; = (&lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;string&lt;/span&gt;)args.Arguments[0];&#xD;
          args.Cancel = &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;true&lt;/span&gt;;&#xD;
          &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;return&lt;/span&gt; &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;int&lt;/span&gt;.Parse(&lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;value&lt;/span&gt;);&#xD;
        }&#xD;
        &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;throw&lt;/span&gt; &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;new&lt;/span&gt; NotSupportedException();&#xD;
    }&#xD;
}&#xD;
 &#xD;
RuntimeHost.Initialize(TestConfig);&#xD;
RuntimeHost.RegisterOperatorHandler(&lt;span  style="line-height: 1.5; color: #006080; padding: 0px; margin: 0px;"&gt;"$"&lt;/span&gt;, &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;new&lt;/span&gt; DollarHandler());&#xD;
&#xD;
Script script = Script.Compile(&lt;span  style="line-height: 1.5; color: #006080; padding: 0px; margin: 0px;"&gt;@"&#xD;
              return $'1234';   "&lt;/span&gt;);&#xD;
&lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;object&lt;/span&gt; rez = script.Execute();&lt;/pre&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;通过Debug代码，可以看到rez的值是1234,没有抛出异常。&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;&lt;/p&gt;&#xD;
&lt;h4 style="font-weight: bold; color: #000000; padding: 0px; margin: 0px;"&gt;扩展类型的函数 Custom type&amp;rsquo;s function&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;再看下面的例子，Script.NET内置的类型没有ToString函数，我要给它扩展，添加ToString函数。&lt;/p&gt;&#xD;
&lt;pre &gt;&lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;private&lt;/span&gt; &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;class&lt;/span&gt; MyBinder : ObjectBinder&#xD;
    {&#xD;
      &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;public&lt;/span&gt; &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;override&lt;/span&gt; &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;bool&lt;/span&gt; CanBind(MemberInfo member)&#xD;
      {&#xD;
          &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;if&lt;/span&gt; (member.Name == &lt;span  style="line-height: 1.5; color: #006080; padding: 0px; margin: 0px;"&gt;"ToString"&lt;/span&gt;)&#xD;
              &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;return&lt;/span&gt; &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;true&lt;/span&gt;;         &#xD;
        &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;return&lt;/span&gt; &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;base&lt;/span&gt;.CanBind(member);&#xD;
      }&#xD;
      &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;public&lt;/span&gt; &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;object&lt;/span&gt; ConvertTo(&lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;object&lt;/span&gt; &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;value&lt;/span&gt;, Type targetType)&#xD;
      {&#xD;
          &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;return&lt;/span&gt; &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;value&lt;/span&gt;.ToString();&#xD;
      }&#xD;
}&lt;/pre&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;再来举例调用上面添加的函数&lt;/p&gt;&#xD;
&lt;pre &gt;RuntimeHost.Binder = &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;new&lt;/span&gt; MyBinder();&#xD;
RuntimeHost.Initialize(TestConfig);&#xD;
&#xD;
Script script = Script.Compile(&lt;span  style="line-height: 1.5; color: #006080; padding: 0px; margin: 0px;"&gt;@"&#xD;
            b = 'a';&#xD;
            b.ToString();&#xD;
            money=100;&#xD;
            money.ToString();&#xD;
       "&lt;/span&gt;);&#xD;
&lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;object&lt;/span&gt; obj=script.Execute();&lt;/pre&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;返回结果obj的值是100。这使我想到了C#的扩展方法，如下所示&lt;/p&gt;&#xD;
&lt;pre &gt;&lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;public&lt;/span&gt; &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;class&lt;/span&gt; DecimalHelper&#xD;
 {&#xD;
        &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;public&lt;/span&gt; &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;static&lt;/span&gt; &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;string&lt;/span&gt; ToString(&lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;this&lt;/span&gt; &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;decimal&lt;/span&gt; obj)&#xD;
        {&#xD;
            &lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;return&lt;/span&gt; obj.ToString();&#xD;
        }&#xD;
 }&lt;/pre&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;下面这样的代码是可以通过编译的&lt;/p&gt;&#xD;
&lt;pre &gt;&lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;decimal&lt;/span&gt; money = 100;&#xD;
&lt;span  style="line-height: 1.5; color: #0000ff; padding: 0px; margin: 0px;"&gt;string&lt;/span&gt; howMuch=money.ToString();&lt;/pre&gt;&#xD;
&lt;p style="margin-top: 5px; margin-bottom: 5px; padding: 0px;"&gt;这两者非常的相似。C#中的decimal有对象System.Decimal来表达同等的含义，而Script.NET没有对象的概念，只有基础的数据类型double,long,string,bool和数组array，同样可以做到扩展函数的功能。&lt;/p&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;/div&gt;&lt;img src="http://www.cnblogs.com/sunjie9606/aggbug/2178240.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/sunjie9606/archive/2011/09/16/2178240.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry></feed>
