<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:blogChannel="http://backend.userland.com/blogChannelModule" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
  <channel>
    <title>AListForEverything</title>
    <description>Getting through life one checkbox at a time</description>
    <link>http://www.alistforeverything.com/</link>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>BlogEngine.Net Syndication Generator 1.0.0.0 (http://dotnetblogengine.net/)</generator>
    <language>en-GB</language>
    <blogChannel:blogRoll>http://www.alistforeverything.com/opml.axd</blogChannel:blogRoll>
    <blogChannel:blink>http://www.dotnetblogengine.net/syndication.axd</blogChannel:blink>
    <dc:creator>Steve Nyholm</dc:creator>
    <dc:title>AListForEverything</dc:title>
    <geo:lat>38.556210</geo:lat>
    <geo:long>-121.760500</geo:long>
    
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/Alistforeverything" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
      <title>How Styles and ControlTemplates Work: The Control Contract</title>
      <description>&lt;p&gt;&lt;em&gt;TECHNOLOGY USED: SILVERLIGHT 2, BETA 1&lt;/em&gt;&lt;/p&gt; &lt;p&gt;I recently posted some simple examples that demonstrate the power of &lt;a href="http://www.alistforeverything.com/post/2008/05/Silverlight-Skinning-with-Style.aspx"&gt;Styles&lt;/a&gt; and &lt;a href="http://www.alistforeverything.com/post/2008/05/Silverlight-Skinning-with-ControlTemplates.aspx"&gt;ControlTemplates&lt;/a&gt; to skin your Silverlight applications.&amp;nbsp; Now let's talk about how it works.&amp;nbsp; Controls can be built to separate their visual appearance (i.e., the rectangular shape) from their behavior (i.e., firing a Click event).&amp;nbsp; This separation is facilitated with a "control contract" that implements the "parts control model."&amp;nbsp; This approach separates the appearance of the control into TemplateParts that can be replaced via ControlTemplates.&amp;nbsp; The contract specifies the following three items: &lt;/p&gt; &lt;ul&gt; &lt;li&gt;Public properties that can be set using Styles or inline property assignments  &lt;ul&gt; &lt;li&gt;&lt;font color="#000080"&gt;Defined as public DependencyProperty&lt;/font&gt;&lt;/li&gt;&lt;/ul&gt; &lt;li&gt;UIElement objects that define the appearance  &lt;ul&gt; &lt;li&gt;&lt;font color="#000080"&gt;Defined with TemplatePart attributes&lt;/font&gt;&lt;/li&gt;&lt;/ul&gt; &lt;li&gt;Storyboard objects that define how the control changes appearance in response to events  &lt;ul&gt; &lt;li&gt;&lt;font color="#000080"&gt;Defined with TemplatePart attributes&lt;/font&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;The &lt;a href="http://msdn.microsoft.com/en-us/library/cc189093(vs.95).aspx"&gt;Styling and Templating Overview&lt;/a&gt; provides this simple example of a control contract: &lt;/p&gt; &lt;div class="VSCode" style="font-size: 10pt; font-family: monospace; background-color: white"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&lt;span style="color: #2b91af"&gt;TemplatePart&lt;/span&gt;&lt;span style="color: black"&gt;(Name = &lt;/span&gt;&lt;span style="color: #a31515"&gt;"RootElement"&lt;/span&gt;&lt;span style="color: black"&gt;, Type = &lt;/span&gt;&lt;span style="color: blue"&gt;typeof&lt;/span&gt;&lt;span style="color: black"&gt;(&lt;/span&gt;&lt;span style="color: #2b91af"&gt;FrameworkElement&lt;/span&gt;&lt;span style="color: black"&gt;))]&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&lt;/span&gt;&lt;span style="color: #2b91af"&gt;TemplatePart&lt;/span&gt;&lt;span style="color: black"&gt;(Name = &lt;/span&gt;&lt;span style="color: #a31515"&gt;"FocusVisualElement"&lt;/span&gt;&lt;span style="color: black"&gt;, Type = &lt;/span&gt;&lt;span style="color: blue"&gt;typeof&lt;/span&gt;&lt;span style="color: black"&gt;(&lt;/span&gt;&lt;span style="color: #2b91af"&gt;FrameworkElement&lt;/span&gt;&lt;span style="color: black"&gt;))]&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&lt;/span&gt;&lt;span style="color: #2b91af"&gt;TemplatePart&lt;/span&gt;&lt;span style="color: black"&gt;(Name = &lt;/span&gt;&lt;span style="color: #a31515"&gt;"Normal State"&lt;/span&gt;&lt;span style="color: black"&gt;, Type = &lt;/span&gt;&lt;span style="color: blue"&gt;typeof&lt;/span&gt;&lt;span style="color: black"&gt;(&lt;/span&gt;&lt;span style="color: #2b91af"&gt;Storyboard&lt;/span&gt;&lt;span style="color: black"&gt;))]&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&lt;/span&gt;&lt;span style="color: #2b91af"&gt;TemplatePart&lt;/span&gt;&lt;span style="color: black"&gt;(Name = &lt;/span&gt;&lt;span style="color: #a31515"&gt;"MouseOver State"&lt;/span&gt;&lt;span style="color: black"&gt;, Type = &lt;/span&gt;&lt;span style="color: blue"&gt;typeof&lt;/span&gt;&lt;span style="color: black"&gt;(&lt;/span&gt;&lt;span style="color: #2b91af"&gt;Storyboard&lt;/span&gt;&lt;span style="color: black"&gt;))]&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&lt;/span&gt;&lt;span style="color: #2b91af"&gt;TemplatePart&lt;/span&gt;&lt;span style="color: black"&gt;(Name = &lt;/span&gt;&lt;span style="color: #a31515"&gt;"Pressed State"&lt;/span&gt;&lt;span style="color: black"&gt;, Type = &lt;/span&gt;&lt;span style="color: blue"&gt;typeof&lt;/span&gt;&lt;span style="color: black"&gt;(&lt;/span&gt;&lt;span style="color: #2b91af"&gt;Storyboard&lt;/span&gt;&lt;span style="color: black"&gt;))]&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;public&lt;/span&gt;&lt;span style="color: black"&gt; &lt;/span&gt;&lt;span style="color: blue"&gt;class&lt;/span&gt;&lt;span style="color: black"&gt; &lt;/span&gt;&lt;span style="color: #2b91af"&gt;MyButton&lt;/span&gt;&lt;span style="color: black"&gt; : &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Control&lt;/span&gt;&lt;span style="color: black"&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; &lt;/span&gt;&lt;span style="color: blue"&gt;public&lt;/span&gt;&lt;span style="color: black"&gt; &lt;/span&gt;&lt;span style="color: blue"&gt;static&lt;/span&gt;&lt;span style="color: black"&gt; &lt;/span&gt;&lt;span style="color: blue"&gt;readonly&lt;/span&gt;&lt;span style="color: black"&gt; &lt;/span&gt;&lt;span style="color: #2b91af"&gt;DependencyProperty&lt;/span&gt;&lt;span style="color: black"&gt; TextProperty;&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; &lt;/span&gt;&lt;span style="color: blue"&gt;public&lt;/span&gt;&lt;span style="color: black"&gt; &lt;/span&gt;&lt;span style="color: blue"&gt;static&lt;/span&gt;&lt;span style="color: black"&gt; &lt;/span&gt;&lt;span style="color: blue"&gt;readonly&lt;/span&gt;&lt;span style="color: black"&gt; &lt;/span&gt;&lt;span style="color: #2b91af"&gt;DependencyProperty&lt;/span&gt;&lt;span style="color: black"&gt; ForegroundProperty;&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; &lt;/span&gt;&lt;span style="color: blue"&gt;public&lt;/span&gt;&lt;span style="color: black"&gt; &lt;/span&gt;&lt;span style="color: blue"&gt;static&lt;/span&gt;&lt;span style="color: black"&gt; &lt;/span&gt;&lt;span style="color: blue"&gt;readonly&lt;/span&gt;&lt;span style="color: black"&gt; &lt;/span&gt;&lt;span style="color: #2b91af"&gt;DependencyProperty&lt;/span&gt;&lt;span style="color: black"&gt; FontSizeProperty;&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; &lt;/span&gt;&lt;span style="color: blue"&gt;public&lt;/span&gt;&lt;span style="color: black"&gt; &lt;/span&gt;&lt;span style="color: blue"&gt;string&lt;/span&gt;&lt;span style="color: black"&gt; Text { &lt;/span&gt;&lt;span style="color: blue"&gt;get&lt;/span&gt;&lt;span style="color: black"&gt;; &lt;/span&gt;&lt;span style="color: blue"&gt;set&lt;/span&gt;&lt;span style="color: black"&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; &lt;/span&gt;&lt;span style="color: blue"&gt;public&lt;/span&gt;&lt;span style="color: black"&gt; &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Brush&lt;/span&gt;&lt;span style="color: black"&gt; Foreground { &lt;/span&gt;&lt;span style="color: blue"&gt;get&lt;/span&gt;&lt;span style="color: black"&gt;; &lt;/span&gt;&lt;span style="color: blue"&gt;set&lt;/span&gt;&lt;span style="color: black"&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; &lt;/span&gt;&lt;span style="color: blue"&gt;public&lt;/span&gt;&lt;span style="color: black"&gt; &lt;/span&gt;&lt;span style="color: blue"&gt;double&lt;/span&gt;&lt;span style="color: black"&gt; FontSize { &lt;/span&gt;&lt;span style="color: blue"&gt;get&lt;/span&gt;&lt;span style="color: black"&gt;; &lt;/span&gt;&lt;span style="color: blue"&gt;set&lt;/span&gt;&lt;span style="color: black"&gt;; }&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&lt;/span&gt;&lt;/div&gt; &lt;p&gt;Learning about the control contract, or parts control model, will provide you with a deeper understanding of Styles and ControlTemplates.&amp;nbsp; New controls should be written with a control contract to allow others to skin them.&amp;nbsp; &lt;/p&gt;</description>
      <link>http://www.alistforeverything.com/post/2008/05/How-Styles-and-ControlTemplates-Work-The-Control-Contract.aspx</link>
      <dc:creator>snyhol</dc:creator>
      <comments>http://www.alistforeverything.com/post/2008/05/How-Styles-and-ControlTemplates-Work-The-Control-Contract.aspx#comment</comments>
      <guid>http://www.alistforeverything.com/post.aspx?id=9a9e8898-75c3-46b4-bbbf-058f9447bb70</guid>
      <pubDate>Mon, 26 May 2008 22:25:33 -0700</pubDate>
      <category>Software Dev</category>
      <dc:publisher>snyhol</dc:publisher>
      <pingback:server>http://www.alistforeverything.com/pingback.axd</pingback:server>
      <pingback:target>http://www.alistforeverything.com/post.aspx?id=9a9e8898-75c3-46b4-bbbf-058f9447bb70</pingback:target>
      <slash:comments>24</slash:comments>
      <lastBuildDate>Fri, 30 Oct 2009 03:06:10 -0700</lastBuildDate>
      <trackback:ping>http://www.alistforeverything.com/trackback.axd?id=9a9e8898-75c3-46b4-bbbf-058f9447bb70</trackback:ping>
      <wfw:comment>http://www.alistforeverything.com/post/2008/05/How-Styles-and-ControlTemplates-Work-The-Control-Contract.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.alistforeverything.com/syndication.axd?post=9a9e8898-75c3-46b4-bbbf-058f9447bb70</wfw:commentRss>
    </item>
    <item>
      <title>How to Type Spanish Characters</title>
      <description>&lt;p&gt;Sometimes you need to type characters that are not on an English-based keyboard.&amp;nbsp; For example, if you need to type the word "Español" with a tilde accent over the "n" - or other Spanish words, like "¡Sí!" or "¿Como estas?"&amp;nbsp; You can use special key sequences to add those characters.&amp;nbsp;&amp;nbsp; The sequence you use depends on the operating system and application you are using.&amp;nbsp; Below is a reference for adding Spanish characters.&amp;nbsp; I also included links to good references that explain how to add other characters and symbols, like ô, æ, «, £, ÷, ½, ©, and many more.  &lt;h2&gt;&lt;b&gt;Method #1: Windows computer, Microsoft Word &lt;/b&gt;&lt;/h2&gt; &lt;p&gt;Reference: &lt;a href="http://tlt.psu.edu/suggestions/international/accents/codeword.html"&gt;http://tlt.psu.edu/suggestions/international/accents/codeword.html&lt;/a&gt;  &lt;p&gt;&lt;strong&gt;Letters that use the “Tilde” accent, like ñ:&lt;/strong&gt;  &lt;ul&gt; &lt;li&gt;press and hold the following keys &amp;lt;&amp;lt; CTRL &amp;gt;&amp;gt;&amp;nbsp; +&amp;nbsp; &amp;lt;&amp;lt; SHIFT &amp;gt;&amp;gt;&amp;nbsp; +&amp;nbsp; &amp;lt;&amp;lt; ~ &amp;gt;&amp;gt;  &lt;li&gt;let go of those keys  &lt;li&gt;press the &amp;lt;&amp;lt; n &amp;gt;&amp;gt; key for lowercase, or press the &amp;lt;&amp;lt; SHIFT &amp;gt;&amp;gt;&amp;nbsp; +&amp;nbsp; &amp;lt;&amp;lt; N &amp;gt;&amp;gt; keys for uppercase&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;Letters that use the “Acute” accent, like á:&lt;/strong&gt;  &lt;ul&gt; &lt;li&gt;press and hold the following keys &amp;lt;&amp;lt; CTRL &amp;gt;&amp;gt;&amp;nbsp; +&amp;nbsp; &amp;lt;&amp;lt; ‘ &amp;gt;&amp;gt;  &lt;li&gt;let go of those keys  &lt;li&gt;press the &amp;lt;&amp;lt; a &amp;gt;&amp;gt; key for lowercase, or press the &amp;lt;&amp;lt; SHIFT &amp;gt;&amp;gt;&amp;nbsp; +&amp;nbsp; &amp;lt;&amp;lt; A &amp;gt;&amp;gt; keys for uppercase&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;Letters that use the “Umlaut” accent, like ü:&lt;/strong&gt;  &lt;ul&gt; &lt;li&gt;press and hold the following keys &amp;lt;&amp;lt; CTRL &amp;gt;&amp;gt;&amp;nbsp; +&amp;nbsp; &amp;lt;&amp;lt; SHIFT &amp;gt;&amp;gt;&amp;nbsp; +&amp;nbsp; &amp;lt;&amp;lt; : &amp;gt;&amp;gt;  &lt;li&gt;let go of those keys  &lt;li&gt;press the &amp;lt;&amp;lt; u &amp;gt;&amp;gt; key for lowercase, or press the &amp;lt;&amp;lt; SHIFT &amp;gt;&amp;gt;&amp;nbsp; +&amp;nbsp; &amp;lt;&amp;lt; U &amp;gt;&amp;gt; keys for uppercase&lt;/li&gt;&lt;/ul&gt; &lt;h2&gt;&lt;b&gt;Method #2: Windows computer, any program &lt;/b&gt;&lt;/h2&gt; &lt;p&gt;Reference: &lt;a href="http://tlt.psu.edu/suggestions/international/accents/codealt.html#accent"&gt;http://tlt.psu.edu/suggestions/international/accents/codealt.html#accent&lt;/a&gt;  &lt;p&gt;Follow these steps:  &lt;ul&gt; &lt;li&gt;press and hold the &amp;lt;&amp;lt; ALT &amp;gt;&amp;gt; key  &lt;li&gt;while holding down the &amp;lt;&amp;lt; ALT &amp;gt;&amp;gt; key, use the &lt;strong&gt;numeric keypad&lt;/strong&gt; to type a special code  &lt;li&gt;let go of the &amp;lt;&amp;lt; ALT &amp;gt;&amp;gt; key&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Here are the codes:  &lt;p&gt;&lt;strong&gt;Letters that use the “Tilde” accent&lt;strong&gt;, like ñ:&lt;/strong&gt; &lt;/strong&gt; &lt;blockquote&gt; &lt;p&gt;&lt;font face="Courier New"&gt;&lt;b&gt;Ñ&amp;nbsp; &lt;/b&gt;0209 &lt;/font&gt; &lt;p&gt;&lt;font face="Courier New"&gt;&lt;b&gt;ñ&amp;nbsp; &lt;/b&gt;0241&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;strong&gt;Letters that use the “Acute” accent&lt;strong&gt;, like á:&lt;/strong&gt; &lt;/strong&gt; &lt;blockquote&gt; &lt;p&gt;&lt;font face="Courier New"&gt;&lt;b&gt;Á&amp;nbsp; &lt;/b&gt;0193 &lt;/font&gt; &lt;p&gt;&lt;font face="Courier New"&gt;&lt;b&gt;á&amp;nbsp; &lt;/b&gt;0225 &lt;/font&gt; &lt;p&gt;&lt;font face="Courier New"&gt;&lt;b&gt;É&amp;nbsp; &lt;/b&gt;0201 &lt;/font&gt; &lt;p&gt;&lt;font face="Courier New"&gt;&lt;b&gt;é&amp;nbsp; &lt;/b&gt;0233 &lt;/font&gt; &lt;p&gt;&lt;font face="Courier New"&gt;&lt;b&gt;Í&amp;nbsp; &lt;/b&gt;0205 &lt;/font&gt; &lt;p&gt;&lt;font face="Courier New"&gt;&lt;b&gt;í&lt;/b&gt;&amp;nbsp; 0237 &lt;/font&gt; &lt;p&gt;&lt;font face="Courier New"&gt;&lt;b&gt;Ó&lt;/b&gt;&amp;nbsp; 0211 &lt;/font&gt; &lt;p&gt;&lt;font face="Courier New"&gt;&lt;b&gt;ó&lt;/b&gt;&amp;nbsp; 0243 &lt;/font&gt; &lt;p&gt;&lt;font face="Courier New"&gt;&lt;b&gt;Ú&lt;/b&gt;&amp;nbsp; 0218 &lt;/font&gt; &lt;p&gt;&lt;font face="Courier New"&gt;&lt;b&gt;ú&lt;/b&gt;&amp;nbsp; 0250 &lt;/font&gt; &lt;p&gt;&lt;font face="Courier New"&gt;&lt;b&gt;Ý&lt;/b&gt;&amp;nbsp; 0221 &lt;/font&gt; &lt;p&gt;&lt;font face="Courier New"&gt;&lt;b&gt;ý&lt;/b&gt;&amp;nbsp; 0253&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;strong&gt;Letters that use the “Umlaut” accent&lt;strong&gt;, like ü:&lt;/strong&gt; &lt;/strong&gt;&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;font face="Courier New"&gt;&lt;strong&gt;Ü&lt;/strong&gt;&amp;nbsp; 0220&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Courier New"&gt;&lt;strong&gt;ü&lt;/strong&gt;&amp;nbsp; 0252&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;h2&gt;&lt;b&gt;Method #3: Macintosh computer, any program &lt;/b&gt;&lt;/h2&gt; &lt;p&gt;Reference: &lt;a href="http://tlt.psu.edu/suggestions/international/accents/codemac.html#accent"&gt;http://tlt.psu.edu/suggestions/international/accents/codemac.html#accent&lt;/a&gt;  &lt;p&gt;&lt;strong&gt;Letters that use the “Tilde” accent, like ñ: &lt;/strong&gt; &lt;ul&gt; &lt;li&gt;press and hold the following keys &amp;lt;&amp;lt; OPTION &amp;gt;&amp;gt;&amp;nbsp; +&amp;nbsp; &amp;lt;&amp;lt; N &amp;gt;&amp;gt;  &lt;li&gt;let go of those keys  &lt;li&gt;press the &amp;lt;&amp;lt; n &amp;gt;&amp;gt; key for lowercase, or press the &amp;lt;&amp;lt; SHIFT &amp;gt;&amp;gt;&amp;nbsp; +&amp;nbsp; &amp;lt;&amp;lt; N &amp;gt;&amp;gt; keys for uppercase&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;Letters that use the “Acute” accent, like á:&lt;/strong&gt;  &lt;ul&gt; &lt;li&gt;press and hold the following keys &amp;lt;&amp;lt; OPTION &amp;gt;&amp;gt;&amp;nbsp; +&amp;nbsp; &amp;lt;&amp;lt; E &amp;gt;&amp;gt;  &lt;li&gt;let go of those keys  &lt;li&gt;press the &amp;lt;&amp;lt; a &amp;gt;&amp;gt; key for lowercase, or press the &amp;lt;&amp;lt; SHIFT &amp;gt;&amp;gt;&amp;nbsp; +&amp;nbsp; &amp;lt;&amp;lt; A &amp;gt;&amp;gt; keys for uppercase&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;Letters that use the “Umlaut” accent, like ü:&lt;/strong&gt;  &lt;ul&gt; &lt;li&gt;press and hold the following keys &amp;lt;&amp;lt; OPTION &amp;gt;&amp;gt;&amp;nbsp; +&amp;nbsp; &amp;lt;&amp;lt; U &amp;gt;&amp;gt;  &lt;li&gt;let go of those keys  &lt;li&gt;press the &amp;lt;&amp;lt; u &amp;gt;&amp;gt; key for lowercase, or press the &amp;lt;&amp;lt; SHIFT &amp;gt;&amp;gt;&amp;nbsp; +&amp;nbsp; &amp;lt;&amp;lt; U &amp;gt;&amp;gt; keys for uppercase&lt;/li&gt;&lt;/ul&gt; &lt;h2&gt;&lt;b&gt;Conclusion&lt;/b&gt;&lt;/h2&gt; &lt;p&gt;Yay, now you have the tools to make non-English letters and special characters.&amp;nbsp; It's a bother to have to look up and enter the secret key-press sequences... but it's a lot better than not being able to use them at all!&amp;nbsp; For web developers, check out &lt;a href="http://webdesign.about.com/od/localization/l/blhtmlcodes-sp.htm"&gt;HTML Codes for Spanish&lt;/a&gt;.&lt;/p&gt;</description>
      <link>http://www.alistforeverything.com/post/2008/05/How-to-Type-Espanol-Characters.aspx</link>
      <dc:creator>snyhol</dc:creator>
      <comments>http://www.alistforeverything.com/post/2008/05/How-to-Type-Espanol-Characters.aspx#comment</comments>
      <guid>http://www.alistforeverything.com/post.aspx?id=e2f77edc-d6c0-4bf8-af33-33dec03d334f</guid>
      <pubDate>Mon, 26 May 2008 22:22:00 -0700</pubDate>
      <category>Productivity</category>
      <dc:publisher>snyhol</dc:publisher>
      <pingback:server>http://www.alistforeverything.com/pingback.axd</pingback:server>
      <pingback:target>http://www.alistforeverything.com/post.aspx?id=e2f77edc-d6c0-4bf8-af33-33dec03d334f</pingback:target>
      <slash:comments>13</slash:comments>
      <lastBuildDate>Fri, 30 Oct 2009 03:06:10 -0700</lastBuildDate>
      <trackback:ping>http://www.alistforeverything.com/trackback.axd?id=e2f77edc-d6c0-4bf8-af33-33dec03d334f</trackback:ping>
      <wfw:comment>http://www.alistforeverything.com/post/2008/05/How-to-Type-Espanol-Characters.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.alistforeverything.com/syndication.axd?post=e2f77edc-d6c0-4bf8-af33-33dec03d334f</wfw:commentRss>
    </item>
    <item>
      <title>Solar Shooter: A Gas Guzzler's Nightmare</title>
      <description>&lt;blockquote&gt; &lt;p&gt;Frustrated by the high gas prices at the pump? Blow off some steam playing “Solar Shooter: A Gas Guzzler’s Nightmare.” In this shoot’em up arcade game, it’s you vs. the gas guzzlers. Use your solar powered, electricity shooting hover car to face off against the single occupant commuter, the angry guy in the SUV, and even the dreaded gas station pump. Gotta zap them before they soak you.&amp;nbsp; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://www.sl42.com/RIARun/SolarShooter.aspx"&gt;&lt;img height="375" alt="Solar-Shooter-Big" src="http://www.alistforeverything.com/image.axd?picture=WindowsLiveWriter/SolarShooterAGasGuzzlersNightmare_DFD3/Solar-Shooter-Big_360602d0-181c-452f-9cfa-2fb190663c6f.jpg" width="500" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Solar Shooter is the first game posted to &lt;a href="http://www.SL42.com"&gt;www.SL42.com&lt;/a&gt;.&amp;nbsp; The first version of the game was submitted to the "RIA Run" competition hosted by Internet.com and Microsoft.com.&amp;nbsp; &lt;strong&gt;It was selected as a finalist!!!&lt;/strong&gt;&amp;nbsp; Support my entry and play the &lt;a href="http://www.devx.com/RIA/Game/37741?id=274"&gt;RIA Run Contest version&lt;/a&gt; between May 16, 2008 and June 5, 2008.  &lt;p&gt;Solar Shooter was built with Silverlight 2.&amp;nbsp; I &lt;a href="http://www.alistforeverything.com/post/2008/05/Silverlight-2-Features-Used-in-My-RIA-Run-Game.aspx"&gt;previously posted&lt;/a&gt; a complete listing of Silverlight features used in the game.&amp;nbsp; &lt;p&gt;Download the source code using this link: &lt;a href="http://www.alistforeverything.com/file.axd?file=Source/SolarShooterBeta1.zip"&gt;SolarCarBeta1.zip&lt;/a&gt;  &lt;p&gt;Please post comments about Solar Shooter here. The next version of Solar Shooter is scheduled to include:  &lt;ul&gt; &lt;li&gt;Bosses  &lt;li&gt;Special weapons  &lt;li&gt;Brakes for the car  &lt;li&gt;Sound effects for ammo and explosions  &lt;li&gt;Level unlock codes  &lt;li&gt;Global scoreboard &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;I look forward to posting the next version.&lt;/p&gt;</description>
      <link>http://www.alistforeverything.com/post/2008/05/Solar-Shooter-A-Gas-Guzzlers-Nightmare.aspx</link>
      <dc:creator>snyhol</dc:creator>
      <comments>http://www.alistforeverything.com/post/2008/05/Solar-Shooter-A-Gas-Guzzlers-Nightmare.aspx#comment</comments>
      <guid>http://www.alistforeverything.com/post.aspx?id=caa3e0a7-a011-461f-a5c9-6e0bd7397f49</guid>
      <pubDate>Fri, 23 May 2008 16:54:00 -0700</pubDate>
      <category>SL42 games</category>
      <category>Software Dev</category>
      <dc:publisher>snyhol</dc:publisher>
      <pingback:server>http://www.alistforeverything.com/pingback.axd</pingback:server>
      <pingback:target>http://www.alistforeverything.com/post.aspx?id=caa3e0a7-a011-461f-a5c9-6e0bd7397f49</pingback:target>
      <slash:comments>25</slash:comments>
      <lastBuildDate>Fri, 30 Oct 2009 03:06:10 -0700</lastBuildDate>
      <trackback:ping>http://www.alistforeverything.com/trackback.axd?id=caa3e0a7-a011-461f-a5c9-6e0bd7397f49</trackback:ping>
      <wfw:comment>http://www.alistforeverything.com/post/2008/05/Solar-Shooter-A-Gas-Guzzlers-Nightmare.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.alistforeverything.com/syndication.axd?post=caa3e0a7-a011-461f-a5c9-6e0bd7397f49</wfw:commentRss>
    </item>
    <item>
      <title>Silverlight Skinning with ControlTemplates</title>
      <description>&lt;p&gt;&lt;em&gt;TECHNOLOGY USED: SILVERLIGHT 2, BETA 1&lt;/em&gt;&lt;/p&gt; &lt;p&gt;In a &lt;a href="http://www.alistforeverything.com/post/2008/05/Silverlight-Skinning-with-Style.aspx"&gt;recent post&lt;/a&gt;, I showed how Styles can be used to change one property of the existing appearance of a control, similar to CSS.&amp;nbsp; For example, the Button has a Foreground property that can be used to change the color of the text it contains.&amp;nbsp; You can use a Style object to set this foreground color for several Button controls.&amp;nbsp; Styles have limits.&amp;nbsp; You cannot use a Style to change the shape of a Button.&amp;nbsp; A Style cannot make a rectangular-shaped button look round.&amp;nbsp; &lt;/p&gt; &lt;p&gt;That's where the ControlTemplate is useful.&amp;nbsp; It was designed specifically for changing the shape of a control.&amp;nbsp; It can be used to change that rectangular-shaped button into a round one, as Jesse Liberty demonstrated in his &lt;a href="http://silverlight.net/learn/tutorials/stylestemplates.aspx"&gt;Styles and Templates tutorial&lt;/a&gt;.&amp;nbsp; Another excellent post that clearly explains ControlTemplates is &lt;a href="http://mattberseth.com/blog/2008/03/creating_a_custom_skin_for_sil.html"&gt;Creating a Custom Skin&lt;/a&gt; by Matt Berseth.&lt;/p&gt; &lt;p&gt;Some things to notice about Skinning with a ControlTemplate are:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;ControlTemplates are written inside a Style definition, using &lt;span style="color: red"&gt;Property&lt;/span&gt;&lt;span style="color: blue"&gt;="Template"&lt;/span&gt;.  &lt;li&gt;You can mix "normal" Styles and ControlTemplates in the same Style definition.&amp;nbsp; The "normal" Styles become the default Style for your skin.  &lt;li&gt;The Setter's value must be set to a &lt;span style="color: #a31515"&gt;ControlTemplate&lt;/span&gt;.  &lt;li&gt;The root visual element in the &lt;span style="color: #a31515"&gt;ControlTemplate &lt;/span&gt;must be named &lt;span style="color: red"&gt;x&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: red"&gt;Name&lt;/span&gt;&lt;span style="color: blue"&gt;="RootElement"&lt;/span&gt;  &lt;li&gt;You can use the property values assigned by the consumer of the template, using the &lt;span style="color: blue"&gt;{&lt;/span&gt;&lt;span style="color: #a31515"&gt;TemplateBinding&lt;/span&gt;&lt;span style="color: red"&gt; PropertyName&lt;/span&gt;&lt;span style="color: blue"&gt;}&lt;/span&gt; syntax.  &lt;li&gt;Storyboards are used to change the appearance of the control when the visual state changes, for example during the MouseOver event.&amp;nbsp; &lt;li&gt;The normal state is the default and starting state of the control.&amp;nbsp; I did not need to provide any animation for this state.  &lt;li&gt;You can use DoubleAnimation, ColorAnimation, and ObjectAnimationUsingKeyFrames.  &lt;li&gt;You can animate attached properties, using syntax like &lt;span style="color: blue"&gt;(Rectangle.Stroke).(SolidColorBrush.Color)&lt;/span&gt;.  &lt;li&gt;You cannot use &lt;span style="color: #a31515"&gt;TemplateBinding&lt;/span&gt;&lt;span style="color: red"&gt; &lt;/span&gt;values in animations.  &lt;li&gt;You cannot have two objects in the &lt;span style="color: #a31515"&gt;ControlTemplate &lt;/span&gt;with the same &lt;span style="color: red"&gt;x&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: red"&gt;Name&lt;/span&gt;.&amp;nbsp; &lt;li&gt;Objects with special names defined in the control contract will receive special functionality from the base control's behavior.&amp;nbsp; For example, a HyperlinkButton's &lt;span style="color: blue"&gt;FocusVisualElement&lt;/span&gt; will be invisible unless the control has focus... at which time, the &lt;span style="color: blue"&gt;FocusVisualElement&lt;/span&gt; becomes visible.&amp;nbsp; &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h2&gt;An Example Template Skin for HyperlinkButton&lt;/h2&gt; &lt;p&gt;The typical example is making a button round.&amp;nbsp; To make my example a little more interesting, I'll do something different: adding a border to a HyperlinkButton, taking care to provide visual clues for all states defined in the &lt;a href="http://msdn.microsoft.com/en-us/library/cc296242(vs.95).aspx"&gt;HyperlinkButton's control contract&lt;/a&gt;: having focus, MouseOver, Pressed, and Disabled.&amp;nbsp; This skin allows for resizing and uses the values assigned by the consumer of this ControlTemplate.&amp;nbsp; &lt;/p&gt; &lt;div class="VSCode" style="font-size: 10pt; font-family: monospace; background-color: white"&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Application.Resources&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Style&lt;/span&gt;&lt;span style="color: red"&gt; x&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: red"&gt;Key&lt;/span&gt;&lt;span style="color: blue"&gt;="HyperlinkWithBorder"&lt;/span&gt;&lt;span style="color: red"&gt; TargetType&lt;/span&gt;&lt;span style="color: blue"&gt;="HyperlinkButton"&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: green"&gt;&amp;lt;!-- SET DEFAULT STYLE --&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Setter&lt;/span&gt;&lt;span style="color: red"&gt; Property&lt;/span&gt;&lt;span style="color: blue"&gt;="IsEnabled"&lt;/span&gt;&lt;span style="color: red"&gt; Value&lt;/span&gt;&lt;span style="color: blue"&gt;="true" /&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Setter&lt;/span&gt;&lt;span style="color: red"&gt; Property&lt;/span&gt;&lt;span style="color: blue"&gt;="IsTabStop"&lt;/span&gt;&lt;span style="color: red"&gt; Value&lt;/span&gt;&lt;span style="color: blue"&gt;="true" /&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Setter&lt;/span&gt;&lt;span style="color: red"&gt; Property&lt;/span&gt;&lt;span style="color: blue"&gt;="Foreground"&lt;/span&gt;&lt;span style="color: red"&gt; Value&lt;/span&gt;&lt;span style="color: blue"&gt;="#FF417DA5" /&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Setter&lt;/span&gt;&lt;span style="color: red"&gt; Property&lt;/span&gt;&lt;span style="color: blue"&gt;="Cursor"&lt;/span&gt;&lt;span style="color: red"&gt; Value&lt;/span&gt;&lt;span style="color: blue"&gt;="Hand" /&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Setter&lt;/span&gt;&lt;span style="color: red"&gt; Property&lt;/span&gt;&lt;span style="color: blue"&gt;="TextAlignment"&lt;/span&gt;&lt;span style="color: red"&gt; Value&lt;/span&gt;&lt;span style="color: blue"&gt;="Left" /&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Setter&lt;/span&gt;&lt;span style="color: red"&gt; Property&lt;/span&gt;&lt;span style="color: blue"&gt;="HorizontalContentAlignment"&lt;/span&gt;&lt;span style="color: red"&gt; Value&lt;/span&gt;&lt;span style="color: blue"&gt;="Left" /&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Setter&lt;/span&gt;&lt;span style="color: red"&gt; Property&lt;/span&gt;&lt;span style="color: blue"&gt;="VerticalContentAlignment"&lt;/span&gt;&lt;span style="color: red"&gt; Value&lt;/span&gt;&lt;span style="color: blue"&gt;="Top" /&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Setter&lt;/span&gt;&lt;span style="color: red"&gt; Property&lt;/span&gt;&lt;span style="color: blue"&gt;="TextWrapping"&lt;/span&gt;&lt;span style="color: red"&gt; Value&lt;/span&gt;&lt;span style="color: blue"&gt;="NoWrap" /&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Setter&lt;/span&gt;&lt;span style="color: red"&gt; Property&lt;/span&gt;&lt;span style="color: blue"&gt;="FontSize"&lt;/span&gt;&lt;span style="color: red"&gt; Value&lt;/span&gt;&lt;span style="color: blue"&gt;="11" /&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: green"&gt;&amp;lt;!-- Cannot currently parse TextDecorationCollection type in XAML so it's being set in code --&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: green"&gt;&amp;lt;!-- &amp;lt;Setter Property="TextDecorations" Value="Underline" /&amp;gt; --&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: green"&gt;&amp;lt;!-- Cannot currently parse FontFamily type in XAML so it's being set in code --&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: green"&gt;&amp;lt;!-- &amp;lt;Setter Property="FontFamily" Value="Trebuchet MS" /&amp;gt; --&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: green"&gt;&amp;lt;!-- Cannot currently parse FontWeight type in XAML so it's being set in code --&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: green"&gt;&amp;lt;!-- &amp;lt;Setter Property="FontWeight" Value="Bold" /&amp;gt; --&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&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; &lt;/span&gt;&lt;span style="color: green"&gt;&amp;lt;!-- DEFINE CONTROL TEMPLATE --&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Setter&lt;/span&gt;&lt;span style="color: red"&gt; Property&lt;/span&gt;&lt;span style="color: blue"&gt;="Template"&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Setter.Value&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;ControlTemplate&lt;/span&gt;&lt;span style="color: red"&gt; TargetType&lt;/span&gt;&lt;span style="color: blue"&gt;="HyperlinkButton"&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Grid&lt;/span&gt;&lt;span style="color: red"&gt; x&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: red"&gt;Name&lt;/span&gt;&lt;span style="color: blue"&gt;="RootElement"&lt;/span&gt;&lt;span style="color: black"&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; &lt;/span&gt;&lt;span style="color: red"&gt;Cursor&lt;/span&gt;&lt;span style="color: blue"&gt;="{&lt;/span&gt;&lt;span style="color: #a31515"&gt;TemplateBinding&lt;/span&gt;&lt;span style="color: red"&gt; Cursor&lt;/span&gt;&lt;span style="color: blue"&gt;}"&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Grid.Resources&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: green"&gt;&amp;lt;!-- Visual states of the template --&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Storyboard&lt;/span&gt;&lt;span style="color: red"&gt; x&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: red"&gt;Key&lt;/span&gt;&lt;span style="color: blue"&gt;="Normal State" /&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Storyboard&lt;/span&gt;&lt;span style="color: red"&gt; x&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: red"&gt;Key&lt;/span&gt;&lt;span style="color: blue"&gt;="MouseOver State" &amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;DoubleAnimation&lt;/span&gt;&lt;span style="color: red"&gt; Duration&lt;/span&gt;&lt;span style="color: blue"&gt;="0:0:0"&lt;/span&gt;&lt;span style="color: black"&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; &lt;/span&gt;&lt;span style="color: red"&gt;Storyboard.TargetName&lt;/span&gt;&lt;span style="color: blue"&gt;="FaderRect"&lt;/span&gt;&lt;span style="color: black"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: red"&gt;Storyboard.TargetProperty&lt;/span&gt;&lt;span style="color: blue"&gt;="Opacity"&lt;/span&gt;&lt;span style="color: black"&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; &lt;/span&gt;&lt;span style="color: red"&gt;To&lt;/span&gt;&lt;span style="color: blue"&gt;=".1" /&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;DoubleAnimation&lt;/span&gt;&lt;span style="color: red"&gt; Duration&lt;/span&gt;&lt;span style="color: blue"&gt;="0:0:0"&lt;/span&gt;&lt;span style="color: black"&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; &lt;/span&gt;&lt;span style="color: red"&gt;Storyboard.TargetName&lt;/span&gt;&lt;span style="color: blue"&gt;="VisualPopRect"&lt;/span&gt;&lt;span style="color: black"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: red"&gt;Storyboard.TargetProperty&lt;/span&gt;&lt;span style="color: blue"&gt;="Opacity"&lt;/span&gt;&lt;span style="color: black"&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; &lt;/span&gt;&lt;span style="color: red"&gt;To&lt;/span&gt;&lt;span style="color: blue"&gt;="1" /&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;Storyboard&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Storyboard&lt;/span&gt;&lt;span style="color: red"&gt; x&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: red"&gt;Key&lt;/span&gt;&lt;span style="color: blue"&gt;="Pressed State" &amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;DoubleAnimation&lt;/span&gt;&lt;span style="color: red"&gt; Duration&lt;/span&gt;&lt;span style="color: blue"&gt;="0:0:0"&lt;/span&gt;&lt;span style="color: black"&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; &lt;/span&gt;&lt;span style="color: red"&gt;Storyboard.TargetName&lt;/span&gt;&lt;span style="color: blue"&gt;="FaderRect"&lt;br&gt;&lt;/span&gt;&lt;span style="color: black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: red"&gt;Storyboard.TargetProperty&lt;/span&gt;&lt;span style="color: blue"&gt;="Opacity"&lt;/span&gt;&lt;span style="color: black"&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; &lt;/span&gt;&lt;span style="color: red"&gt;To&lt;/span&gt;&lt;span style="color: blue"&gt;=".3" /&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;DoubleAnimation&lt;/span&gt;&lt;span style="color: red"&gt; Duration&lt;/span&gt;&lt;span style="color: blue"&gt;="0:0:0"&lt;/span&gt;&lt;span style="color: black"&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; &lt;/span&gt;&lt;span style="color: red"&gt;Storyboard.TargetName&lt;/span&gt;&lt;span style="color: blue"&gt;="VisualPopRect"&lt;/span&gt;&lt;span style="color: black"&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; &lt;/span&gt;&lt;span style="color: red"&gt;Storyboard.TargetProperty&lt;/span&gt;&lt;span style="color: blue"&gt;="Opacity"&lt;/span&gt;&lt;span style="color: black"&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; &lt;/span&gt;&lt;span style="color: red"&gt;To&lt;/span&gt;&lt;span style="color: blue"&gt;="1" /&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;Storyboard&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Storyboard&lt;/span&gt;&lt;span style="color: red"&gt; x&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: red"&gt;Key&lt;/span&gt;&lt;span style="color: blue"&gt;="Disabled State" &amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;DoubleAnimation&lt;/span&gt;&lt;span style="color: red"&gt; Duration&lt;/span&gt;&lt;span style="color: blue"&gt;="0:0:0"&lt;/span&gt;&lt;span style="color: black"&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; &lt;/span&gt;&lt;span style="color: red"&gt;Storyboard.TargetName&lt;/span&gt;&lt;span style="color: blue"&gt;="FaderRect"&lt;/span&gt;&lt;span style="color: black"&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; &lt;/span&gt;&lt;span style="color: red"&gt;Storyboard.TargetProperty&lt;/span&gt;&lt;span style="color: blue"&gt;="Opacity"&lt;/span&gt;&lt;span style="color: black"&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; &lt;/span&gt;&lt;span style="color: red"&gt;To&lt;/span&gt;&lt;span style="color: blue"&gt;=".2" /&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;ColorAnimation&lt;/span&gt;&lt;span style="color: red"&gt; Duration&lt;/span&gt;&lt;span style="color: blue"&gt;="0:0:0"&lt;/span&gt;&lt;span style="color: black"&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; &lt;/span&gt;&lt;span style="color: red"&gt;Storyboard.TargetName&lt;/span&gt;&lt;span style="color: blue"&gt;="FaderRectColor"&lt;/span&gt;&lt;span style="color: black"&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; &lt;/span&gt;&lt;span style="color: red"&gt;Storyboard.TargetProperty&lt;/span&gt;&lt;span style="color: blue"&gt;="Color"&lt;/span&gt;&lt;span style="color: black"&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; &lt;/span&gt;&lt;span style="color: red"&gt;To&lt;/span&gt;&lt;span style="color: blue"&gt;="Black" /&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;ColorAnimation&lt;/span&gt;&lt;span style="color: red"&gt; Duration&lt;/span&gt;&lt;span style="color: blue"&gt;="0:0:0"&lt;/span&gt;&lt;span style="color: black"&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; &lt;/span&gt;&lt;span style="color: red"&gt;Storyboard.TargetName&lt;/span&gt;&lt;span style="color: blue"&gt;="BorderRect"&lt;/span&gt;&lt;span style="color: black"&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; &lt;/span&gt;&lt;span style="color: red"&gt;Storyboard.TargetProperty&lt;/span&gt;&lt;span style="color: blue"&gt;="(Rectangle.Stroke).(SolidColorBrush.Color)"&lt;/span&gt;&lt;span style="color: black"&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; &lt;/span&gt;&lt;span style="color: red"&gt;To&lt;/span&gt;&lt;span style="color: blue"&gt;="Black" /&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;Storyboard&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;Grid.Resources&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: green"&gt;&amp;lt;!-- creates the solid line "border" of the HyperlinkButton --&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Rectangle&lt;/span&gt;&lt;span style="color: red"&gt; x&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: red"&gt;Name&lt;/span&gt;&lt;span style="color: blue"&gt;="BorderRect"&lt;/span&gt;&lt;span style="color: black"&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; &lt;/span&gt;&lt;span style="color: red"&gt;Width&lt;/span&gt;&lt;span style="color: blue"&gt;="{&lt;/span&gt;&lt;span style="color: #a31515"&gt;TemplateBinding&lt;/span&gt;&lt;span style="color: red"&gt; Width&lt;/span&gt;&lt;span style="color: blue"&gt;}"&lt;/span&gt;&lt;span style="color: black"&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; &lt;/span&gt;&lt;span style="color: red"&gt;Height&lt;/span&gt;&lt;span style="color: blue"&gt;="{&lt;/span&gt;&lt;span style="color: #a31515"&gt;TemplateBinding&lt;/span&gt;&lt;span style="color: red"&gt; Height&lt;/span&gt;&lt;span style="color: blue"&gt;}"&lt;/span&gt;&lt;span style="color: black"&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; &lt;/span&gt;&lt;span style="color: red"&gt;Stroke&lt;/span&gt;&lt;span style="color: blue"&gt;="{&lt;/span&gt;&lt;span style="color: #a31515"&gt;TemplateBinding&lt;/span&gt;&lt;span style="color: red"&gt; Foreground&lt;/span&gt;&lt;span style="color: blue"&gt;}"&lt;/span&gt;&lt;span style="color: black"&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; &lt;/span&gt;&lt;span style="color: red"&gt;Fill&lt;/span&gt;&lt;span style="color: blue"&gt;="{&lt;/span&gt;&lt;span style="color: #a31515"&gt;TemplateBinding&lt;/span&gt;&lt;span style="color: red"&gt; Background&lt;/span&gt;&lt;span style="color: blue"&gt;}"/&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: green"&gt;&amp;lt;!-- Container for positioning HyperlinkButton content --&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;StackPanel&lt;/span&gt;&lt;span style="color: red"&gt; Orientation&lt;/span&gt;&lt;span style="color: blue"&gt;="Horizontal"&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: green"&gt;&amp;lt;!-- invisible rectangle used to leave space for the highlighter (VisualPopRect) --&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Rectangle&lt;/span&gt;&lt;span style="color: red"&gt; Width&lt;/span&gt;&lt;span style="color: blue"&gt;="{&lt;/span&gt;&lt;span style="color: #a31515"&gt;TemplateBinding&lt;/span&gt;&lt;span style="color: red"&gt; Height&lt;/span&gt;&lt;span style="color: blue"&gt;}"&lt;br&gt;&lt;/span&gt;&lt;span style="color: black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: red"&gt;Height&lt;/span&gt;&lt;span style="color: blue"&gt;="{&lt;/span&gt;&lt;span style="color: #a31515"&gt;TemplateBinding&lt;/span&gt;&lt;span style="color: red"&gt; Height&lt;/span&gt;&lt;span style="color: blue"&gt;}" /&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: green"&gt;&amp;lt;!-- HyperlinkButton content --&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;ContentPresenter&lt;/span&gt;&lt;span style="color: red"&gt; x&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: red"&gt;Name&lt;/span&gt;&lt;span style="color: blue"&gt;="Normal"&lt;br&gt;&lt;/span&gt;&lt;span style="color: black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: red"&gt;Background&lt;/span&gt;&lt;span style="color: blue"&gt;="{&lt;/span&gt;&lt;span style="color: #a31515"&gt;TemplateBinding&lt;/span&gt;&lt;span style="color: red"&gt; Background&lt;/span&gt;&lt;span style="color: blue"&gt;}"&lt;br&gt;&lt;/span&gt;&lt;span style="color: black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: red"&gt;Content&lt;/span&gt;&lt;span style="color: blue"&gt;="{&lt;/span&gt;&lt;span style="color: #a31515"&gt;TemplateBinding&lt;/span&gt;&lt;span style="color: red"&gt; Content&lt;/span&gt;&lt;span style="color: blue"&gt;}"&lt;br&gt;&lt;/span&gt;&lt;span style="color: black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: red"&gt;ContentTemplate&lt;/span&gt;&lt;span style="color: blue"&gt;="{&lt;/span&gt;&lt;span style="color: #a31515"&gt;TemplateBinding&lt;/span&gt;&lt;span style="color: red"&gt; ContentTemplate&lt;/span&gt;&lt;span style="color: blue"&gt;}"&lt;br&gt;&lt;/span&gt;&lt;span style="color: black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: red"&gt;FontFamily&lt;/span&gt;&lt;span style="color: blue"&gt;="{&lt;/span&gt;&lt;span style="color: #a31515"&gt;TemplateBinding&lt;/span&gt;&lt;span style="color: red"&gt; FontFamily&lt;/span&gt;&lt;span style="color: blue"&gt;}"&lt;br&gt;&lt;/span&gt;&lt;span style="color: black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: red"&gt;FontSize&lt;/span&gt;&lt;span style="color: blue"&gt;="{&lt;/span&gt;&lt;span style="color: #a31515"&gt;TemplateBinding&lt;/span&gt;&lt;span style="color: red"&gt; FontSize&lt;/span&gt;&lt;span style="color: blue"&gt;}"&lt;br&gt;&lt;/span&gt;&lt;span style="color: black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: red"&gt;FontStretch&lt;/span&gt;&lt;span style="color: blue"&gt;="{&lt;/span&gt;&lt;span style="color: #a31515"&gt;TemplateBinding&lt;/span&gt;&lt;span style="color: red"&gt; FontStretch&lt;/span&gt;&lt;span style="color: blue"&gt;}"&lt;br&gt;&lt;/span&gt;&lt;span style="color: black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: red"&gt;FontStyle&lt;/span&gt;&lt;span style="color: blue"&gt;="{&lt;/span&gt;&lt;span style="color: #a31515"&gt;TemplateBinding&lt;/span&gt;&lt;span style="color: red"&gt; FontStyle&lt;/span&gt;&lt;span style="color: blue"&gt;}"&lt;br&gt;&lt;/span&gt;&lt;span style="color: black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: red"&gt;FontWeight&lt;/span&gt;&lt;span style="color: blue"&gt;="{&lt;/span&gt;&lt;span style="color: #a31515"&gt;TemplateBinding&lt;/span&gt;&lt;span style="color: red"&gt; FontWeight&lt;/span&gt;&lt;span style="color: blue"&gt;}"&lt;br&gt;&lt;/span&gt;&lt;span style="color: black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: red"&gt;Foreground&lt;/span&gt;&lt;span style="color: blue"&gt;="{&lt;/span&gt;&lt;span style="color: #a31515"&gt;TemplateBinding&lt;/span&gt;&lt;span style="color: red"&gt; Foreground&lt;/span&gt;&lt;span style="color: blue"&gt;}"&lt;br&gt;&lt;/span&gt;&lt;span style="color: black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: red"&gt;HorizontalContentAlignment&lt;/span&gt;&lt;span style="color: blue"&gt;="{&lt;/span&gt;&lt;span style="color: #a31515"&gt;TemplateBinding&lt;/span&gt;&lt;span style="color: red"&gt; HorizontalContentAlignment&lt;/span&gt;&lt;span style="color: blue"&gt;}"&lt;br&gt;&lt;/span&gt;&lt;span style="color: black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: red"&gt;Padding&lt;/span&gt;&lt;span style="color: blue"&gt;="{&lt;/span&gt;&lt;span style="color: #a31515"&gt;TemplateBinding&lt;/span&gt;&lt;span style="color: red"&gt; Padding&lt;/span&gt;&lt;span style="color: blue"&gt;}"&lt;br&gt;&lt;/span&gt;&lt;span style="color: black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: red"&gt;TextAlignment&lt;/span&gt;&lt;span style="color: blue"&gt;="{&lt;/span&gt;&lt;span style="color: #a31515"&gt;TemplateBinding&lt;/span&gt;&lt;span style="color: red"&gt; TextAlignment&lt;/span&gt;&lt;span style="color: blue"&gt;}"&lt;br&gt;&lt;/span&gt;&lt;span style="color: black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: red"&gt;TextDecorations&lt;/span&gt;&lt;span style="color: blue"&gt;="{&lt;/span&gt;&lt;span style="color: #a31515"&gt;TemplateBinding&lt;/span&gt;&lt;span style="color: red"&gt; TextDecorations&lt;/span&gt;&lt;span style="color: blue"&gt;}"&lt;br&gt;&lt;/span&gt;&lt;span style="color: black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: red"&gt;TextWrapping&lt;/span&gt;&lt;span style="color: blue"&gt;="{&lt;/span&gt;&lt;span style="color: #a31515"&gt;TemplateBinding&lt;/span&gt;&lt;span style="color: red"&gt; TextWrapping&lt;/span&gt;&lt;span style="color: blue"&gt;}"&lt;br&gt;&lt;/span&gt;&lt;span style="color: black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: red"&gt;VerticalContentAlignment&lt;/span&gt;&lt;span style="color: blue"&gt;="{&lt;/span&gt;&lt;span style="color: #a31515"&gt;TemplateBinding&lt;/span&gt;&lt;span style="color: red"&gt; VerticalContentAlignment&lt;/span&gt;&lt;span style="color: blue"&gt;}"&lt;/span&gt;&lt;span style="color: black"&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; &lt;/span&gt;&lt;span style="color: red"&gt;Margin&lt;/span&gt;&lt;span style="color: blue"&gt;="2,2,2,2" /&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;StackPanel&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: green"&gt;&amp;lt;!-- Focus indicator, inside dashed line --&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Rectangle&lt;/span&gt;&lt;span style="color: red"&gt; x&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: red"&gt;Name&lt;/span&gt;&lt;span style="color: blue"&gt;="FocusVisualElement"&lt;br&gt;&lt;/span&gt;&lt;span style="color: black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: red"&gt;Margin&lt;/span&gt;&lt;span style="color: blue"&gt;="2"&lt;/span&gt;&lt;span style="color: red"&gt; Stretch&lt;/span&gt;&lt;span style="color: blue"&gt;="Fill"&lt;br&gt;&lt;/span&gt;&lt;span style="color: black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: red"&gt;Stroke&lt;/span&gt;&lt;span style="color: blue"&gt;="{&lt;/span&gt;&lt;span style="color: #a31515"&gt;TemplateBinding&lt;/span&gt;&lt;span style="color: red"&gt; Foreground&lt;/span&gt;&lt;span style="color: blue"&gt;}"&lt;/span&gt;&lt;span style="color: black"&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; &lt;/span&gt;&lt;span style="color: red"&gt;StrokeThickness&lt;/span&gt;&lt;span style="color: blue"&gt;="1"&lt;/span&gt;&lt;span style="color: red"&gt; StrokeDashArray&lt;/span&gt;&lt;span style="color: blue"&gt;="1 2"&lt;br&gt;&lt;/span&gt;&lt;span style="color: black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: blue"&gt;/&amp;gt;&lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: green"&gt;&amp;lt;!-- Objects for highlighting changing visual states --&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: green"&gt;&amp;lt;!-- Rect to the left of the content --&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Rectangle&lt;/span&gt;&lt;span style="color: red"&gt; x&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: red"&gt;Name&lt;/span&gt;&lt;span style="color: blue"&gt;="VisualPopRect"&lt;br&gt;&lt;/span&gt;&lt;span style="color: black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: red"&gt;HorizontalAlignment&lt;/span&gt;&lt;span style="color: blue"&gt;="Left"&lt;br&gt;&lt;/span&gt;&lt;span style="color: black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: red"&gt;Height&lt;/span&gt;&lt;span style="color: blue"&gt;="{&lt;/span&gt;&lt;span style="color: #a31515"&gt;TemplateBinding&lt;/span&gt;&lt;span style="color: red"&gt; Height&lt;/span&gt;&lt;span style="color: blue"&gt;}"&lt;br&gt;&lt;/span&gt;&lt;span style="color: black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: red"&gt;Width&lt;/span&gt;&lt;span style="color: blue"&gt;="{&lt;/span&gt;&lt;span style="color: #a31515"&gt;TemplateBinding&lt;/span&gt;&lt;span style="color: red"&gt; Height&lt;/span&gt;&lt;span style="color: blue"&gt;}"&lt;br&gt;&lt;/span&gt;&lt;span style="color: black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: red"&gt;Fill&lt;/span&gt;&lt;span style="color: blue"&gt;="{&lt;/span&gt;&lt;span style="color: #a31515"&gt;TemplateBinding&lt;/span&gt;&lt;span style="color: red"&gt; Foreground&lt;/span&gt;&lt;span style="color: blue"&gt;}"&lt;br&gt;&lt;/span&gt;&lt;span style="color: black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: red"&gt;Opacity&lt;/span&gt;&lt;span style="color: blue"&gt;="0"/&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: green"&gt;&amp;lt;!-- Make the control appear faded --&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Rectangle&lt;/span&gt;&lt;span style="color: red"&gt; x&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: red"&gt;Name&lt;/span&gt;&lt;span style="color: blue"&gt;="FaderRect"&lt;br&gt;&lt;/span&gt;&lt;span style="color: black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: red"&gt;Width&lt;/span&gt;&lt;span style="color: blue"&gt;="{&lt;/span&gt;&lt;span style="color: #a31515"&gt;TemplateBinding&lt;/span&gt;&lt;span style="color: red"&gt; Width&lt;/span&gt;&lt;span style="color: blue"&gt;}"&lt;br&gt;&lt;/span&gt;&lt;span style="color: black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: red"&gt;Height&lt;/span&gt;&lt;span style="color: blue"&gt;="{&lt;/span&gt;&lt;span style="color: #a31515"&gt;TemplateBinding&lt;/span&gt;&lt;span style="color: red"&gt; Height&lt;/span&gt;&lt;span style="color: blue"&gt;}"&lt;br&gt;&lt;/span&gt;&lt;span style="color: black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: red"&gt;Opacity&lt;/span&gt;&lt;span style="color: blue"&gt;="0"&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Rectangle.Fill&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;SolidColorBrush&lt;/span&gt;&lt;span style="color: red"&gt; x&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: red"&gt;Name&lt;/span&gt;&lt;span style="color: blue"&gt;="FaderRectColor"&lt;/span&gt;&lt;span style="color: black"&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; &lt;/span&gt;&lt;span style="color: red"&gt;Color&lt;/span&gt;&lt;span style="color: blue"&gt;="White" /&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;Rectangle.Fill&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;Rectangle&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;Grid&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;ControlTemplate&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;Setter.Value&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;Setter&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;Style&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;Application.Resources&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h2&gt;Applying the Template&lt;/h2&gt; &lt;p&gt;Using a ControlTemplate is as simple as using a Style... because a ControlTemplate &lt;em&gt;&lt;strong&gt;is basically part of a Style&lt;/strong&gt;&lt;/em&gt;.&amp;nbsp; Just use databinding to a StaticResource for linking the Style property to the ControlTemplate.&amp;nbsp; The following code shows three sample HyperlinkButtons: one without the ControlTemplate, one using the default ControlTemplate Values, and one overriding the ControlTemplate's default values.&amp;nbsp; &lt;/p&gt; &lt;div class="VSCode" style="font-size: 10pt; font-family: monospace; background-color: white"&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Grid&lt;/span&gt;&lt;span style="color: red"&gt; x&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: red"&gt;Name&lt;/span&gt;&lt;span style="color: blue"&gt;="LayoutRoot"&lt;/span&gt;&lt;span style="color: red"&gt; Background&lt;/span&gt;&lt;span style="color: blue"&gt;="White"&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&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; &lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;TextBox&lt;/span&gt;&lt;span style="color: red"&gt; Width&lt;/span&gt;&lt;span style="color: blue"&gt;="100"&lt;/span&gt;&lt;span style="color: red"&gt; Height&lt;/span&gt;&lt;span style="color: blue"&gt;="20"&lt;/span&gt;&lt;span style="color: red"&gt; FontSize&lt;/span&gt;&lt;span style="color: blue"&gt;="10"&lt;/span&gt;&lt;span style="color: red"&gt; Margin&lt;/span&gt;&lt;span style="color: blue"&gt;="0,0,200,150"&lt;/span&gt;&lt;span style="color: red"&gt; Text&lt;/span&gt;&lt;span style="color: blue"&gt;="Click &amp;amp;amp; Tab" /&amp;gt;&lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;HyperlinkButton&lt;/span&gt;&lt;span style="color: red"&gt; Content&lt;/span&gt;&lt;span style="color: blue"&gt;="Default Appearance"&lt;/span&gt;&lt;span style="color: red"&gt; Margin&lt;/span&gt;&lt;span style="color: blue"&gt;="0,0,100,50"&lt;/span&gt;&lt;span style="color: red"&gt; Height&lt;/span&gt;&lt;span style="color: blue"&gt;="20"&lt;/span&gt;&lt;span style="color: red"&gt; Width&lt;/span&gt;&lt;span style="color: blue"&gt;="200"/&amp;gt;&lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;HyperlinkButton&lt;/span&gt;&lt;span style="color: red"&gt; Content&lt;/span&gt;&lt;span style="color: blue"&gt;="Using ControlTemplate"&lt;/span&gt;&lt;span style="color: red"&gt; Margin&lt;/span&gt;&lt;span style="color: blue"&gt;="0,50,100,0"&lt;/span&gt;&lt;span style="color: red"&gt; Height&lt;/span&gt;&lt;span style="color: blue"&gt;="20"&lt;/span&gt;&lt;span style="color: red"&gt; Width&lt;/span&gt;&lt;span style="color: blue"&gt;="200"&lt;/span&gt;&lt;span style="color: red"&gt; Style&lt;/span&gt;&lt;span style="color: blue"&gt;="{&lt;/span&gt;&lt;span style="color: #a31515"&gt;StaticResource&lt;/span&gt;&lt;span style="color: red"&gt; HyperlinkWithBorder&lt;/span&gt;&lt;span style="color: blue"&gt;}" /&amp;gt;&lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;HyperlinkButton&lt;/span&gt;&lt;span style="color: red"&gt; x&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: red"&gt;Name&lt;/span&gt;&lt;span style="color: blue"&gt;="LinkToDisable"&lt;/span&gt;&lt;span style="color: red"&gt; Content&lt;/span&gt;&lt;span style="color: blue"&gt;="ControlTemplate with inline properties"&lt;/span&gt;&lt;span style="color: red"&gt; Margin&lt;/span&gt;&lt;span style="color: blue"&gt;="0,150,50,0"&lt;/span&gt;&lt;span style="color: red"&gt; Height&lt;/span&gt;&lt;span style="color: blue"&gt;="20"&lt;/span&gt;&lt;span style="color: red"&gt; Width&lt;/span&gt;&lt;span style="color: blue"&gt;="250"&lt;/span&gt;&lt;span style="color: red"&gt; Style&lt;/span&gt;&lt;span style="color: blue"&gt;="{&lt;/span&gt;&lt;span style="color: #a31515"&gt;StaticResource&lt;/span&gt;&lt;span style="color: red"&gt; HyperlinkWithBorder&lt;/span&gt;&lt;span style="color: blue"&gt;}"&lt;/span&gt;&lt;span style="color: red"&gt; Background&lt;/span&gt;&lt;span style="color: blue"&gt;="PapayaWhip"&lt;/span&gt;&lt;span style="color: red"&gt; Foreground&lt;/span&gt;&lt;span style="color: blue"&gt;="Sienna"/&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&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; &lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;ToggleButton&lt;/span&gt;&lt;span style="color: red"&gt; Content&lt;/span&gt;&lt;span style="color: blue"&gt;="disable it"&lt;/span&gt;&lt;span style="color: black"&gt; &lt;/span&gt;&lt;span style="color: red"&gt;Margin&lt;/span&gt;&lt;span style="color: blue"&gt;="280,150,0,0"&lt;/span&gt;&lt;span style="color: black"&gt; &lt;/span&gt;&lt;span style="color: red"&gt;Width&lt;/span&gt;&lt;span style="color: blue"&gt;="60"&lt;/span&gt;&lt;span style="color: red"&gt; Height&lt;/span&gt;&lt;span style="color: blue"&gt;="20"&lt;/span&gt;&lt;span style="color: red"&gt; Click&lt;/span&gt;&lt;span style="color: blue"&gt;="Toggle_Click"&lt;/span&gt;&lt;span style="color: red"&gt; x&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: red"&gt;Name&lt;/span&gt;&lt;span style="color: blue"&gt;="ButtonThatDisablesLink" &amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;ToggleButton&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;Grid&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt; &lt;p&gt;And, finally, here is the Silverlight example you can interact with, to see how it looks when finished.&amp;nbsp; &lt;/p&gt; &lt;ul&gt; &lt;li&gt;To review the MouseOver state, move your mouse around the example.&amp;nbsp; &lt;/li&gt; &lt;li&gt;To preview the Pressed state, click on the links.&lt;/li&gt; &lt;li&gt;To preview the Disabled state, click on the button.&lt;/li&gt; &lt;li&gt;To preview the "has focus" state, click in the textbox and tab to the links. &lt;/li&gt;&lt;/ul&gt; &lt;div style="border-right: black 3px solid; border-top: black 3px solid; border-left: black 3px solid; width: 350px; border-bottom: black 3px solid; height: 200px"&gt;&lt;iframe style="width: 350px; height: 200px" src="http://www.AListForEverything.com/ClientBin/SLSamples/ControlTemplateSample.html"&gt;&lt;/iframe&gt;&lt;/div&gt; &lt;p&gt;If you can't see the Silverlight example, below is a screenshot that illustrates the unstyled HyperlinkButton with focus, the ControlTemplate HyperlinkButton with MouseOver, and the second ControlTemplate HyperlinkButton as disabled. &lt;/p&gt; &lt;p&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="192" alt="silverlight-simple-controltemplate" src="http://www.alistforeverything.com/image.axd?picture=WindowsLiveWriter/SilverlightSkinningwithControlTemplates_8F2/silverlight-simple-controltemplate_d37fb4dd-8ed9-43d1-b2b6-31eb15608141.png" width="324" border="0"&gt; &lt;/p&gt; &lt;p&gt;The ControlTemplate is a powerful tool.&amp;nbsp; It can be used to make drastic changes to the way your application looks.&amp;nbsp; For example, in the &lt;a href="http://www.sl42.com/RIARun/SolarShooter.aspx"&gt;Solar Shooter&lt;/a&gt; game, I made buttons that look like a car, a lightning bolt, and an explosion.&amp;nbsp; ControlTemplates can be more difficult to build than Styles because they include more parts and also because they don't always throw errors - which makes debugging much harder.&amp;nbsp; But the extra work is worth it... and once you learn the concepts, it does get easier.&amp;nbsp; ControlTemplates are one of the Silverlight tools that have the potential to dramatically improve web applications.&amp;nbsp; What will you use them for? &lt;/p&gt;</description>
      <link>http://www.alistforeverything.com/post/2008/05/Silverlight-Skinning-with-ControlTemplates.aspx</link>
      <dc:creator>snyhol</dc:creator>
      <comments>http://www.alistforeverything.com/post/2008/05/Silverlight-Skinning-with-ControlTemplates.aspx#comment</comments>
      <guid>http://www.alistforeverything.com/post.aspx?id=a81fc134-88c8-4f0d-a6a9-71c2c1b8fb11</guid>
      <pubDate>Thu, 22 May 2008 13:52:53 -0700</pubDate>
      <category>Software Dev</category>
      <dc:publisher>snyhol</dc:publisher>
      <pingback:server>http://www.alistforeverything.com/pingback.axd</pingback:server>
      <pingback:target>http://www.alistforeverything.com/post.aspx?id=a81fc134-88c8-4f0d-a6a9-71c2c1b8fb11</pingback:target>
      <slash:comments>38</slash:comments>
      <lastBuildDate>Fri, 30 Oct 2009 03:06:10 -0700</lastBuildDate>
      <trackback:ping>http://www.alistforeverything.com/trackback.axd?id=a81fc134-88c8-4f0d-a6a9-71c2c1b8fb11</trackback:ping>
      <wfw:comment>http://www.alistforeverything.com/post/2008/05/Silverlight-Skinning-with-ControlTemplates.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.alistforeverything.com/syndication.axd?post=a81fc134-88c8-4f0d-a6a9-71c2c1b8fb11</wfw:commentRss>
    </item>
    <item>
      <title>Low Cost Ink Replacements from Omnipro</title>
      <description>&lt;p&gt;I've always been shocked that the price of printers is low and the price of ink is high.&amp;nbsp; The replacement ink costs almost as much as the printer!!!&amp;nbsp; Even at retail prices, purchasing replacement ink just two times will end up costing more than the printer.&amp;nbsp; Can you believe that??!!&lt;/p&gt; &lt;p&gt;For example, I bought my &lt;a href="http://www.epson.com/cgi-bin/Store/consumer/consDetail.jsp?oid=47915738"&gt;color inkjet printer&lt;/a&gt; on sale for under $100.&amp;nbsp; The replacement ink costs about $75.&amp;nbsp; It's painful to buy expensive ink for a cheap printer!&amp;nbsp; We also have a &lt;a href="http://www.brother-usa.com/printer/modeldetail.aspx?ProductID=HL2040"&gt;laser printer&lt;/a&gt; that can also be replaced for under $100.&amp;nbsp; The ink for that printer also costs around $75.&amp;nbsp; &lt;/p&gt; &lt;p&gt;I've stayed away from refurbished or refilled inks in the past because I heard they aren't as good or could even damage the printer.&amp;nbsp; But when the retail ink costs almost as much as the printer, I'm almost tempted to just get a new printer each time instead of just an ink cartridge.&lt;/p&gt; &lt;p&gt;I finally broke down and started shopping online for the best deals on ink.&amp;nbsp; I have found &lt;a href="http://www.omni-sos.com"&gt;Omnipro&lt;/a&gt; to have consistently low prices across their products.&amp;nbsp; I bought the cheapest replacement inks for both our inkjet and laser printers.&amp;nbsp; The inkjet replacement was $15 and the laser cartridge replacement was $25, &lt;strong&gt;making a savings of $110 on this purchase!&lt;/strong&gt;&amp;nbsp; They were all remanufactured cartridges, but they were so cheap, it was worth it.&amp;nbsp; I don't really need top-end, perfect colors when printing.&amp;nbsp; Assuming that the cartridges work good enough, &lt;strong&gt;each time I buy ink from Omnipro, I save enough money to replace the whole printer&lt;/strong&gt;.&amp;nbsp; &lt;/p&gt; &lt;h3&gt;&amp;nbsp;&lt;a href="http://www.omni-sos.com"&gt;Click here to shop at Omnipro.&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;I have been satisfied with the pages I've printed with their ink.&amp;nbsp; It &lt;em&gt;has&lt;/em&gt; been good enough.&amp;nbsp; I will continue to buy ink from them.&amp;nbsp; Chances are, you can save $$ too! &lt;/p&gt;</description>
      <link>http://www.alistforeverything.com/post/2008/05/Low-Cost-Ink-Replacements-from-Omnipro.aspx</link>
      <dc:creator>snyhol</dc:creator>
      <comments>http://www.alistforeverything.com/post/2008/05/Low-Cost-Ink-Replacements-from-Omnipro.aspx#comment</comments>
      <guid>http://www.alistforeverything.com/post.aspx?id=52a16770-316b-4c3f-89a4-ecbddcfb3191</guid>
      <pubDate>Thu, 22 May 2008 13:19:17 -0700</pubDate>
      <category>Tech</category>
      <dc:publisher>snyhol</dc:publisher>
      <pingback:server>http://www.alistforeverything.com/pingback.axd</pingback:server>
      <pingback:target>http://www.alistforeverything.com/post.aspx?id=52a16770-316b-4c3f-89a4-ecbddcfb3191</pingback:target>
      <slash:comments>5</slash:comments>
      <lastBuildDate>Fri, 30 Oct 2009 03:06:10 -0700</lastBuildDate>
      <trackback:ping>http://www.alistforeverything.com/trackback.axd?id=52a16770-316b-4c3f-89a4-ecbddcfb3191</trackback:ping>
      <wfw:comment>http://www.alistforeverything.com/post/2008/05/Low-Cost-Ink-Replacements-from-Omnipro.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.alistforeverything.com/syndication.axd?post=52a16770-316b-4c3f-89a4-ecbddcfb3191</wfw:commentRss>
    </item>
    <item>
      <title>Silverlight Named Colors</title>
      <description>&lt;p&gt;One MSDN resource I use regularly is the &lt;a href="http://msdn.microsoft.com/en-us/library/bb980062.aspx"&gt;page about named colors&lt;/a&gt;.&amp;nbsp; It is helpful when I want to quickly add a color to my application without going through the RGB color picker.&amp;nbsp; This reference is good because it provides a screenshot example of each named color, along with its official predefined color name and corresponding RGB values.&amp;nbsp; &lt;/p&gt; &lt;p&gt;This page is part of the Silverlight 1.0 documentation.&amp;nbsp; I use this one because I haven't found a similar reference for Silverlight 2.&amp;nbsp; Besides, the 1.0 color names still work in Silverlight 2.&lt;/p&gt; &lt;p&gt;It would be cool if Visual Studio provided color swatches in the IntelliSense.&amp;nbsp; Here's the current IntelliSense: &lt;/p&gt; &lt;p&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="141" alt="visual-studio-2008-silverlight-named-colors-intellisense" src="http://www.alistforeverything.com/image.axd?picture=WindowsLiveWriter/SilverlightNamedColors_B6D3/visual-studio-2008-silverlight-named-colors-intellisense_3.png" width="260" border="0"&gt; &lt;/p&gt; &lt;p&gt;Here's what it could look like: &lt;/p&gt; &lt;p&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="141" alt="visual-studio-2008-silverlight-named-colors-intellisense-dream" src="http://www.alistforeverything.com/image.axd?picture=WindowsLiveWriter/SilverlightNamedColors_B6D3/visual-studio-2008-silverlight-named-colors-intellisense-dream_3.png" width="260" border="0"&gt; &lt;/p&gt; &lt;p&gt;Neither Blend nor Design support setting colors by their named values.&amp;nbsp; Of course, you can do this in XAML in Blend.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Perhaps the lack of support for named colors is because most "real" designs will use colors defined by their RGB values.&amp;nbsp; It would still be cool to have this resource integrated into the tools rather than having to look it up from documentation.&amp;nbsp; &lt;/p&gt;</description>
      <link>http://www.alistforeverything.com/post/2008/05/Silverlight-Named-Colors.aspx</link>
      <dc:creator>snyhol</dc:creator>
      <comments>http://www.alistforeverything.com/post/2008/05/Silverlight-Named-Colors.aspx#comment</comments>
      <guid>http://www.alistforeverything.com/post.aspx?id=512ddb08-1848-4690-9b57-9e057c05b168</guid>
      <pubDate>Tue, 20 May 2008 21:40:50 -0700</pubDate>
      <category>Graphic Design</category>
      <category>Software Dev</category>
      <dc:publisher>snyhol</dc:publisher>
      <pingback:server>http://www.alistforeverything.com/pingback.axd</pingback:server>
      <pingback:target>http://www.alistforeverything.com/post.aspx?id=512ddb08-1848-4690-9b57-9e057c05b168</pingback:target>
      <slash:comments>1</slash:comments>
      <lastBuildDate>Fri, 30 Oct 2009 03:06:10 -0700</lastBuildDate>
      <trackback:ping>http://www.alistforeverything.com/trackback.axd?id=512ddb08-1848-4690-9b57-9e057c05b168</trackback:ping>
      <wfw:comment>http://www.alistforeverything.com/post/2008/05/Silverlight-Named-Colors.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.alistforeverything.com/syndication.axd?post=512ddb08-1848-4690-9b57-9e057c05b168</wfw:commentRss>
    </item>
    <item>
      <title>Carpodding</title>
      <description>&lt;p&gt;What is carpodding?&amp;nbsp; It is a term I made up to describe listening to &lt;a href="http://en.wikipedia.org/wiki/Podcast"&gt;podcasts&lt;/a&gt; while driving.&amp;nbsp; It's a versatile word.&amp;nbsp; You can get creative with it.&amp;nbsp; In essence, carpodders are people who carpod.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Unfortunately, I can't claim to be the first person to invent this word.&amp;nbsp; It is &lt;a href="http://www.techweb.com/encyclopedia/defineterm.jhtml?term=carpodding"&gt;defined at techweb&lt;/a&gt; and a &lt;a href="http://www.galacticawatercooler.com/2007/05/06/gwc-re-watch-frak-party-you-cant-go-home-again/"&gt;couple&lt;/a&gt; &lt;a href="http://www.podcentral.ph/viewthread.php?fid=22&amp;amp;tid=1551&amp;amp;action=printable"&gt;other places&lt;/a&gt;.&amp;nbsp;&amp;nbsp; It's not defined on &lt;a href="http://en.wikipedia.org/w/index.php?title=Special%3ASearch&amp;amp;search=carpodding&amp;amp;ns0=1"&gt;wikipedia&lt;/a&gt;, &lt;a href="http://dictionary.reference.com/browse/carpod"&gt;dictionary.com&lt;/a&gt;, or even &lt;a href="http://www.urbandictionary.com/define.php?term=carpod"&gt;urban dictionary&lt;/a&gt;... yet.&lt;/p&gt; &lt;p&gt;Most people write about carpodding because they do it while they commute to work.&amp;nbsp; There are even podcasts called &lt;a href="http://mondaymorningcommute.blogspot.com/"&gt;Monday Morning Commute&lt;/a&gt; or &lt;a href="http://mydailycommute.blogspot.com/"&gt;My Daily Commute&lt;/a&gt;.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Some of you might be wondering, just how do you carpod?&amp;nbsp; You need three things: &lt;/p&gt; &lt;ol&gt; &lt;li&gt;a portable music player (probably an iPod)  &lt;li&gt;podcasts in your player (probably by downloading MP3 audio files and importing those files into your player)  &lt;li&gt;the ability to listen to your podcasts while driving&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;And others of you are wondering, how do I carpod safely? After all, it's against the law to be driving around with headphones on both ears.&amp;nbsp; I guess the simplest way would be just use one headphone.&amp;nbsp; You could buy a speaker for your MP3 player.&amp;nbsp; I chose to buy a &lt;a href="http://www.crutchfield.com/S-zkVtQaQN9aT/App/Product/Item/Main.aspx?i=158gt310"&gt;fairly cheap car radio&lt;/a&gt; with a headphone plug and connect it to my iPod.&amp;nbsp; There are much fancier solutions, like car radios that directly plug into and control an iPod.&lt;/p&gt; &lt;p&gt;What would you listen to while you carpod?&amp;nbsp; Pretty much anything!&amp;nbsp; Check out these &lt;a href="http://www.timeatlas.com/mos/PDAs/Pocket_PC/Converting_Commute_Time_to_Learning_Time/"&gt;blogs&lt;/a&gt; and &lt;a href="https://www.microsoft.com/windowsmobile/articles/findpodcasts.mspx"&gt;articles&lt;/a&gt; about finding podcasts.&amp;nbsp; Some even write about &lt;a href="http://www.pickthebrain.com/blog/free-audio-book-and-podcast-resources/"&gt;free audio book resources&lt;/a&gt;.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Sometime soon, I'll share my list of favorite podcasts.&amp;nbsp; That's a problem with podcasts... they are slow to review because you can't skim them.&amp;nbsp; As Scoble said, &lt;a href="http://scobleizer.com/2006/06/25/peter-says-podcasting-is-inefficient/"&gt;they're great for places where you can't read&lt;/a&gt;... like the car.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Happy carpodding! &lt;/p&gt; &lt;p&gt;p.s. It would be really cool if the podcasts were already automatically in your car stereo - and you could bypass the player, downloading and plugging into the stereo!&lt;/p&gt;</description>
      <link>http://www.alistforeverything.com/post/2008/05/Carpodding.aspx</link>
      <dc:creator>snyhol</dc:creator>
      <comments>http://www.alistforeverything.com/post/2008/05/Carpodding.aspx#comment</comments>
      <guid>http://www.alistforeverything.com/post.aspx?id=f78933c3-1c01-4dc9-b91c-5742c3beec78</guid>
      <pubDate>Tue, 20 May 2008 21:36:51 -0700</pubDate>
      <category>Productivity</category>
      <category>Tech</category>
      <dc:publisher>snyhol</dc:publisher>
      <pingback:server>http://www.alistforeverything.com/pingback.axd</pingback:server>
      <pingback:target>http://www.alistforeverything.com/post.aspx?id=f78933c3-1c01-4dc9-b91c-5742c3beec78</pingback:target>
      <slash:comments>5</slash:comments>
      <lastBuildDate>Fri, 30 Oct 2009 03:06:10 -0700</lastBuildDate>
      <trackback:ping>http://www.alistforeverything.com/trackback.axd?id=f78933c3-1c01-4dc9-b91c-5742c3beec78</trackback:ping>
      <wfw:comment>http://www.alistforeverything.com/post/2008/05/Carpodding.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.alistforeverything.com/syndication.axd?post=f78933c3-1c01-4dc9-b91c-5742c3beec78</wfw:commentRss>
    </item>
    <item>
      <title>Silverlight Skinning with Style</title>
      <description>&lt;p&gt;While I was developing the Solar Shooter game, I wanted to add "control template and skinning support."&amp;nbsp; What is that?&amp;nbsp; Silverlight uses the "WPF-based" UI framework, which means that the appearance is separate from the behavior.&amp;nbsp; This is implemented through Styles and Control Templates.&amp;nbsp; They both provide a central place where you can define the appearance of a control.&amp;nbsp; Basically, Styles change one property of the existing appearance of the control, while ControlTemplates replace the entire appearance.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Styles are very similar to CSS.&amp;nbsp; Styles can be used to customize the default appearance of a control.&amp;nbsp; The Silverlight SDK provides a very clear explanation of styles and &lt;a href="http://msdn.microsoft.com/en-us/library/cc189093(vs.95).aspx"&gt;is available online&lt;/a&gt;.&amp;nbsp; If you are completely new to Styles, read Jesse Liberty's &lt;a href="http://silverlight.net/learn/tutorials/stylestemplates.aspx"&gt;Styles and Templates Tutorial&lt;/a&gt;.&amp;nbsp; For example, you can use a Style to make a group of TextBoxes have a yellow background.&amp;nbsp; Styles can be defined wherever you have &lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Resources&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt; (i.e., control resources, grid resources, UserControl resources, App resources, etc.).&amp;nbsp; Basically, a Style is used to set a collection of properties for a specified type of control.&amp;nbsp;&amp;nbsp; &lt;/p&gt; &lt;p&gt;As a simple example, let's use Styles to apply a green theme to a standard login form.&amp;nbsp; Though this example is very simple, it demonstrates using Styles to change the appearance of multiple controls from one place.&amp;nbsp; If we wanted to reduce the size of the labels to 13 points, we would only have to make that change in one place.&amp;nbsp; We can also feel confident that all of our labels have a similar appearance because they all use the same Style resource. &lt;/p&gt; &lt;p&gt;Here is a screenshot of the form before applying Styles: &lt;/p&gt; &lt;p&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="84" alt="silverlight-simple-style-no-style" src="http://www.alistforeverything.com/image.axd?picture=WindowsLiveWriter/SilverlightSkinningwithStyles_1A3/silverlight-simple-style-no-style_3.png" width="260" border="0"&gt; &lt;/p&gt; &lt;p&gt;Here's the code I used to apply a green theme to change the appearance of controls on this login form.&amp;nbsp; This example uses both named colors and RGB-defined colors to achieve a consistent visual design.&amp;nbsp; &lt;/p&gt; &lt;div class="VSCode" style="font-size: 10pt; font-family: monospace; background-color: white"&gt;&lt;span style="color: #a31515"&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Grid&lt;/span&gt;&lt;span style="color: red"&gt; x&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: red"&gt;Name&lt;/span&gt;&lt;span style="color: blue"&gt;="LayoutRoot"&lt;/span&gt;&lt;span style="color: red"&gt; Background&lt;/span&gt;&lt;span style="color: blue"&gt;="White"&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Grid.Resources&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Style&lt;/span&gt;&lt;span style="color: red"&gt; TargetType&lt;/span&gt;&lt;span style="color: blue"&gt;="TextBlock"&lt;/span&gt;&lt;span style="color: red"&gt; x&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: red"&gt;Key&lt;/span&gt;&lt;span style="color: blue"&gt;="ColoredTextBlock"&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Setter&lt;/span&gt;&lt;span style="color: red"&gt; Property&lt;/span&gt;&lt;span style="color: blue"&gt;="Foreground"&lt;/span&gt;&lt;span style="color: red"&gt; Value&lt;/span&gt;&lt;span style="color: blue"&gt;="SeaGreen" /&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Setter&lt;/span&gt;&lt;span style="color: red"&gt; Property&lt;/span&gt;&lt;span style="color: blue"&gt;="FontFamily"&lt;/span&gt;&lt;span style="color: red"&gt; Value&lt;/span&gt;&lt;span style="color: blue"&gt;="Verdana" /&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Setter&lt;/span&gt;&lt;span style="color: red"&gt; Property&lt;/span&gt;&lt;span style="color: blue"&gt;="FontWeight"&lt;/span&gt;&lt;span style="color: red"&gt; Value&lt;/span&gt;&lt;span style="color: blue"&gt;="Bold" /&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Setter&lt;/span&gt;&lt;span style="color: red"&gt; Property&lt;/span&gt;&lt;span style="color: blue"&gt;="FontStyle"&lt;/span&gt;&lt;span style="color: red"&gt; Value&lt;/span&gt;&lt;span style="color: blue"&gt;="Italic" /&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Setter&lt;/span&gt;&lt;span style="color: red"&gt; Property&lt;/span&gt;&lt;span style="color: blue"&gt;="FontSize"&lt;/span&gt;&lt;span style="color: red"&gt; Value&lt;/span&gt;&lt;span style="color: blue"&gt;="14" /&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;Style&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Style&lt;/span&gt;&lt;span style="color: red"&gt; TargetType&lt;/span&gt;&lt;span style="color: blue"&gt;="TextBox"&lt;/span&gt;&lt;span style="color: red"&gt; x&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: red"&gt;Key&lt;/span&gt;&lt;span style="color: blue"&gt;="HighlightedTextBox"&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Setter&lt;/span&gt;&lt;span style="color: red"&gt; Property&lt;/span&gt;&lt;span style="color: blue"&gt;="Background"&lt;/span&gt;&lt;span style="color: red"&gt; Value&lt;/span&gt;&lt;span style="color: blue"&gt;="MintCream" /&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Setter&lt;/span&gt;&lt;span style="color: red"&gt; Property&lt;/span&gt;&lt;span style="color: blue"&gt;="Foreground"&lt;/span&gt;&lt;span style="color: red"&gt; Value&lt;/span&gt;&lt;span style="color: blue"&gt;="#164A2D" /&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Setter&lt;/span&gt;&lt;span style="color: red"&gt; Property&lt;/span&gt;&lt;span style="color: blue"&gt;="BorderBrush"&lt;/span&gt;&lt;span style="color: red"&gt; Value&lt;/span&gt;&lt;span style="color: blue"&gt;="#164A2D" /&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Setter&lt;/span&gt;&lt;span style="color: red"&gt; Property&lt;/span&gt;&lt;span style="color: blue"&gt;="FontFamily"&lt;/span&gt;&lt;span style="color: red"&gt; Value&lt;/span&gt;&lt;span style="color: blue"&gt;="Verdana" /&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Setter&lt;/span&gt;&lt;span style="color: red"&gt; Property&lt;/span&gt;&lt;span style="color: blue"&gt;="FontSize"&lt;/span&gt;&lt;span style="color: red"&gt; Value&lt;/span&gt;&lt;span style="color: blue"&gt;="12" /&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;Style&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Style&lt;/span&gt;&lt;span style="color: red"&gt; TargetType&lt;/span&gt;&lt;span style="color: blue"&gt;="Button"&lt;/span&gt;&lt;span style="color: red"&gt; x&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: red"&gt;Key&lt;/span&gt;&lt;span style="color: blue"&gt;="HighlightedButton"&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Setter&lt;/span&gt;&lt;span style="color: red"&gt; Property&lt;/span&gt;&lt;span style="color: blue"&gt;="Background"&lt;/span&gt;&lt;span style="color: red"&gt; Value&lt;/span&gt;&lt;span style="color: blue"&gt;="SeaGreen" /&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Setter&lt;/span&gt;&lt;span style="color: red"&gt; Property&lt;/span&gt;&lt;span style="color: blue"&gt;="Foreground"&lt;/span&gt;&lt;span style="color: red"&gt; Value&lt;/span&gt;&lt;span style="color: blue"&gt;="#164A2D" /&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Setter&lt;/span&gt;&lt;span style="color: red"&gt; Property&lt;/span&gt;&lt;span style="color: blue"&gt;="FontSize"&lt;/span&gt;&lt;span style="color: red"&gt; Value&lt;/span&gt;&lt;span style="color: blue"&gt;="14" /&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;Style&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;Grid.Resources&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;TextBlock&lt;/span&gt;&lt;span style="color: red"&gt; Style&lt;/span&gt;&lt;span style="color: blue"&gt;="{&lt;/span&gt;&lt;span style="color: #a31515"&gt;StaticResource&lt;/span&gt;&lt;span style="color: red"&gt; ColoredTextBlock&lt;/span&gt;&lt;span style="color: blue"&gt;}"&lt;/span&gt;&lt;span style="color: red"&gt; Margin&lt;/span&gt;&lt;span style="color: blue"&gt;="10,30,0,0"&amp;gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Username:&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;TextBlock&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;TextBlock&lt;/span&gt;&lt;span style="color: red"&gt; Style&lt;/span&gt;&lt;span style="color: blue"&gt;="{&lt;/span&gt;&lt;span style="color: #a31515"&gt;StaticResource&lt;/span&gt;&lt;span style="color: red"&gt; ColoredTextBlock&lt;/span&gt;&lt;span style="color: blue"&gt;}"&lt;/span&gt;&lt;span style="color: red"&gt; Margin&lt;/span&gt;&lt;span style="color: blue"&gt;="10,65,0,0"&amp;gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Password:&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;TextBlock&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;TextBox&lt;/span&gt;&lt;span style="color: red"&gt; x&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: red"&gt;Name&lt;/span&gt;&lt;span style="color: blue"&gt;="UserName"&lt;/span&gt;&lt;span style="color: red"&gt; Style&lt;/span&gt;&lt;span style="color: blue"&gt;="{&lt;/span&gt;&lt;span style="color: #a31515"&gt;StaticResource&lt;/span&gt;&lt;span style="color: red"&gt; HighlightedTextBox&lt;/span&gt;&lt;span style="color: blue"&gt;}"&lt;/span&gt;&lt;span style="color: black"&gt; &lt;/span&gt;&lt;span style="color: red"&gt;Width&lt;/span&gt;&lt;span style="color: blue"&gt;="100"&lt;/span&gt;&lt;span style="color: red"&gt; Height&lt;/span&gt;&lt;span style="color: blue"&gt;="25"&lt;/span&gt;&lt;span style="color: black"&gt; &lt;/span&gt;&lt;span style="color: red"&gt;Margin&lt;/span&gt;&lt;span style="color: blue"&gt;="10,0,0,20"&lt;/span&gt;&lt;span style="color: red"&gt; Text&lt;/span&gt;&lt;span style="color: blue"&gt;="Demo" /&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;TextBox&lt;/span&gt;&lt;span style="color: red"&gt; x&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: red"&gt;Name&lt;/span&gt;&lt;span style="color: blue"&gt;="Password"&lt;/span&gt;&lt;span style="color: red"&gt; Style&lt;/span&gt;&lt;span style="color: blue"&gt;="{&lt;/span&gt;&lt;span style="color: #a31515"&gt;StaticResource&lt;/span&gt;&lt;span style="color: red"&gt; HighlightedTextBox&lt;/span&gt;&lt;span style="color: blue"&gt;}"&lt;/span&gt;&lt;span style="color: black"&gt; &lt;/span&gt;&lt;span style="color: red"&gt;Width&lt;/span&gt;&lt;span style="color: blue"&gt;="100"&lt;/span&gt;&lt;span style="color: red"&gt; Height&lt;/span&gt;&lt;span style="color: blue"&gt;="25"&lt;/span&gt;&lt;span style="color: black"&gt; &lt;/span&gt;&lt;span style="color: red"&gt;Margin&lt;/span&gt;&lt;span style="color: blue"&gt;="10,50,0,0"&lt;/span&gt;&lt;span style="color: red"&gt; Text&lt;/span&gt;&lt;span style="color: blue"&gt;="****" /&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Button&lt;/span&gt;&lt;span style="color: black"&gt; &lt;/span&gt;&lt;span style="color: red"&gt;x&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: red"&gt;Name&lt;/span&gt;&lt;span style="color: blue"&gt;="SubmitButton"&lt;/span&gt;&lt;span style="color: red"&gt; Style&lt;/span&gt;&lt;span style="color: blue"&gt;="{&lt;/span&gt;&lt;span style="color: #a31515"&gt;StaticResource&lt;/span&gt;&lt;span style="color: red"&gt; HighlightedButton&lt;/span&gt;&lt;span style="color: blue"&gt;}"&lt;/span&gt;&lt;span style="color: red"&gt; Width&lt;/span&gt;&lt;span style="color: blue"&gt;="60"&lt;/span&gt;&lt;span style="color: red"&gt; Height&lt;/span&gt;&lt;span style="color: blue"&gt;="30"&lt;/span&gt;&lt;span style="color: red"&gt; Margin&lt;/span&gt;&lt;span style="color: blue"&gt;="210,50,0,0"&lt;/span&gt;&lt;span style="color: red"&gt; Content&lt;/span&gt;&lt;span style="color: blue"&gt;="Submit" /&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;Grid&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt; &lt;p&gt;Here's the result of using Styles: &lt;/p&gt; &lt;p&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="86" alt="silverlight-simple-style-green-theme" src="http://www.alistforeverything.com/image.axd?picture=WindowsLiveWriter/SilverlightSkinningwithStyles_1A3/silverlight-simple-style-green-theme_3.png" width="260" border="0"&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;As you can see, Styles are an important Silverlight / WPF concept to know.&amp;nbsp; It might seem confusing if you haven't used them before, but they are really simple once you understand them.&amp;nbsp; Styles are a powerful way of organizing your code, making it easier to maintain, and also help to enforce a consistent appearance across your application(s).&amp;nbsp; Have fun coding with Style! &lt;/p&gt;</description>
      <link>http://www.alistforeverything.com/post/2008/05/Silverlight-Skinning-with-Style.aspx</link>
      <dc:creator>snyhol</dc:creator>
      <comments>http://www.alistforeverything.com/post/2008/05/Silverlight-Skinning-with-Style.aspx#comment</comments>
      <guid>http://www.alistforeverything.com/post.aspx?id=a6c24fde-ead9-4d32-bb0a-8dadebccd8e3</guid>
      <pubDate>Mon, 19 May 2008 16:19:03 -0700</pubDate>
      <category>Software Dev</category>
      <dc:publisher>snyhol</dc:publisher>
      <pingback:server>http://www.alistforeverything.com/pingback.axd</pingback:server>
      <pingback:target>http://www.alistforeverything.com/post.aspx?id=a6c24fde-ead9-4d32-bb0a-8dadebccd8e3</pingback:target>
      <slash:comments>3</slash:comments>
      <lastBuildDate>Fri, 30 Oct 2009 03:06:10 -0700</lastBuildDate>
      <trackback:ping>http://www.alistforeverything.com/trackback.axd?id=a6c24fde-ead9-4d32-bb0a-8dadebccd8e3</trackback:ping>
      <wfw:comment>http://www.alistforeverything.com/post/2008/05/Silverlight-Skinning-with-Style.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.alistforeverything.com/syndication.axd?post=a6c24fde-ead9-4d32-bb0a-8dadebccd8e3</wfw:commentRss>
    </item>
    <item>
      <title>$51,381 in Prize Money at 99designs</title>
      <description>&lt;p&gt;I recently heard about &lt;a href="http://99designs.com/"&gt;99 designs&lt;/a&gt;.&amp;nbsp; It is kind of like a contractor website for graphic designers.&amp;nbsp; Their goal is to help people "buy and sell designs."&amp;nbsp; The way it works is that someone will launch a contest where they need a graphic design.&amp;nbsp; When you create a contest, you offer a cash prize for the winning submission.&amp;nbsp; You can also offer non-cash prizes to make it interesting.&amp;nbsp; Designers create and submit graphics for you.&amp;nbsp; You pick a winner and pass out the prize money.&amp;nbsp; &lt;/p&gt; &lt;p&gt;The business model used by 99 designs is based on the concept of &lt;a href="http://en.wikipedia.org/wiki/Crowdsourcing"&gt;crowdsourcing&lt;/a&gt; - outsourcing a unit of work to a large group of people.&amp;nbsp; This service is a &lt;a href="http://www.sitepoint.com/blogs/2008/02/13/99designs-launches/"&gt;rebranded version of the original SitePoint contests&lt;/a&gt;.&amp;nbsp; The person outsourcing the work pays a $39 fee to 99 designs and at least a $50 prize to the contest winner.&amp;nbsp; You can only ask for one graphic per contest.&amp;nbsp; For example, a business card and website logo would be two separate contests.&lt;/p&gt; &lt;p&gt;This money message at the footer caught my attention: &lt;/p&gt; &lt;p&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="48" alt="99designs-prize-money" src="http://www.alistforeverything.com/image.axd?picture=WindowsLiveWriter/51381inPrizeMoneyat99designs_A03A/99designs-prize-money_3.png" width="286" border="0"&gt; &lt;/p&gt; &lt;p&gt;So far, it sounds like a good concept, right?&amp;nbsp; You can tell my bias.&amp;nbsp; I'm not a designer.&amp;nbsp; I am a developer / business person who needs to purchase graphics.&amp;nbsp; It sounds like a cheap way to choose from a bunch of custom designs, which were all custom drawn for me.&amp;nbsp; Sure, most of them will suck and some of them will be good.&amp;nbsp; Just pick from the good ones.&amp;nbsp; Great concept. &lt;/p&gt; &lt;p&gt;That is, until I started hearing what other designers had to say about 99 designs.&amp;nbsp; In an Open Designs forum, Sean Pollock said that &lt;a href="http://www.opendesigns.org/forum/discussion/1996/"&gt;most of the designers use the contests for practice&lt;/a&gt;.&amp;nbsp; Some designers, like Chris at Positive Space, claim that &lt;a href="http://www.positivespaceblog.com/archives/99designs-the-evil-that-changed-names/"&gt;sites like this devalue the graphic design industry&lt;/a&gt;.&amp;nbsp; Kevin Potts at GraphicPush criticizes that designers are "&lt;a href="http://www.graphicpush.com/99designs-bullshit-20"&gt;doing spec work for third-world prices with no option for copyright retention&lt;/a&gt;."&amp;nbsp; &lt;/p&gt; &lt;p&gt;I thought it might be fun to play around with graphic design and enter one of their contests.&amp;nbsp; The contest I looked at already had more than 50 entries.&amp;nbsp; My chances of winning the prize are not good.&amp;nbsp; This is just like what Sean Pollock described.&amp;nbsp; I would be using the contest as a training ground to practice my skills... or as a playground just to have fun... but not as a serious money making effort.&amp;nbsp;&amp;nbsp; At best, it would be a side gig.&amp;nbsp; &lt;/p&gt; &lt;p&gt;I disagree with the criticism that it is underpriced.&amp;nbsp; It's not dirt cheap...&amp;nbsp; Free clip art is dirt cheap.&amp;nbsp; Some people are paying $500+ for one graphic.&amp;nbsp; The cheapest you can get one graphic at 99 designs is $89.&amp;nbsp; For a hobbyist designer, the winning prize money could be a nice side gig.&lt;/p&gt; &lt;p&gt;For hobby endeavors, small businesses, or startups, using the "less than top quality" graphics from 99 designs will be good enough.&amp;nbsp; It can keep costs down.&amp;nbsp; Does this devalue the graphics community?&amp;nbsp; I don't think so.&amp;nbsp; I didn't see big companies like Nike, Microsoft, or Ford launching contests on this site.&amp;nbsp; Companies that have the money to hire top designers are not replacing their designers with low cost services like this.&amp;nbsp; &lt;/p&gt; &lt;p&gt;99 designs fits a specific niche, where people on a budget can connect with designers willing to work for cheap.&amp;nbsp; &lt;/p&gt;</description>
      <link>http://www.alistforeverything.com/post/2008/05/51-381-in-Prize-Money-at-99designs.aspx</link>
      <dc:creator>snyhol</dc:creator>
      <comments>http://www.alistforeverything.com/post/2008/05/51-381-in-Prize-Money-at-99designs.aspx#comment</comments>
      <guid>http://www.alistforeverything.com/post.aspx?id=4815eadc-f456-4b01-8afb-568899051bb7</guid>
      <pubDate>Mon, 19 May 2008 12:19:00 -0700</pubDate>
      <category>Business</category>
      <category>Graphic Design</category>
      <dc:publisher>snyhol</dc:publisher>
      <pingback:server>http://www.alistforeverything.com/pingback.axd</pingback:server>
      <pingback:target>http://www.alistforeverything.com/post.aspx?id=4815eadc-f456-4b01-8afb-568899051bb7</pingback:target>
      <slash:comments>11</slash:comments>
      <lastBuildDate>Fri, 30 Oct 2009 03:06:10 -0700</lastBuildDate>
      <trackback:ping>http://www.alistforeverything.com/trackback.axd?id=4815eadc-f456-4b01-8afb-568899051bb7</trackback:ping>
      <wfw:comment>http://www.alistforeverything.com/post/2008/05/51-381-in-Prize-Money-at-99designs.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.alistforeverything.com/syndication.axd?post=4815eadc-f456-4b01-8afb-568899051bb7</wfw:commentRss>
    </item>
    <item>
      <title>Silverlight 2 Features Used in My RIA Run Game</title>
      <description>&lt;p&gt;&lt;em&gt;TECHNOLOGIES USED: Silverlight 2 Beta 1, Expression Blend 2.5 Beta, Expression Design 2 Beta, Visual Studio 2008&lt;/em&gt;&lt;/p&gt; &lt;p&gt;I decided to enter the &lt;a href="http://www.devx.com/RIA/Door/37507"&gt;RIA Run contest&lt;/a&gt;, mostly to learn Silverlight 2 while building casual games.&amp;nbsp; Since I was already &lt;a href="http://silverlightrocks.com/community/blogs/silverlight_games_101/archive/2008/03/12/back-to-the-beginning-sorta.aspx"&gt;learning&lt;/a&gt; how to make a "shoot'em up" type of game, I kept going with it - but added more interesting characters.&amp;nbsp; Upon reading the contest description and rules, I realized that this competition was perhaps more about showcasing the new features in Silverlight 2 than about the gameplay.&amp;nbsp; It makes sense - this is a Microsoft sponsored event and they always want to promote their new technologies.&amp;nbsp; For this version of my game, I made a strategic decision to focus more on the technology than on the gameplay.&amp;nbsp; &lt;/p&gt; &lt;p&gt;The game I made is called &lt;strong&gt;Solar Shooter: A Gas Guzzler's Nightmare&lt;/strong&gt;.&amp;nbsp; Part of my score in the competition will be based on how many people play the game &lt;em&gt;on the devx.com website&lt;/em&gt;.&amp;nbsp; As soon as I get my link, I will post it right here.&amp;nbsp; In the meanwhile, you can play the game on my &lt;a href="http://www.SL42.com/RIARun/SolarShooter.aspx"&gt;new SL42.com games website&lt;/a&gt;.&amp;nbsp; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;UPDATE: &lt;/font&gt;&lt;/strong&gt;Solar Shooter was selected as a &lt;a href="http://www.devx.com/RIA/Door/37728"&gt;finalist&lt;/a&gt;!&amp;nbsp; From May 16 to June 5, 2008, support my entry into the contest by &lt;a href="http://www.devx.com/RIA/Game/37741?id=274"&gt;playing Solar Shooter at devx.com&lt;/a&gt;.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Here's a brief description of the game: &lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;Frustrated by the high gas prices at the pump? Blow off some steam playing “Solar Shooter: A Gas Guzzler’s Nightmare.” In this shoot’em up arcade game, it’s you vs. the gas guzzlers. Use your solar powered, electricity shooting hover car to face off against the single occupant commuter, the angry guy in the SUV, and even the dreaded gas station pump. Gotta zap them before they soak you.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;The entry form asked me to briefly describe "&lt;em&gt;How does this game use Silverlight 2.0 Beta features? What quirks, tips, or gotchas did you uncover?&lt;/em&gt;"&amp;nbsp; They were looking for a short description... but I had way more to say about Silverlight 2 features than could fit into 60 words.&amp;nbsp; Below is my complete list.&amp;nbsp; &lt;/p&gt; &lt;h2&gt;Silverlight 2 Beta 1 Features Used in Solar Shooter&lt;/h2&gt; &lt;p&gt;&lt;strong&gt;Managed code.&amp;nbsp; &lt;/strong&gt;The application was built entirely within the Silverlight framework.&amp;nbsp; No HTML or Javascript needed.&amp;nbsp; BCL and CLR all the way!!!&amp;nbsp; Three cheers for events, delegates, strongly typed objects, object inheritance and composition.&amp;nbsp; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;Layout Management.&lt;/strong&gt;&amp;nbsp; The game makes extensive use of the built-in layout management controls (i.e., Grid, StackPanel, Canvas) in addition to the built-in layout management capabilities.&amp;nbsp; &lt;/p&gt; &lt;ul&gt; &lt;li&gt;RotateTransforms are used for rotating the game characters (also known as "sprites")  &lt;li&gt;TranslateTransforms are used to add a shadow to text  &lt;li&gt;A ScaleTransform is used to resize the game when it's parent browser window resizes  &lt;li&gt;A Border was used to create rounded corners on for the in-game score  &lt;li&gt;ZIndex, Opacity and Visibility are used to manage the dynamic display  &lt;li&gt;Margin is typically used to position objects within a grid cell.&amp;nbsp; To remember what the 4 numbers mean when setting margins in XAML (i.e. Margin="4,12,30,2") - think of the acronym "LTRB," which sounds like "Letter B," and is short for Left,Top,Right,Bottom.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;Data Binding.&lt;/strong&gt;&amp;nbsp; The game uses databinding whenever possible to simplify connecting the UI to several data sources. &lt;/p&gt; &lt;ul&gt; &lt;li&gt;Two-Way data binding is used to manage the audio effects.&amp;nbsp; The MediaElement playing the sounds is bound to a toggle button that can be used to mute them.&amp;nbsp; Since there is no way to automatically databind the two properties directly, I made a bindable CLR class (implements INotifyPropertyChanged) that acts as a binding surrogate to connect them.&amp;nbsp; &lt;li&gt;One-Way data binding is used for the score and level text in TextBlocks.&amp;nbsp; In both cases, I wrote Converters to change the data content into text to show on screen.&amp;nbsp; For example, one converter modifies the score to include the thousands separator.&amp;nbsp; &lt;li&gt;One-Way data binding is also used to display the ObservableCollection of high scores in a DataGrid.&amp;nbsp; A Factory Pattern is used to allow for multiple scoreboards (i.e., local, server, etc.)&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;Control template and skinning.&lt;/strong&gt;&amp;nbsp; &lt;font color="#ff0000"&gt;&lt;font color="#000000"&gt;This game uses both Styles and ControlTemplates.&lt;/font&gt; &lt;/font&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Styles are used to format the text on the instructions page.  &lt;li&gt;ControlTemplates are used to make the custom round buttons for Mute, closing the instructions / high score screens, on the pause screen and on the game over screen.&amp;nbsp; They were also used to make irergular shaped buttons on the main screen.&amp;nbsp; The button on that screen are shaped like a car, lightning bolt, and an explosion.&amp;nbsp; &lt;li&gt;ControlTemplates are also used to provide animated effects for events like mouseover or pressed.&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;li&gt;Making templates from Expression Design was harder than I would have liked... but much easier than trying to hand-code the vector graphics.&amp;nbsp; Some of the gotchas I encountered while exporting the graphics follow. Inside a ContentTemplate, you cannot have two controls with the same x:Name... but Design likes to export XAML with the x:Name specified.&amp;nbsp; I found it easiest to export the entire graphics for the different states of my controls... leave them in the &amp;lt;Canvas&amp;gt; objects as exported by Design... and toggle the opacity of those Canvas objects in the event storyboards.&amp;nbsp; Probably not the best performance - fairly fast to build!&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;Core Form Controls.&lt;/strong&gt;&amp;nbsp; Several controls are used in making this game.&amp;nbsp; &lt;/p&gt; &lt;ul&gt; &lt;li&gt;TextBlocks are used for the current score, level transitions, game over screen, and instructions screen.&amp;nbsp; &lt;li&gt;Buttons are used for most user interaction: show screens, start a new game, etc.  &lt;li&gt;A WatermarkedTextbox is used to get the user's name for display on the high scores list.  &lt;li&gt;A ToggleButton is used to allow the user to mute the sound. &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;Build-In Layout Management Controls.&lt;/strong&gt;&amp;nbsp; The game makes extensive use of Canvas controls (included in Silverlight 1.0) as well as the newly introduced Grid and StackPanel controls.&lt;/p&gt; &lt;ul&gt; &lt;li&gt;The Canvas is the lightest weight control and I used it whenever I could.&amp;nbsp; It's worth pointing out that it is also the only layout control with a ZIndex attached property.  &lt;li&gt;The Grid makes some layout tasks extremely simple and is used as the main "LayoutRoot" container.&amp;nbsp; The Rows and Columns are used for placing the items in the top bar (score + lives), side bar (volume control), and bottom bar (links).  &lt;li&gt;The StackPanel is used whenever items could just flow down or across the screen... for example the "number of lives" indicator. &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;Common Functionality Controls.&lt;/strong&gt;&amp;nbsp; The game used other controls where it made sense.&amp;nbsp; &lt;/p&gt; &lt;ul&gt; &lt;li&gt;MediaElement is used to play the background music and also could be used for character sounds.  &lt;li&gt;Hyperlink buttons are used to provide the game player with access to information from another website. &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;Data Manipulation Controls.&lt;/strong&gt;&amp;nbsp; Games typically don't use as much data as business applications, so there isn't much need for controls that handle data.&amp;nbsp; However, the "high scores" listing does provide one place to show off some data manipulation.&lt;/p&gt; &lt;ul&gt; &lt;li&gt;A DataGrid is used to display data from multiple objects (score and user objects).&amp;nbsp; Through databinding, the underlying data source could be edited by adding a new score at the end of a game or deleting a score by pressing the DELETE key.&amp;nbsp; &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;Collections.&lt;/strong&gt;&amp;nbsp; Collections are used for keeping track of game objects and databinding the saved scores. &lt;/p&gt; &lt;ul&gt; &lt;li&gt;Managing game objects (sprites) was done by adding and deleting them from a List&amp;lt;SpriteBase&amp;gt; collection.  &lt;li&gt;One trick to get around was dynamically re-sorting an ObservableCollection when adding a new item.&amp;nbsp; I created a new subclass to handle this functionality.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;I/O &amp;amp; Local Storage.&lt;/strong&gt; Scores are saved to the computer in a persistent location.&amp;nbsp; In other words, they are available across browser sessions.&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Saving scores to the computer uses a Silverlight concept called Isolated Storage.&amp;nbsp; This is functionality a programmer can use to access a sandboxed location on the user's hard drive.&amp;nbsp; Data can be saved to the disk and retrieved from the disk using I/O operations.&amp;nbsp; To imlpement this functionality, I use IsolatedStorageFile, IsolatedStorageFileStream, StreamReader, and StreamWriter objects.  &lt;li&gt;Local storage is also used to save user settings between sessions.&amp;nbsp; Specifically, the ApplicationSettings object is used to save the player's name.&amp;nbsp; It was tricky to store a CLR object in both a bindable Resource (defined in XAML) and in the ApplicationSettings.&amp;nbsp; Basically, I had to use the Decorator Pattern to consolidate the functionality.&amp;nbsp; Also, only serializable objects can be put in the ApplicationSettings.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;Generics.&lt;/strong&gt;&amp;nbsp; Generics are a useful tool in making comlpicated coding tasks simpler. &lt;/p&gt; &lt;ul&gt; &lt;li&gt;Generics are used to help in managing the collections of game characters (sprites).&amp;nbsp; For example, the collection that kept track of the enemies on the screen is defined as a List&amp;lt;SpriteBase&amp;gt;... but contains several types of objects: EnemyOilBarrel, EnemyGasTanker, and EnemyGasCan.&amp;nbsp; &lt;li&gt;Generics are used with databinding to a collection.&amp;nbsp; &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;Threading. &lt;/strong&gt;The new DispatcherTimer class was THE fundamental concept behind making this game work. &lt;/p&gt; &lt;ul&gt; &lt;li&gt;In Silverlight 1.0, developers would use a Storyboard object to manage the game loop (the core component of the game engine that makes sure game actions happen smoothly.  &lt;li&gt;This game uses the Silverlight 2 DispatcherTimer class to run the game loop.&amp;nbsp; DispatcherTimer is used to run a Timer object on the UI thread.&amp;nbsp; The Interval is set to TimeSpan.FromMilliseconds(0) for automatically smooth animations.&amp;nbsp; The Tick event is used to manage critical actions, like making random enemies, making hero and enemy ammo, moving heroes, enemies, and ammo, collision detection, handling user input (keystrokes) and also initiating game events like changing levels.  &lt;li&gt;A wrapper class is used with the DispatcherTimer to convert game action to elapsed time, making the gameplay independent of CPU speed.&amp;nbsp; &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;Globalization. &lt;/strong&gt;This game incorporates globalization by creating a framework for globalization and showing culturally specific number formatting on the current score and in the high scores table.&lt;/p&gt; &lt;ul&gt; &lt;li&gt;The game integrates with ASP.NET for initial globalization support.&amp;nbsp; ASP.NET is used to retrieve the culture settings from the browser and pass them to the Silverlight plug-in's Init property.&amp;nbsp; The Silverlight project grabs the setting in App.xaml and stores the browser-based culture setting in an application Resource.&amp;nbsp; It also sets the UserControl's Language DependencyProperty.  &lt;li&gt;This framework can be expanded by incorporating RESX resource files to globalize the text displayed on screen.&amp;nbsp; All text was displayed in bindable TextBlock controls to aid in this effort.&amp;nbsp; No text was stored inside a graphic (in Expression Design, select Export Text as TextBlock).  &lt;li&gt;This framework can also be extended to allow the user to override the initial culture setting by selecting another language from a Configuration or Main Menu screen.&amp;nbsp; &lt;li&gt;Note that the DataGrid showing a date inside a TextBlock automatically formatted the date to comply with cultural sensitivity.&amp;nbsp; I did not have to add code to explicitly format the dates.&amp;nbsp; I just had to set the current culture in the UserControl's Language DependencyProperty.&amp;nbsp; &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;LINQ to XML.&lt;/strong&gt; The game uses XML to store the scores in the Isolated Storage.&amp;nbsp; &lt;/p&gt; &lt;ul&gt; &lt;li&gt;To simplify the serialization and deserialization of data stored to the Isolated Storage, LINQ to XML is used.&amp;nbsp; I found the XDocument object model easier to work with than XMLWriters for serialization.&amp;nbsp; Pulling out the data was even easier with a XDocument.Parse() method to extract the XML tree and then a LINQ query to convert it to CLR objects. &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;OOP.&amp;nbsp; &lt;/strong&gt;This game makes use of some object oriented concepts.&amp;nbsp; &lt;/p&gt; &lt;ul&gt; &lt;li&gt;Interfaces were used to support the creation of different scoreboards.&amp;nbsp; For example, one scoreboard could use scores saved to "my computer" and a different scoreboard could use scores saved on a public server.  &lt;li&gt;Inheritance is used on the UserControls to consolidate the common base functionality for sprites.&amp;nbsp; Since they are visual elements, putting them in UserControl containers made sense.&amp;nbsp; This approach was tricky to implement and worked, but meant losing designer support in Expression Blend for any subclassed UserControl.&amp;nbsp; &lt;li&gt;A Decorator Pattern is used to consolidate an object defined in the UserControl.Resources markup with an object saved in the IsolatedStorage with ApplicationSettings.&amp;nbsp; &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;Keyboard Input.&amp;nbsp; &lt;/strong&gt;The game action interacts with the user via keyboard input.&amp;nbsp; &lt;/p&gt; &lt;ul&gt; &lt;li&gt;The System.Windows.Input.Key enum was added in Silverlight 2 and it is nice!&amp;nbsp; &lt;li&gt;Since keyboard input is used, the application cannot be run in true "FullScreen" mode.&amp;nbsp; Silverlight does not allow keyboard input while in FullScreen.&amp;nbsp; A workaround for this is using 100% of the available browser window and letting the user maximize the browser. &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;Mouse Input.&lt;/strong&gt;&amp;nbsp; The game uses mouse input mostly for administrative tasks.&amp;nbsp; &lt;/p&gt; &lt;ul&gt; &lt;li&gt;Mouse events are used to capture button clicks.&amp;nbsp; &lt;li&gt;Mouse actions are automatically captured by the HyperlinkButtons. &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;Attached Properties, Dependency Properties, etc.&lt;/strong&gt;&amp;nbsp; &lt;/p&gt; &lt;ul&gt; &lt;li&gt;Attached Properties are commonly used in conjunction with layout management support.&amp;nbsp; They are seen in properties like Canvas.Top.  &lt;li&gt;Dependency Properties are used in data binding situations, using framework methods like GetValue and SetValue.&amp;nbsp; &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;XAP Packaging.&lt;/strong&gt;&amp;nbsp; This game was deployed as a XAP compressed file. &lt;/p&gt; &lt;ul&gt; &lt;li&gt;The XAP package was analyzed for size in KB.&amp;nbsp; This was an important task because a smaller download size makes the applications more accessible to users with slower Internet connections.&amp;nbsp; Here are some tips for reducing the XAP size:  &lt;ul&gt; &lt;li&gt;Use Expression Design tricks to compress the XAML graphics.&amp;nbsp; &lt;li&gt;Remove unneeded project references, like Syndication or XMLSerialization.  &lt;li&gt;Leave media files outside the XAP by marking them with a Build Action of None and Always Copy to the output directory.&amp;nbsp; Manually copy them to the deployment server.&amp;nbsp; This will increase the load time for your application because media files are typically not needed when the application first loads. &lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;Audio Support.&lt;/strong&gt;&amp;nbsp; The game uses audio files to play background and special effects music.&lt;/p&gt; &lt;ul&gt; &lt;li&gt;The audio files are converted to compressed WMA format using Expression Encoder 2 Beta.&amp;nbsp; &lt;li&gt;The files are deployed to the server outside the XAP.  &lt;li&gt;The media is played using a MediaElement file.&amp;nbsp; It is bound to other controls/objects, looped for continuous playback, and played from code in response to an event.  &lt;li&gt;The audio files must be compressed in a compatible format.&amp;nbsp; Expression Encoder is a good tool for the job.&amp;nbsp; I got media errors when trying to play MP3 files compressed in Audacity.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;Number Formatting.&amp;nbsp; &lt;/strong&gt;The number formatting classes of the framework are used to display the current score in a culture-specific manner.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;C# Automatic Properties.&amp;nbsp; &lt;/strong&gt;For simple properties, my custom classes use the { get; set; } syntax.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;C# Implicitly Typed Variables.&lt;/strong&gt;&amp;nbsp; For the LINQ to XML code, the var keyword is used to create imlicitly typed variables. &lt;/p&gt; &lt;p&gt;&lt;strong&gt;Error Handling.&lt;/strong&gt;&amp;nbsp; To assist in development and error reporting, I use global error handlers.&amp;nbsp; &lt;/p&gt; &lt;ul&gt; &lt;li&gt;A global error handler is used in the App.xaml class: Application_UnhandledException  &lt;li&gt;The plugin also provides an interface to pass errors to a JavaScript function.&amp;nbsp; &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;Backgrounds: No DrawingBrush.&lt;/strong&gt;&amp;nbsp; A simple method to add a fancy background is to put vector graphics in a resource that is added as a DrawingBrush.&amp;nbsp; Since Silverlight does not include this object, a workaround was to put the graphics in a container (UserControl, Canvas, etc.) and place that container behind everything else using the ZIndex property. &lt;/p&gt; &lt;p&gt;&lt;strong&gt;2D Animations.&amp;nbsp; &lt;/strong&gt;Aaah, one of the cornerstones of a Silverlight application.&amp;nbsp; &lt;/p&gt; &lt;ul&gt; &lt;li&gt;Storyboard objects are used to animate the level transitions, the blinking car crash, the explosions, and much more.&amp;nbsp; The Storyboards in this came are defined with DoubleAnimationUsingKeyFrame and SplineDoubleKeyFrame objects.  &lt;li&gt;Game characters (sprites) are manually animated by setting their Canvas.Top and Canvas.Left attached properties to move them around the screen (game surface).&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;2D Vector Graphics.&lt;/strong&gt;&amp;nbsp; To take advantage of application resizing, all graphics in this game are vector graphics created in Expression Design. &lt;/p&gt; &lt;ul&gt; &lt;li&gt;Rectangle, Ellipse, and Path objects are used to draw the graphics.&amp;nbsp; Path mini language was frequently used  &lt;li&gt;LinearGradientBrush, RadialGradientBrush, GradientStop, Fill, Stroke are used to modify the appearance of the shape objects.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;Text.&lt;/strong&gt;&amp;nbsp; Text is rendered through a variety of controls.&amp;nbsp; &lt;/p&gt; &lt;ul&gt; &lt;li&gt;TextBlocks show read-only text, TextBoxes interact with the user, DataGrid and Buttons display other text for user interaction.&amp;nbsp; Common formatting properties are used, like font size, alignment, font family, and font weight.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;Garbage Collection.&amp;nbsp; &lt;/strong&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;The C# Using statement is used when working with Isolated Storage.&amp;nbsp; The Using statement improves garbage collection, automatically making calls to the Dispose method. &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h2&gt;End To End Experience with Expression Studio&lt;/h2&gt; &lt;p&gt;Visual Studio 2008 is a good tool for writing code and also for writing XAML markup.&amp;nbsp; However, it is not a strong tool for creating the dynamic layout, animations, fancy graphics, and multimedia necessary in a good game.&amp;nbsp; For those tasks, Expression Studio makes a good complimentary toolset.&amp;nbsp; Below are brief descriptions of my experiences using these products while making Solar Shooter.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Expression Blend 2.5 Beta.&lt;/strong&gt;&amp;nbsp; This tool was used alongside Visual Studio to develop the application.&amp;nbsp; &lt;/p&gt; &lt;ul&gt; &lt;li&gt;It was better than Visual Studio when performing layout or animation tasks.&amp;nbsp; It provides a rich controls palette and the properties panel was a good place to discover what I could do to a control.&amp;nbsp; For editing raw XAML and C# code, Visual Studio was better (it includes intellisense for XAML!!).  &lt;li&gt;Be cautious when using both tools simultaneously!&amp;nbsp; It is easy to overwrite edits in one program with the other.&amp;nbsp; &lt;li&gt;Blend provides an interactive designer surface, which provides a much nicer design experience than the current read-only designer in Visual Studio.&amp;nbsp; &lt;li&gt;The Blend designer tends to throw more errors about the underlying CLR classes than the Visual Studio designer or even the runtime.&amp;nbsp; For example, Blend expects Resources to either subclass from DependencyObject OR use the x:Key declaration.&amp;nbsp; &lt;li&gt;Blend has an awesome feature that translates layout controls.&amp;nbsp; For example, you can convert a Canvas containing vector graphics absolutely positioned with Top and Left coordinates into a Grid with positioning done by Margin.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;Expression Design 2 Beta.&amp;nbsp; &lt;/strong&gt;All graphics used in this game are vector graphics created in Expression Design.&amp;nbsp; &lt;/p&gt; &lt;ul&gt; &lt;li&gt;Expression Design is a much better tool than Expression Blend for creating and editing graphics.&amp;nbsp; It is much more powerful and provides a more efficient design experience.&amp;nbsp; &lt;li&gt;Since Expression Design 2 Beta was built to comply with Silverlight 1, importing the graphics as Silverlight XAML was not a completely smooth process.&amp;nbsp; The XAML exported by Design needed to be manually edited to comply with Silverlight 2.&amp;nbsp; &lt;li&gt;To optimize the export size from Expression Design, do not name objects, do not place objects in XAML layout containers, and leave text as Editable TextBlocks.&amp;nbsp; Also, when building the objects, try to use the simplest shapes possible, minimize the number of nodes on paths, and avoid fancy Strokes.&amp;nbsp; Using bitmaps (in "live effects", Fill, Stroke, etc.) might lead to unpredictable behavior when exporting to XAML vector based graphics.&amp;nbsp; &lt;li&gt;To facilitate globalization, all text must be editable by code.&amp;nbsp; Ideally, no text would be embedded in bitmap graphics or converted to paths in vector graphics.  &lt;li&gt;One gotcha I discovered was that your vector graphics may extend outside of the slice and Design tries to solve this by putting a clipping mask on the parent canvas.&amp;nbsp; &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;Expression Encoder 2 Beta.&lt;/strong&gt;&amp;nbsp; The audio files were converted to WMA format and compressed with Expression Encoder.&amp;nbsp; &lt;/p&gt; &lt;ul&gt; &lt;li&gt;I was impressed with Encoder's interface.&amp;nbsp; I was able to easily compress the audio files using WMA settings 16kbps bitrate, 22kHz sample rate, 16 bits per sample, and Mono channels.&amp;nbsp; The compression rivaled MP3 compression from other programs... and worked seamlessly with Silverlight.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h2&gt;More Silverlight 2 Features&lt;/h2&gt; &lt;p&gt;As if I didn't already use enough features, here are more that I would have implemented if I had more time: &lt;/p&gt; &lt;ul&gt; &lt;li&gt;Use a Checkbox control to filter the scoreboard to only show my scores.  &lt;li&gt;Making the DataGrid (scoreboard) be re-sortable.  &lt;li&gt;Use two DatePicker controls to filter the scoreboard to only show scores within a certain date range.  &lt;li&gt;Use a Slider control to adjust the difficulty of the game.  &lt;li&gt;Use a ListBox control to allow the user to change their language.&amp;nbsp; (A DropDown control would be better, but that control was not included in Silverlight 2 Beta 1.)  &lt;li&gt;Use the FileOpen dialog to upload an avatar (picture) from the user.&amp;nbsp; Show that avatar on the scoreboard.  &lt;li&gt;Use Cross Domain Network Access (sockets) to allow people to create game groups with private scoreboards that update each other.  &lt;li&gt;Use HTTP Networking and WCF Services to provide a global public scoreboard that is hosted on the server.  &lt;li&gt;Use JSON for passing data across networks, since it is lighter weight than XML.  &lt;li&gt;Use Asynchronous Programming with sockets, networking, and perhaps with downloading media.&amp;nbsp; &lt;li&gt;Use Cryptography to cache and encrypt user information.  &lt;li&gt;Extend the usage of Globalization to also globalize text (it currently just "localizes" number and date formatting).  &lt;li&gt;Use HTML DOM / JavaScript Interop for... wait a minute! This is a managed-code application!&amp;nbsp; Screw the interop! &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h2&gt;Conclusion&lt;/h2&gt; &lt;p&gt;Whew!&amp;nbsp; I put &lt;strong&gt;&lt;em&gt;a lot&lt;/em&gt;&lt;/strong&gt; into this game.&amp;nbsp; Looking back on this process, I can see that I did learn a lot about getting the most out of Silverlight 2.&amp;nbsp; It is a very powerful framework that met most of my needs.&amp;nbsp; &lt;/p&gt; &lt;p&gt;What's next?&amp;nbsp; I'm going to learn and incorporate more features into this game.&amp;nbsp; I also plan on enhancing the gameplay with boss characters, special weapons, more sound effects, and more storyline.&amp;nbsp; The updated version will be posted to the &lt;a href="http://SL42.com"&gt;SL42.com&lt;/a&gt; website.&amp;nbsp; &lt;/p&gt;</description>
      <link>http://www.alistforeverything.com/post/2008/05/Silverlight-2-Features-Used-in-My-RIA-Run-Game.aspx</link>
      <dc:creator>snyhol</dc:creator>
      <comments>http://www.alistforeverything.com/post/2008/05/Silverlight-2-Features-Used-in-My-RIA-Run-Game.aspx#comment</comments>
      <guid>http://www.alistforeverything.com/post.aspx?id=af2ff8a9-183c-4c27-b976-0ed70812c337</guid>
      <pubDate>Fri, 16 May 2008 19:37:00 -0700</pubDate>
      <category>Software Dev</category>
      <dc:publisher>snyhol</dc:publisher>
      <pingback:server>http://www.alistforeverything.com/pingback.axd</pingback:server>
      <pingback:target>http://www.alistforeverything.com/post.aspx?id=af2ff8a9-183c-4c27-b976-0ed70812c337</pingback:target>
      <slash:comments>3</slash:comments>
      <lastBuildDate>Fri, 30 Oct 2009 03:06:10 -0700</lastBuildDate>
      <trackback:ping>http://www.alistforeverything.com/trackback.axd?id=af2ff8a9-183c-4c27-b976-0ed70812c337</trackback:ping>
      <wfw:comment>http://www.alistforeverything.com/post/2008/05/Silverlight-2-Features-Used-in-My-RIA-Run-Game.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.alistforeverything.com/syndication.axd?post=af2ff8a9-183c-4c27-b976-0ed70812c337</wfw:commentRss>
    </item>
    <item>
      <title>Becoming a Devigner</title>
      <description>&lt;p&gt;People who can create an attractive UI (like a designer) &lt;strong&gt;and&lt;/strong&gt; write code (like a software developer) are getting called various names... a lot of new names, like dev-igner, des-eloper, design-loper, designer-developer, creative developer, or integrator.&amp;nbsp; My favorite is "devigner."&amp;nbsp; &lt;/p&gt; &lt;p&gt;A devigner is someone who can work on both sides of the &lt;a href="http://blogs.zdnet.com/Stewart/?p=513"&gt;designer-developer workflow&lt;/a&gt;. Devigners have been described by Adam Kinney as &lt;a href="http://adamkinney.com/blog/192/default.aspx"&gt;people who design and develop&lt;/a&gt;, by Ryan Stewart as &lt;a href="http://blog.digitalbackcountry.com/?p=593"&gt;people who move seamlessly between their development tools and their design tools&lt;/a&gt;, by Heather Solomon as people &lt;a href="http://www.heathersolomon.com/blog/archive/2005/08/14/1510.aspx"&gt;who can bang out CSS and pretty graphics and turn around and fix the UI in C# code, can do up a fine front end, but actually understand the backend&lt;/a&gt;, and by Kevin Tate as &lt;a href="http://stepchange.typepad.com/blog/2007/06/developer-desig.html"&gt;someone how is in-between a 'designer' and a 'developer,' a design/developer hybrid&lt;/a&gt;.&amp;nbsp; Fernando Comet even declared the &lt;a href="http://fernando-comet.blogspot.com/2008/03/how-to-be-devigner-5-commandments.html"&gt;5 Commandments of a Devigner&lt;/a&gt;.&amp;nbsp;&amp;nbsp; &lt;/p&gt; &lt;p&gt;Here is my list that defines the skills needed to call yourself a well rounded devigner:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Emphasizes the user experience (UX)  &lt;li&gt;Can create UI code  &lt;ul&gt; &lt;li&gt;Uses "developer" or "designer" tools &lt;li&gt;Makes CSS, HTML, XAML, Flash, etc.&lt;/li&gt;&lt;/ul&gt; &lt;li&gt;Can create backend code  &lt;ul&gt; &lt;li&gt;Uses "developer" tools &lt;li&gt;Makes UI logic, business rules, database and web service interaction, etc.&lt;/li&gt;&lt;/ul&gt; &lt;li&gt;Can create artistic graphic designs and has a good "design sense"  &lt;ul&gt; &lt;li&gt;Uses "designer" tools &lt;li&gt;Makes bitmap graphics, vector graphics, etc.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;In other words, a devigner is someone who is is skilled in UX, UI, software engineering and graphic design.&amp;nbsp; &lt;/p&gt; &lt;p&gt;How do you become a devigner?&amp;nbsp; Get training &amp;amp; experience in those four areas.&amp;nbsp; &lt;/p&gt; &lt;p&gt;What am I doing to become a well rounded devigner? &lt;/p&gt; &lt;ul&gt; &lt;li&gt;I've emphasized usability for years (i.e. &lt;a href="http://www.amazon.com/Common-Approach-Usability-Circle-Com-Library/dp/0789723107"&gt;Don't Make Me Think&lt;/a&gt;)... &lt;strong&gt;DONE&lt;/strong&gt;  &lt;li&gt;I've worked on UIs for years (both windows and web, now WPF and Silverlight)... &lt;strong&gt;DONE&lt;/strong&gt;  &lt;li&gt;My primary skillset is software development with Microsoft technologies (MCSD + MCDBA)... &lt;strong&gt;DONE&lt;/strong&gt;  &lt;li&gt;I've dabbled a little with Photoshop, GIMP, Paint.NET, Fireworks... &lt;strong&gt;FOCUS HERE!&lt;/strong&gt; &lt;/li&gt;&lt;/ul&gt;To round out my devigner portfolio of skills, I am enhancing my design skills, specifically with the Expression suite of "designer" tools.&amp;nbsp; Expect to see some posts about them!&amp;nbsp; &lt;p&gt;With the industry's current emphasis on designer-developer workflow, there will be demand for devigners who focus on building good UX and are competent with both developer tools, like Visual Studio, and designer tools, like Expression Studio.&lt;/p&gt;</description>
      <link>http://www.alistforeverything.com/post/2008/04/Becoming-a-Devigner.aspx</link>
      <dc:creator>snyhol</dc:creator>
      <comments>http://www.alistforeverything.com/post/2008/04/Becoming-a-Devigner.aspx#comment</comments>
      <guid>http://www.alistforeverything.com/post.aspx?id=6a457922-3c37-4dd8-a27c-159bb5c9b593</guid>
      <pubDate>Wed, 30 Apr 2008 08:46:11 -0700</pubDate>
      <category>Software Dev</category>
      <category>Graphic Design</category>
      <dc:publisher>snyhol</dc:publisher>
      <pingback:server>http://www.alistforeverything.com/pingback.axd</pingback:server>
      <pingback:target>http://www.alistforeverything.com/post.aspx?id=6a457922-3c37-4dd8-a27c-159bb5c9b593</pingback:target>
      <slash:comments>11</slash:comments>
      <lastBuildDate>Fri, 30 Oct 2009 03:06:10 -0700</lastBuildDate>
      <trackback:ping>http://www.alistforeverything.com/trackback.axd?id=6a457922-3c37-4dd8-a27c-159bb5c9b593</trackback:ping>
      <wfw:comment>http://www.alistforeverything.com/post/2008/04/Becoming-a-Devigner.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.alistforeverything.com/syndication.axd?post=6a457922-3c37-4dd8-a27c-159bb5c9b593</wfw:commentRss>
    </item>
    <item>
      <title>Comparing the Differences Between Two Microsoft Word Documents</title>
      <description>&lt;p&gt;The other day, I sent someone a Word document for them to read and provide edits and comments.&amp;nbsp; Can you believe that they made the edits without using Track Changes or highlighting them at all.&amp;nbsp; They didn't even do the typical trick of yellow background or red font.&amp;nbsp; Their changes just blended into the text.&amp;nbsp; &lt;/p&gt; &lt;p&gt;I didn't have time to read them both side by side, manually scanning for the changes.&amp;nbsp; Even worse, if I did that, I might have missed a significant change.&amp;nbsp; I needed a tool that would compare these two files and show me where the differences were.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Craig from codejacked &lt;a href="http://www.codejacked.com/comparing-two-versions-of-a-word-document/"&gt;described the available solutions for Word 2003 and earlier&lt;/a&gt;.&amp;nbsp; CharlesJBarry, a commenter on Gina Trapani of lifehacker's post on this topic, explained that &lt;a href="http://lifehacker.com/software/microsoft-word/microsoft-word-tip--how-to-compare-two-documents-for-differences-247919.php#c1178133"&gt;Word 2007 included a compare feature&lt;/a&gt;.&amp;nbsp; &lt;/p&gt; &lt;p&gt;After looking around, I found these options for comparing the differences between Word documents: &lt;/p&gt; &lt;ul&gt; &lt;li&gt;Microsoft Word 2007's Compare feature (free if you own Word 2007)  &lt;li&gt;Using a tool made for comparing the differences between text documents (free to $30)  &lt;li&gt;Commercial Option #1: WorkShare Professional ($349)  &lt;li&gt;Commercial Option #2: SoftInterface DiffDoc ($199 to $399) &lt;/li&gt;&lt;/ul&gt; &lt;p&gt; &lt;/p&gt; &lt;h2&gt;Microsoft Word 2007&lt;/h2&gt; &lt;p&gt;After comparing a few third party tools for comparing Word documents, I decided it was simpler to use the functionality that came with Microsoft Word 2007.&amp;nbsp; Word has a new feature called Compare that does exactly what I wanted.&amp;nbsp; It is on the Review tab, in the Compare section.&amp;nbsp; This tool doesn't have the best usability; I had a hard time keeping the panels lined up evenly.&amp;nbsp; This made it a little harder to locate the changes in each document.&amp;nbsp; This tool is great because it does work and it is included in Word... meaning it is free if you already own Word 2007.&amp;nbsp; The button to start doing a comparison looks like this: &lt;/p&gt; &lt;p&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="178" alt="Microsoft-Word-2007-Compare-Menu" src="http://www.alistforeverything.com/image.axd?picture=WindowsLiveWriter/DiffTools_11D40/Microsoft-Word-2007-Compare-Menu_3.png" width="238" border="0"&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Below is a screenshot of the Compare feature in action.&amp;nbsp; It showed the two documents side by side, the "Compared Document" and the "Original Document".&amp;nbsp; Notice how Word only highlights the change in the "Compared Document."&amp;nbsp;&amp;nbsp; For each difference, you can decide to keep the content from the Compared or the Original version.&amp;nbsp; Underneath the "Original Document," it also showed a new "Revised Document."&amp;nbsp; The Revised version shows what your document would look like after merging the differences between the documents.&amp;nbsp; It gives a helpful summary/details panel on the left.&amp;nbsp; &lt;/p&gt; &lt;p&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="391" alt="Microsoft-Word-2007-Compare-Feature" src="http://www.alistforeverything.com/image.axd?picture=WindowsLiveWriter/DiffTools_11D40/Microsoft-Word-2007-Compare-Feature_5.png" width="600" border="0"&gt; &lt;/p&gt; &lt;p&gt;Next is a screenshot that better showed the summary &amp;amp; details panel.&amp;nbsp; This panel lists all the differences (changes) between the two documents.&amp;nbsp; The changes identified in the details section are clickable and will scroll the documents to the specific change.&amp;nbsp; &lt;/p&gt; &lt;p&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="632" alt="Microsoft-Word-2007-Summary-Details-Panel" src="http://www.alistforeverything.com/image.axd?picture=WindowsLiveWriter/DiffTools_11D40/Microsoft-Word-2007-Summary-Details-Panel_3.png" width="231" border="0"&gt; &lt;/p&gt; &lt;p&gt;Word also gave me options for choosing to see one document at a time or both at once, as seen in the Show Source Documents menu.&amp;nbsp; &lt;/p&gt; &lt;p&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="170" alt="Microsoft-Word-2007-Show-Source-Documents-Menu" src="http://www.alistforeverything.com/image.axd?picture=WindowsLiveWriter/DiffTools_11D40/Microsoft-Word-2007-Show-Source-Documents-Menu_3.png" width="165" border="0"&gt; &lt;/p&gt; &lt;p&gt;I also tried using this feature where one of the files had track changes turned on.&amp;nbsp; Before opening the comparison, Word confirmed with me that I really wanted to continue.&amp;nbsp; Word prompted me, "One or both of the compared documents contain tracked changes.&amp;nbsp; For the purpose of the comparison, Word will consider these changes to have been accepted.&amp;nbsp; Continue with the comparison?"&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h2&gt;Using a program made for comparing plain text files&lt;/h2&gt; &lt;p&gt;There are several good programs for comparing the differences between files.&amp;nbsp; Some of the best I've reviewed are &lt;a href="http://winmerge.org/"&gt;WinMerge&lt;/a&gt; (free), &lt;a href="http://www.scootersoftware.com/home.php"&gt;Beyond Compare&lt;/a&gt; ($30), and &lt;a href="http://kdiff3.sourceforge.net/"&gt;KDiff3&lt;/a&gt; (free).&amp;nbsp; One problem with using these tools is that they don't understand Microsoft Word's proprietary formatting codes.&amp;nbsp; They show those formatting codes as garbage characters.&amp;nbsp; For example, here is a screenshot from WinMerge that shows the "garbage characters".&amp;nbsp; Though it did a great job of comparing the differences in the text of two Word documents, it was unnerving to see that it also identified differences in the proprietary formatting code.&amp;nbsp; It made me wonder if there was something really important in those differences that I was missing.&amp;nbsp; &lt;/p&gt; &lt;p&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="392" alt="WinMerge-Word-doc-diff" src="http://www.alistforeverything.com/image.axd?picture=WindowsLiveWriter/DiffTools_11D40/WinMerge-Word-doc-diff_3.png" width="600" border="0"&gt; &lt;/p&gt; &lt;p&gt;There are two ways to get around this.&amp;nbsp; The first is to save your Word .DOC files as plain text (.TXT).&amp;nbsp; Then compare the plain text files.&amp;nbsp; &lt;/p&gt; &lt;p&gt;The second is to use a plugin.&amp;nbsp; I tried the &lt;a href="http://freemind.s57.xrea.com/xdocdiffPlugin/en/index.html"&gt;xdocdiff plugin for WinMerge&lt;/a&gt;.&amp;nbsp; This plugin advertises that it will convert the Word .DOC files to text while WinMerge is comparing them.&amp;nbsp; When I used it, it did not make permanent changes to the original Word files were not changed.&amp;nbsp;&amp;nbsp; This tool was nice because it only showed my text content from Word 2003 and older documents (.DOC).&amp;nbsp; Even though it advertised to work on Word 2007 files, I could not use it to compare ".DOCX" files.&amp;nbsp; Also advertises to work with RTF, XLS, PDF, and many other file types.&amp;nbsp; There are similar &lt;a href="http://www.scootersoftware.com/download.php?c=kb_morerules"&gt;VBScript "rules" plugins&lt;/a&gt; for Beyond Compare.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h2&gt;Commercial Option #1: &lt;a href="http://www.workshare.com/products/wsprofessional/"&gt;WorkShare Professional&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;From the reviews I've seen, it appears that &lt;a href="http://www.workshare.com/products/wsprofessional/"&gt;WorkShare Professional&lt;/a&gt; is the best product on the marketplace today.&amp;nbsp; It used to be called DeltaView.&amp;nbsp; However, it costs $349.&amp;nbsp; That's a lot more than free!&amp;nbsp; I've heard that the commercial comparison programs are priced so high because many legal offices use them (and can afford those prices).&amp;nbsp; &lt;/p&gt; &lt;p&gt;If you don't want to register on the WorkShare website just to view their demo, you can view screenshots of the application at &lt;a href="http://www.softlinx.com/products/connectors.html#professionalconnect"&gt;softlinx&lt;/a&gt; and &lt;a href="http://www.officeinfo.com.au/Products/Workshare/WorkshareProfessional/WorkshareProfessional4dot5NewFeatures.asp"&gt;officeinfo&lt;/a&gt;.&amp;nbsp; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h2&gt;Commercial Option #2: &lt;a href="http://www.softinterface.com/MD/Document-Comparison-Software.htm"&gt;SoftInterface DiffDoc&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;SoftInterface is a company that specializes in making conversion software.&amp;nbsp; Their &lt;a href="http://www.softinterface.com/MD/Document-Comparison-Software.htm"&gt;DiffDoc product&lt;/a&gt; will allow you to compare the differences between two Word .DOC files.&amp;nbsp; The Standard version costs $199 and the Professional version costs $399.&amp;nbsp; The product worked well when comparing Word 2003 (.DOC) and Word 2007 (.DOCX) files.&amp;nbsp; The interface was a little awkward, but it did support reviewing the differences between two formatted Word documents.&amp;nbsp; It highlights the differences with black highlighter on both sides and the bottom pane combines the two documents, using "track changes" style to highlight the differences. &lt;/p&gt; &lt;p&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="465" alt="DiffDoc" src="http://www.alistforeverything.com/image.axd?picture=WindowsLiveWriter/DiffTools_11D40/DiffDoc_3.png" width="600" border="0"&gt; &lt;/p&gt; &lt;p&gt;Another drawback was that DiffDoc did not catch formatting differences, as seen in this screenshot. &lt;/p&gt; &lt;p&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="455" alt="DiffDoc-didn't-catch-formatting" src="http://www.alistforeverything.com/image.axd?picture=WindowsLiveWriter/DiffTools_11D40/DiffDoc-didn't-catch-formatting_3.png" width="600" border="0"&gt; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h2&gt;Conclusion&lt;/h2&gt; &lt;p&gt;There are several options at several price ranges for tools that can be used to compare the differences between two Microsoft Word documents.&amp;nbsp; Which option is right for you depends on your preferences and your budget.&amp;nbsp; WorkShare Professional looks like it is probably the best tool, but is much more expensive than the alternatives.&amp;nbsp; As for me, I'll be using Word 2007's new Compare feature or a plugin for a text-based tool.&amp;nbsp; I'm interested in hearing from you about your experience with these tools and others like them, especially about WorkShare's tools.&amp;nbsp; &lt;/p&gt;</description>
      <link>http://www.alistforeverything.com/post/2008/04/Comparing-the-Differences-Between-Two-Microsoft-Word-Documents.aspx</link>
      <dc:creator>snyhol</dc:creator>
      <comments>http://www.alistforeverything.com/post/2008/04/Comparing-the-Differences-Between-Two-Microsoft-Word-Documents.aspx#comment</comments>
      <guid>http://www.alistforeverything.com/post.aspx?id=c311cced-c288-4eca-89c5-0e8ad1fc3df6</guid>
      <pubDate>Fri, 25 Apr 2008 10:54:53 -0700</pubDate>
      <category>Productivity</category>
      <dc:publisher>snyhol</dc:publisher>
      <pingback:server>http://www.alistforeverything.com/pingback.axd</pingback:server>
      <pingback:target>http://www.alistforeverything.com/post.aspx?id=c311cced-c288-4eca-89c5-0e8ad1fc3df6</pingback:target>
      <slash:comments>28</slash:comments>
      <lastBuildDate>Fri, 30 Oct 2009 03:06:10 -0700</lastBuildDate>
      <trackback:ping>http://www.alistforeverything.com/trackback.axd?id=c311cced-c288-4eca-89c5-0e8ad1fc3df6</trackback:ping>
      <wfw:comment>http://www.alistforeverything.com/post/2008/04/Comparing-the-Differences-Between-Two-Microsoft-Word-Documents.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.alistforeverything.com/syndication.axd?post=c311cced-c288-4eca-89c5-0e8ad1fc3df6</wfw:commentRss>
    </item>
    <item>
      <title>Source Code Syntax Highlighting in Blog Posts with FormatToHtml</title>
      <description>&lt;p&gt;Syntax highlighting makes a huge difference when reading blog posts!&amp;nbsp; However, given the limitations of HTML, this effect doesn't come easy.&amp;nbsp; A lot of really smart people have worked on solutions to this problem.&amp;nbsp; I looked at a few of them and decided to go with the FormatToHtml tool from Jeff Atwood at Coding Horror.&amp;nbsp; &lt;/p&gt; &lt;p&gt;When I looked at the tools, I was looking for something that would work with my specific situation: &lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://www.alistforeverything.com/post/2008/04/Web-Hosting-and-Starting-to-Blog.aspx"&gt;Hosting my blog on my own domain&lt;/a&gt;  &lt;li&gt;&lt;a href="http://www.alistforeverything.com/post/2008/04/Review-of-ASPNET-Blog-Engines.aspx"&gt;Blog server: BlogEngine.NET 1.3&lt;/a&gt;  &lt;li&gt;&lt;a href="http://www.alistforeverything.com/post/2008/04/Review-of-Tools-for-Writing-Blog-Posts.aspx"&gt;Blog writing &amp;amp; publishing tool: Windows Live Writer&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;li&gt;Ability to copy code from Visual Studio 2008 &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;For source code syntax highlighting, I considered the following tools: &lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://www.codinghorror.com/blog/archives/000429.html"&gt;Jeff Atwood's FormatToHtml Visual Studio macro (from Coding Horror)&lt;/a&gt;  &lt;li&gt;BlogEngine.NET's internal code formatting extension &lt;font face="Courier New"&gt;[code:c#]&lt;/font&gt; &lt;a href="http://www.codeplex.com/blogengine/Thread/View.aspx?ThreadId=15606"&gt;was added in v 1.2&lt;/a&gt;. This functionality was keyword based, used an external stylesheet, and did not include enough keywords or include CSS keywords.  &lt;li&gt;CopySourceAsHtml Visual Studio add-in.&amp;nbsp; You can download &lt;a href="http://www.jtleigh.com/people/colin/software/CopySourceAsHtml/"&gt;Colin Coller's original code&lt;/a&gt; or get a Visual Studio 2008 upgrade from &lt;a href="http://a-simian-mind.blogspot.com/2008/02/copysourceashtml-for-visual-studio-2008.html"&gt;Shawn Oster&lt;/a&gt; or &lt;a href="http://blogs.microsoft.co.il/blogs/bursteg/archive/2007/11/21/copy-source-as-html-copysourceashtml-for-visual-studio-2008-rtm.aspx"&gt;Guy Burstein&lt;/a&gt;.&amp;nbsp; I tried Guy's version, which installed fine.&amp;nbsp; It was very customizable and produced nice HTML, but only worked for certain types of code.&amp;nbsp; Specifically, it did not work for CSS files.&amp;nbsp; &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;I chose FormatToHtml because Jeff's utility gave the best output and was easy to use.&amp;nbsp; In the future, I may switch to something with fancy features like scrolling, line numbers, a copy to clipboard button, etc.&amp;nbsp;&amp;nbsp; For now, I wanted a tool that gave clean and consistently styled HTML.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Advantages of using FormatToHtml: &lt;/p&gt; &lt;ul&gt; &lt;li&gt;It was quick to use.&amp;nbsp; I could press my shortcut key and nice HTML formatted code was in my clipboard.  &lt;li&gt;It was not keyword dependent.&amp;nbsp; I didn't need to edit the syntax highlighting if I used beta software or newer versions of the framework.  &lt;li&gt;It was open source.&amp;nbsp; I have modified it for my own needs.  &lt;li&gt;I could copy code formatted by this utility directly into Visual Studio.&amp;nbsp; Some tools add extra line breaks between the lines of code.&amp;nbsp; Other tools will include the line numbers in the text you copy from the web.&amp;nbsp; This tool doesn't.&amp;nbsp; &lt;li&gt;It used inline styling, which &lt;a href="http://andr3.net/blog/post/80"&gt;allowed the code to be formatted in RSS readers&lt;/a&gt;.  &lt;li&gt;It worked with Windows Live Writer.&amp;nbsp; &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Disadvantages of using FormatToHtml: &lt;/p&gt; &lt;ul&gt; &lt;li&gt;Since it used the same color scheme as your IDE, any color changes you've made will be on the web.&amp;nbsp; This is great for you, but others might not like it as much.&amp;nbsp; For consistency and ease for others to read your code, the best samples will use Visual Studio's default coloring.&amp;nbsp; Since I use the default coloring, this limitation didn't impact me.  &lt;li&gt;It did not retain the background highlighting.&amp;nbsp; There is not much background highlighting in Visual Studio, so this is not typically noticeable.&amp;nbsp; However, on ASP.NET pages, there is a lot of highlighting.&amp;nbsp; I modified the original code to support ASP.NET background highlighting.&amp;nbsp; &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h2&gt;Setting Up FormatToHtml: &lt;/h2&gt; &lt;p&gt;I found the setup for Visual Studio 2008 the be a little different than Jeff's original instructions.&amp;nbsp; &lt;/p&gt; &lt;p&gt;The first trick was figuring out how to open the &lt;a href="http://msdn2.microsoft.com/en-us/library/hdf2d1z8.aspx"&gt;Macro Explorer&lt;/a&gt; in Visual Studio 2008.&amp;nbsp; I didn't have a "Tools | Macros" menu option.&amp;nbsp; &lt;strong&gt;The easiest way I found to open the Macro Explorer is with ALT+F8.&lt;/strong&gt;&amp;nbsp; It is a small window and looked something like this.&amp;nbsp; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="189" alt="Visual-Studio-Macro-Explorer" src="http://www.alistforeverything.com/image.axd?picture=WindowsLiveWriter/SyntaxHighlightinginBlogPosts_BC5C/Visual-Studio-Macro-Explorer_6.png" width="200" border="0"&gt; &lt;/p&gt; &lt;p&gt;Once the editor was open, I noticed that a new macro in Visual Studio 2008 included &lt;strong&gt;two new "Imports" statements&lt;/strong&gt;: &lt;/p&gt; &lt;div class="VSCode" style="font-size: 10pt; font-family: monospace; background-color: white"&gt;&lt;span style="color: blue"&gt;Imports&lt;/span&gt;&lt;span style="color: black"&gt; EnvDTE80&lt;/span&gt; &lt;br&gt;&lt;span style="color: blue"&gt;Imports&lt;/span&gt;&lt;span style="color: black"&gt; EnvDTE80&lt;/span&gt;&lt;/div&gt; &lt;p&gt;&lt;strong&gt;Assigning the macro to a shortcut key&lt;/strong&gt; was &lt;em&gt;fairly&lt;/em&gt; easy - the &lt;a href="http://msdn2.microsoft.com/en-us/library/5zwses53.aspx"&gt;MSDN provides detailed instructions&lt;/a&gt;.&amp;nbsp; I chose "ALT+C" for my shortcut key.&amp;nbsp; It was close enough to the "Copy" shortcut key and was still unassigned.&amp;nbsp; I decided to leave the default "Copy" behavior alone and not override it with Jeff's macro.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Which Macro should you bind to?&amp;nbsp; &lt;strong&gt;For Windows Live Writer, use Modern or ModernText&lt;/strong&gt;.&amp;nbsp; Here's my understanding of the FormatToHtml macros: &lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;Modern &lt;/strong&gt;and &lt;strong&gt;ModernText&lt;/strong&gt; use DIV and SPAN  &lt;li&gt;&lt;strong&gt;Legacy &lt;/strong&gt;and &lt;strong&gt;LegacyText&lt;/strong&gt; use P and FONT.&amp;nbsp; &lt;li&gt;&lt;strong&gt;Modern &lt;/strong&gt;and &lt;strong&gt;Legacy &lt;/strong&gt;put the HMTL formatted output in both the clipboard object and the clipboard text.  &lt;li&gt;&lt;strong&gt;ModernText&lt;/strong&gt; and &lt;strong&gt;LegacyText&lt;/strong&gt; only put the HTML formatted output in the clipboard object and put the plain text version in the clipboard text. &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h2&gt;Customizing FormatToHtml: &lt;/h2&gt; &lt;p&gt;There was a simple logic bug in “PerformRtfConversion”.&amp;nbsp; Basically, the condition was running backwards.&amp;nbsp; It should have read like this: &lt;/p&gt; &lt;div class="VSCode" style="font-size: 10pt; font-family: monospace; background-color: white"&gt;&lt;span style="color: blue"&gt;If&lt;/span&gt;&lt;span style="color: black"&gt; asTextOnly &lt;/span&gt;&lt;span style="color: blue"&gt;Then &lt;br&gt;&lt;/span&gt;&lt;span style="color: black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetClipboardHtml(html, text) &lt;br&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;Else &lt;br&gt;&lt;/span&gt;&lt;span style="color: black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetClipboardHtml(html, html) &lt;br&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;End&lt;/span&gt;&lt;span style="color: black"&gt; &lt;/span&gt;&lt;span style="color: blue"&gt;If &lt;br&gt;&lt;/span&gt;&lt;/div&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;To support ASP.NET background highlighting, I added a new method to scrub the HTML output for the special &amp;lt;% and %&amp;gt; character combinations.&amp;nbsp; I added a configuration variable at the top of the code file to turn this functionality on and off easily. (I don't think I'll ever turn it off.)&amp;nbsp; I used a screenshot of the code to figure out the precise background color.&amp;nbsp; Neither &lt;a href="http://www.w3schools.com/html/html_colornames.asp"&gt;HTML named color&lt;/a&gt; "Yellow" nor "Gold" looked correct.&amp;nbsp; &lt;/p&gt; &lt;div class="VSCode" style="font-size: 10pt; font-family: monospace; background-color: white"&gt;&lt;span style="color: blue"&gt;Private&lt;/span&gt;&lt;span style="color: black"&gt; &lt;/span&gt;&lt;span style="color: blue"&gt;Const&lt;/span&gt;&lt;span style="color: black"&gt; _ApplyDefaultBackgrounds &lt;/span&gt;&lt;span style="color: blue"&gt;As&lt;/span&gt;&lt;span style="color: black"&gt; &lt;/span&gt;&lt;span style="color: blue"&gt;Boolean&lt;/span&gt;&lt;span style="color: black"&gt; = &lt;/span&gt;&lt;span style="color: blue"&gt;True &lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: black"&gt;... &lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;Private&lt;/span&gt;&lt;span style="color: black"&gt; &lt;/span&gt;&lt;span style="color: blue"&gt;Sub&lt;/span&gt;&lt;span style="color: black"&gt; PerformRtfConversion(&lt;/span&gt;&lt;span style="color: blue"&gt;ByVal&lt;/span&gt;&lt;span style="color: black"&gt; asTextOnly &lt;/span&gt;&lt;span style="color: blue"&gt;As&lt;/span&gt;&lt;span style="color: black"&gt; &lt;/span&gt;&lt;span style="color: blue"&gt;Boolean&lt;/span&gt;&lt;span style="color: black"&gt;, &lt;/span&gt;&lt;span style="color: blue"&gt;ByVal&lt;/span&gt;&lt;span style="color: black"&gt; useModernHtml &lt;/span&gt;&lt;span style="color: blue"&gt;As&lt;/span&gt;&lt;span style="color: black"&gt; &lt;/span&gt;&lt;span style="color: blue"&gt;Boolean&lt;/span&gt;&lt;span style="color: black"&gt;) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;If&lt;/span&gt;&lt;span style="color: black"&gt; &lt;/span&gt;&lt;span style="color: blue"&gt;Not&lt;/span&gt;&lt;span style="color: black"&gt; SelectionToClipboard() &lt;/span&gt;&lt;span style="color: blue"&gt;Then&lt;/span&gt;&lt;span style="color: black"&gt; &lt;/span&gt;&lt;span style="color: blue"&gt;Return &lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: green"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; '-- retrieve text and rtf from clipboard &lt;br&gt;&lt;/span&gt;&lt;span style="color: black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; GetClipboard(DataFormats.Text) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;Dim&lt;/span&gt;&lt;span style="color: black"&gt; text &lt;/span&gt;&lt;span style="color: blue"&gt;As&lt;/span&gt;&lt;span style="color: black"&gt; &lt;/span&gt;&lt;span style="color: blue"&gt;String&lt;/span&gt;&lt;span style="color: black"&gt; = Convert.ToString(_ClipboardObj) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; GetClipboard(DataFormats.Rtf) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;Dim&lt;/span&gt;&lt;span style="color: black"&gt; rtf &lt;/span&gt;&lt;span style="color: blue"&gt;As&lt;/span&gt;&lt;span style="color: black"&gt; &lt;/span&gt;&lt;span style="color: blue"&gt;String&lt;/span&gt;&lt;span style="color: black"&gt; = Convert.ToString(_ClipboardObj) &lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;If&lt;/span&gt;&lt;span style="color: black"&gt; _RemoveExcessIndentation &lt;/span&gt;&lt;span style="color: blue"&gt;Then&lt;/span&gt;&lt;span style="color: black"&gt; text = RemoveTextIndents(text) &lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;Dim&lt;/span&gt;&lt;span style="color: black"&gt; html &lt;/span&gt;&lt;span style="color: blue"&gt;As&lt;/span&gt;&lt;span style="color: black"&gt; &lt;/span&gt;&lt;span style="color: blue"&gt;String&lt;/span&gt;&lt;span style="color: black"&gt; = RtfToHtml(rtf, useModernHtml) &lt;br&gt;&lt;span style="color: green"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; '-- HACK: SN: 3-26-08: Apply default editor background colors to selected characters&lt;/span&gt;&lt;/span&gt; &lt;br&gt;&lt;span style="color: black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;If&lt;/span&gt;&lt;span style="color: black"&gt; _ApplyDefaultBackgrounds &lt;/span&gt;&lt;span style="color: blue"&gt;Then &lt;br&gt;&lt;/span&gt;&lt;span style="color: black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; html = ApplyDefaultBackgrounds(html, useModernHtml) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;End&lt;/span&gt;&lt;span style="color: black"&gt; &lt;/span&gt;&lt;span style="color: blue"&gt;If &lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;If&lt;/span&gt;&lt;span style="color: black"&gt; &lt;/span&gt;&lt;span style="color: blue"&gt;Not&lt;/span&gt;&lt;span style="color: black"&gt; useModernHtml &lt;/span&gt;&lt;span style="color: blue"&gt;Then &lt;br&gt;&lt;/span&gt;&lt;span style="color: black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; html = ConvertSpanToFont(html) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;End&lt;/span&gt;&lt;span style="color: black"&gt; &lt;/span&gt;&lt;span style="color: blue"&gt;If &lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;If&lt;/span&gt;&lt;span style="color: black"&gt; asTextOnly &lt;/span&gt;&lt;span style="color: blue"&gt;Then &lt;br&gt;&lt;/span&gt;&lt;span style="color: black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetClipboardHtml(html, text) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;Else &lt;br&gt;&lt;/span&gt;&lt;span style="color: black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetClipboardHtml(html, html) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;End&lt;/span&gt;&lt;span style="color: black"&gt; &lt;/span&gt;&lt;span style="color: blue"&gt;If &lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;End&lt;/span&gt;&lt;span style="color: black"&gt; &lt;/span&gt;&lt;span style="color: blue"&gt;Sub &lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: black"&gt;... &lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;Private&lt;/span&gt;&lt;span style="color: black"&gt; &lt;/span&gt;&lt;span style="color: blue"&gt;Function&lt;/span&gt;&lt;span style="color: black"&gt; ApplyDefaultBackgrounds(&lt;/span&gt;&lt;span style="color: blue"&gt;ByVal&lt;/span&gt;&lt;span style="color: black"&gt; html &lt;/span&gt;&lt;span style="color: blue"&gt;As&lt;/span&gt;&lt;span style="color: black"&gt; &lt;/span&gt;&lt;span style="color: blue"&gt;String&lt;/span&gt;&lt;span style="color: black"&gt;, &lt;/span&gt;&lt;span style="color: blue"&gt;ByVal&lt;/span&gt;&lt;span style="color: black"&gt; useModernHtml &lt;/span&gt;&lt;span style="color: blue"&gt;As&lt;/span&gt;&lt;span style="color: black"&gt; &lt;/span&gt;&lt;span style="color: blue"&gt;Boolean&lt;/span&gt;&lt;span style="color: black"&gt;) &lt;/span&gt;&lt;span style="color: blue"&gt;As&lt;/span&gt;&lt;span style="color: black"&gt; &lt;/span&gt;&lt;span style="color: blue"&gt;String &lt;br&gt;&lt;/span&gt;&lt;span style="color: black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;If&lt;/span&gt;&lt;span style="color: black"&gt; useModernHtml &lt;/span&gt;&lt;span style="color: blue"&gt;Then &lt;br&gt;&lt;/span&gt;&lt;span style="color: black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; html = Regex.Replace(html, &lt;/span&gt;&lt;span style="color: #a31515"&gt;"%&amp;amp;gt;"&lt;/span&gt;&lt;span style="color: black"&gt;, &lt;/span&gt;&lt;span style="color: #a31515"&gt;"&amp;lt;span style='background-color:#FFEE62;'&amp;gt;%&amp;amp;gt;&amp;lt;/span&amp;gt;"&lt;/span&gt;&lt;span style="color: black"&gt;) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; html = Regex.Replace(html, &lt;/span&gt;&lt;span style="color: #a31515"&gt;"&amp;amp;lt;%"&lt;/span&gt;&lt;span style="color: black"&gt;, &lt;/span&gt;&lt;span style="color: #a31515"&gt;"&amp;lt;span style='background-color:#FFEE62;'&amp;gt;&amp;amp;lt;%&amp;lt;/span&amp;gt;"&lt;/span&gt;&lt;span style="color: black"&gt;) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;Else &lt;br&gt;&lt;/span&gt;&lt;span style="color: black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; html = Regex.Replace(html, &lt;/span&gt;&lt;span style="color: #a31515"&gt;"%&amp;amp;gt;"&lt;/span&gt;&lt;span style="color: black"&gt;, &lt;/span&gt;&lt;span style="color: #a31515"&gt;"&amp;lt;font style='background-color:#FFEE62;'&amp;gt;%&amp;amp;gt;&amp;lt;/font&amp;gt;"&lt;/span&gt;&lt;span style="color: black"&gt;) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; html = Regex.Replace(html, &lt;/span&gt;&lt;span style="color: #a31515"&gt;"&amp;amp;lt;%"&lt;/span&gt;&lt;span style="color: black"&gt;, &lt;/span&gt;&lt;span style="color: #a31515"&gt;"&amp;lt;font style='background-color:#FFEE62;'&amp;gt;&amp;amp;lt;%&amp;lt;/font&amp;gt;"&lt;/span&gt;&lt;span style="color: black"&gt;) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;End&lt;/span&gt;&lt;span style="color: black"&gt; &lt;/span&gt;&lt;span style="color: blue"&gt;If &lt;br&gt;&lt;/span&gt;&lt;span style="color: black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;Return&lt;/span&gt;&lt;span style="color: black"&gt; html &lt;br&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;End&lt;/span&gt;&lt;span style="color: black"&gt; &lt;/span&gt;&lt;span style="color: blue"&gt;Function &lt;br&gt;&lt;/span&gt;&lt;/div&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;To better support CSS styling, I added a class to the DIV tag that wraps the formatted output.&amp;nbsp; This was in Function RtfToHtml.&lt;/p&gt; &lt;div class="VSCode" style="font-size: 10pt; font-family: monospace; background-color: white"&gt;&lt;span style="color: green"&gt;'-- add block wrapper &lt;br&gt;&lt;/span&gt;&lt;span style="color: black"&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;If&lt;/span&gt;&lt;span style="color: black"&gt; useModernHtml &lt;/span&gt;&lt;span style="color: blue"&gt;Then &lt;br&gt;&lt;/span&gt;&lt;span style="color: black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; rtf = &lt;/span&gt;&lt;span style="color: #a31515"&gt;"&amp;lt;div class='VSCode' style='"&lt;/span&gt;&lt;span style="color: black"&gt; &amp;amp; _ &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #a31515"&gt;"font-family:"&lt;/span&gt;&lt;span style="color: black"&gt; &amp;amp; _CodeFontName &amp;amp; &lt;/span&gt;&lt;span style="color: #a31515"&gt;"; "&lt;/span&gt;&lt;span style="color: black"&gt; &amp;amp; _ &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #a31515"&gt;"font-size: "&lt;/span&gt;&lt;span style="color: black"&gt; &amp;amp; _CodeFontSize &amp;amp; &lt;/span&gt;&lt;span style="color: #a31515"&gt;"; "&lt;/span&gt;&lt;span style="color: black"&gt; &amp;amp; _ &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #a31515"&gt;"background-color: "&lt;/span&gt;&lt;span style="color: black"&gt; &amp;amp; _CodeBackgroundColor &amp;amp; &lt;/span&gt;&lt;span style="color: #a31515"&gt;";'&amp;gt;"&lt;/span&gt;&lt;span style="color: black"&gt; &amp;amp; _n &amp;amp; _ &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rtf &amp;amp; _n &amp;amp; _ &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #a31515"&gt;"&amp;lt;/div&amp;gt;"&lt;/span&gt;&lt;span style="color: black"&gt; &amp;amp; _n &lt;br&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;Else &lt;br&gt;&lt;/span&gt;&lt;span style="color: black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; rtf = &lt;/span&gt;&lt;span style="color: #a31515"&gt;"&amp;lt;p class='VSCode'&amp;gt;&amp;lt;font face='"&lt;/span&gt;&lt;span style="color: black"&gt; &amp;amp; _CodeFontName &amp;amp; &lt;/span&gt;&lt;span style="color: #a31515"&gt;"' size='"&lt;/span&gt;&lt;span style="color: black"&gt; &amp;amp; _CodeFontLegacySize &amp;amp; &lt;/span&gt;&lt;span style="color: #a31515"&gt;"'&amp;gt;"&lt;/span&gt;&lt;span style="color: black"&gt; &amp;amp; _n &amp;amp; _ &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rtf &amp;amp; _n &amp;amp; _ &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #a31515"&gt;"&amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;"&lt;/span&gt;&lt;span style="color: black"&gt; &amp;amp; _n &lt;br&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;End&lt;/span&gt;&lt;span style="color: black"&gt; &lt;/span&gt;&lt;span style="color: blue"&gt;If &lt;br&gt;&lt;/span&gt;&lt;/div&gt; &lt;p&gt;&amp;nbsp; &lt;/p&gt; &lt;h2&gt;Using FormatToHtml with Windows Live Writer: &lt;/h2&gt; &lt;p&gt;After I got used to using this tool to insert code into my blog posts, I memorized the keystrokes.&amp;nbsp; It's pretty fast! &lt;/p&gt; &lt;ol&gt; &lt;li&gt;Highlight the code you want to copy in Visual Studio  &lt;ol&gt; &lt;li&gt;Press your shortcut key (mine is ALT+C) &lt;/li&gt;&lt;/ol&gt; &lt;li&gt;Go to Windows Live Writer  &lt;ol&gt; &lt;li&gt;Press CTRL+SHIFT+V (or select the paste special menu item)  &lt;li&gt;Press the down arrow key (or select "Keep Formatting")  &lt;li&gt;Press ENTER (or click the OK button) &lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;Here's the Windows Live Writer's "Paste Special" dialog:&lt;/p&gt; &lt;p&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="337" alt="Windows-Live-Writer-Paste-Special-Keep-Formatting" src="http://www.alistforeverything.com/image.axd?picture=WindowsLiveWriter/SyntaxHighlightinginBlogPosts_BC5C/Windows-Live-Writer-Paste-Special-Keep-Formatting_3.png" width="521" border="0"&gt; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h2&gt;Conclusion&lt;/h2&gt; &lt;p&gt;Syntax highlighting makes a blog about source code more readable.&amp;nbsp; FormatToHtml is a powerful and useful code syntax highlighting tool for Visual Studio.&amp;nbsp; It provides nicely formatted output with clean HTML that retains the styling in RSS readers.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Since I chose to use FormatToHtml, I didn't really evaluate the following tools.&amp;nbsp; If you are considering one of them, read &lt;a href="http://blog.framework-it.net/2007/07/review-of-copy-source-as-html-tools.html"&gt;Brix Lamoreaux's review&lt;/a&gt;.&amp;nbsp; &lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://blog.furred.net/page/Syntax-Highlighter.aspx"&gt;Alexander Schuc's BlogEngine.NET Syntax Highlighting Extension&lt;/a&gt;  &lt;li&gt;&lt;a href="http://www.squaredroot.com/post/2008/01/Copy-Code-to-Clipboard-Extension-for-BlogEngine.aspx"&gt;Troy Goode's CopyCodeToClipboard BlogEngine.NET Extension&lt;/a&gt;  &lt;li&gt;&lt;a href="http://www.manoli.net/csharpformat/"&gt;Manoli's online c# code formatter&lt;/a&gt;  &lt;li&gt;&lt;a href="http://www.squishyweb.com/ware/products.asp?q=squishysyntax"&gt;squishySyntaxHighlighter&lt;/a&gt;  &lt;li&gt;Windows Live Writer plugin, &lt;a href="http://gallery.live.com/liveItemDetail.aspx?li=d4409446-af7f-42ec-aa20-78aa5bac4748&amp;amp;bt=9&amp;amp;pl=8"&gt;Code Snippet&lt;/a&gt; by &lt;a href="http://lvildosola.blogspot.com/2007/02/code-snippet-plugin-for-windows-live.html"&gt;Leo Vildosola&lt;/a&gt;, now on &lt;a href="http://www.codeplex.com/wlwplugincollection"&gt;CodePlex&lt;/a&gt;.&amp;nbsp; &lt;li&gt;Windows Live Writer plugin, &lt;a href="http://gallery.live.com/liveItemDetail.aspx?li=1f57bd9b-a692-4593-9e9e-e2962d9c0eee&amp;amp;bt=9&amp;amp;pl=8"&gt;Insert Code&lt;/a&gt;  &lt;li&gt;Windows Live Writer plugin, &lt;a href="http://gallery.live.com/liveItemDetail.aspx?li=d8835a5e-28da-4242-82eb-e1a006b083b9&amp;amp;bt=9&amp;amp;pl=8"&gt;Paste from Visual Studio&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;I look forward to hearing about the tools you use for syntax highlighting.&lt;/p&gt;</description>
      <link>http://www.alistforeverything.com/post/2008/04/Source-Code-Syntax-Highlighting-in-Blog-Posts-with-FormatToHtml.aspx</link>
      <dc:creator>snyhol</dc:creator>
      <comments>http://www.alistforeverything.com/post/2008/04/Source-Code-Syntax-Highlighting-in-Blog-Posts-with-FormatToHtml.aspx#comment</comments>
      <guid>http://www.alistforeverything.com/post.aspx?id=86df3b01-9878-4a3b-987f-919ebfdaf2ef</guid>
      <pubDate>Thu, 24 Apr 2008 18:31:53 -0700</pubDate>
      <category>Software Dev</category>
      <dc:publisher>snyhol</dc:publisher>
      <pingback:server>http://www.alistforeverything.com/pingback.axd</pingback:server>
      <pingback:target>http://www.alistforeverything.com/post.aspx?id=86df3b01-9878-4a3b-987f-919ebfdaf2ef</pingback:target>
      <slash:comments>20</slash:comments>
      <lastBuildDate>Fri, 30 Oct 2009 03:06:10 -0700</lastBuildDate>
      <trackback:ping>http://www.alistforeverything.com/trackback.axd?id=86df3b01-9878-4a3b-987f-919ebfdaf2ef</trackback:ping>
      <wfw:comment>http://www.alistforeverything.com/post/2008/04/Source-Code-Syntax-Highlighting-in-Blog-Posts-with-FormatToHtml.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.alistforeverything.com/syndication.axd?post=86df3b01-9878-4a3b-987f-919ebfdaf2ef</wfw:commentRss>
    </item>
    <item>
      <title>Comparing the Differences Between Two Folders</title>
      <description>&lt;p&gt;When writing a blog about the customizations I made to BlogEngine.NET 1.3, I wanted to see if I documented all of the code that I changed.&amp;nbsp; I needed to compare the code files I deployed to the server with the files I originally downloaded from the project website.&amp;nbsp; I wanted to see which files were missing, added, or different from the original files.&amp;nbsp; &lt;/p&gt; &lt;p&gt;I didn't have a diff tool that would allow me to easily compare the contents of two folders, traverse through all of the subfolders, let me know if files were missing in either of the folder trees, and also let me know if the contents of the files were different in either of the trees.&amp;nbsp; &lt;/p&gt; &lt;p&gt;I looked around and the best tools I found to do this comparison are: &lt;/p&gt; &lt;ul&gt; &lt;li&gt;KDiff3  &lt;li&gt;Beyond Compare &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Below, I provide detailed reviews of how a few products were able to perform the task of comparing the contents of two folders.  &lt;/p&gt; &lt;h2&gt;&lt;a href="http://kdiff3.sourceforge.net/"&gt;KDiff3&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;The best tool I found for comparing folders was &lt;a href="http://kdiff3.sourceforge.net/"&gt;KDiff3&lt;/a&gt;, recommended by &lt;a href="http://www.pluralsight.com/blogs/craig/archive/2004/10/14/2787.aspx"&gt;Craig Andera&lt;/a&gt;.&amp;nbsp; It is a SourceForge project that was last updated in April of 2007.&amp;nbsp; For comparing folders, this tool rocks!&amp;nbsp; The usability is unreal.&amp;nbsp; Within minutes, you can compare the contents of all the files within two folders.&amp;nbsp; What made this the best tool for this job was that I could view the folder structure &lt;strong&gt;and &lt;/strong&gt;the contents of any selected file &lt;strong&gt;in the same window at the same time&lt;/strong&gt;!&amp;nbsp; For this job, very handy!&amp;nbsp; &lt;/p&gt; &lt;p&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="525" alt="KDiff3-folder-compare" src="http://www.alistforeverything.com/image.axd?picture=WindowsLiveWriter/ComparingtheContentsofTwoFolders_B6E8/KDiff3-folder-compare_3.png" width="600" border="0"&gt; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h2&gt;&lt;a href="http://www.scootersoftware.com/home.php"&gt;Beyond Compare&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;&lt;a href="http://www.scootersoftware.com/home.php"&gt;Beyond Compare&lt;/a&gt; was recommended by &lt;a href="http://www.codinghorror.com/blog/archives/000454.html"&gt;Jeff Atwood&lt;/a&gt; and &lt;a href="http://blogs.msdn.com/jongallant/archive/2004/10/03/237313.aspx"&gt;Joe Gallant&lt;/a&gt;.&amp;nbsp; It only costs $30. It was last updated in November 2007.&amp;nbsp; This tool did allow me to easily traverse the hierarchy of folders and keep several folders open at once. To view the differences within the selected file, it opened a popup window.&amp;nbsp; Not as simple to use as the KDiff3 option, but it was more powerful because it did allow me to easily keep several comparison windows open at once.&amp;nbsp; It was not as fast to use as KDiff3 because I had to manage the details windows - move them around, resize them, and close them.&lt;/p&gt; &lt;p&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="552" alt="Beyond-Compare-folder-compare" src="http://www.alistforeverything.com/image.axd?picture=WindowsLiveWriter/ComparingtheContentsofTwoFolders_B6E8/Beyond-Compare-folder-compare_3.png" width="600" border="0"&gt; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h2&gt;&lt;a href="http://winmerge.org/"&gt;WinMerge&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;&lt;a href="http://winmerge.org/"&gt;WinMerge&lt;/a&gt; was recommended by &lt;a href="http://weblogs.asp.net/jgalloway/archive/2004/10/05/237984.aspx"&gt;Jon Galloway&lt;/a&gt;,&amp;nbsp; &lt;a href="http://www.brooks-bilson.com/blogs/rob/index.cfm?mode=entry&amp;amp;entry=C20583A2-D608-AED8-7F9E8724EC3B3978"&gt;Rob Brooks-Bilson&lt;/a&gt;, and &lt;a href="http://www.hanselman.com/blog/ScottHanselmans2007UltimateDeveloperAndPowerUsersToolListForWindows.aspx"&gt;Scott Hanselman&lt;/a&gt;.&amp;nbsp; It is an extremely popular SourceForge project and was last updated in April of 2008.&amp;nbsp; WinMerge uses tabs to keep multiple comparisons open at the same time.&amp;nbsp; This was annoying because I had to click on the tabs to switch between comparisons.&amp;nbsp; When comparing folders, it does not present the entire hierarchy; you can only compare the contents of one folder at a time.&amp;nbsp; It also does not let you view a folder's contents and the contents of the selected file at the same time - they are on separate tabs.&amp;nbsp; I suppose you could Tile the windows, as seen below, but that was not as nice as KDiff3.&amp;nbsp; &lt;/p&gt; &lt;p&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="686" alt="WinMerge-folder-compare" src="http://www.alistforeverything.com/image.axd?picture=WindowsLiveWriter/ComparingtheContentsofTwoFolders_B6E8/WinMerge-folder-compare_3.png" width="600" border="0"&gt; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h2&gt;&lt;a href="http://www.sourcegear.com/diffmerge/index.html"&gt;SourceGear's DiffMerge&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;&lt;a href="http://www.sourcegear.com/diffmerge/index.html"&gt;DiffMerge&lt;/a&gt; is a newer product and was recommended by &lt;a href="http://blogs.vertigo.com/personal/KeithC/Blog/Lists/Posts/Post.aspx?ID=33"&gt;Keith Craig&lt;/a&gt;.&amp;nbsp; It was last updated in October 2007.&amp;nbsp; DiffMerge uses an approach similar to Beyond Compare in that it opens a new window for each file that you want to view the detailed comparison.&amp;nbsp; It does not allow you to traverse the hierarchy of folders.&amp;nbsp; It simply gives you an option to "Show Folders" or not.&amp;nbsp; the screenshot below is showing folders.&amp;nbsp; &lt;/p&gt; &lt;p&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="600" alt="DiffMerge-folder-compare" src="http://www.alistforeverything.com/image.axd?picture=WindowsLiveWriter/ComparingtheContentsofTwoFolders_B6E8/DiffMerge-folder-compare_3.png" width="600" border="0"&gt; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h2&gt;&lt;a href="http://www.syntevo.com/smartsynchronize/index.html"&gt;SmartSynchronize&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;&lt;a href="http://www.syntevo.com/smartsynchronize/index.html"&gt;SmartSynchronize&lt;/a&gt; was recommended by &lt;a href="http://www.michaelflanakin.com/articles/CompareDiffTools.aspx"&gt;Michael Flanakin&lt;/a&gt;.&amp;nbsp; It only costs $39 and requires the JRE.&amp;nbsp; It was last updated in February 2008.&amp;nbsp; I did not review this product because the features advertised on their website just didn't seem any better than the other four I already reviewed. &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h2&gt;&lt;a href="http://www.araxis.com/merge/"&gt;Araxis Merge&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;&lt;a href="http://www.araxis.com/merge/ "&gt;Araxis Merge&lt;/a&gt; has been described as an excellent program, but in my opinion the cost is prohibitive ($129 standard; $269 professional).&amp;nbsp; I didn't review this product because their software was considerably more expensive than the competition.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h2&gt;Conclusion&lt;/h2&gt; &lt;p&gt;I have yet to evaluate these diff products for other features.&amp;nbsp; When you choose your diff tool, be sure to check out the &lt;a href="http://en.wikipedia.org/wiki/Comparison_of_file_comparison_tools"&gt;Comparison of file comparison tools&lt;/a&gt; page on Wikipedia. If you are a Team Foundation shop, also read James Manning's post about &lt;a href="http://blogs.msdn.com/jmanning/articles/535573.aspx"&gt;integrating diff tools with Team Foundation&lt;/a&gt;.&amp;nbsp; What features are the most important to you? &lt;/p&gt;</description>
      <link>http://www.alistforeverything.com/post/2008/04/Comparing-the-Differences-Between-Two-Folders.aspx</link>
      <dc:creator>snyhol</dc:creator>
      <comments>http://www.alistforeverything.com/post/2008/04/Comparing-the-Differences-Between-Two-Folders.aspx#comment</comments>
      <guid>http://www.alistforeverything.com/post.aspx?id=b84bdec1-bb6c-43e5-b50d-7a56b600d837</guid>
      <pubDate>Thu, 17 Apr 2008 00:23:49 -0700</pubDate>
      <category>Tech</category>
      <dc:publisher>snyhol</dc:publisher>
      <pingback:server>http://www.alistforeverything.com/pingback.axd</pingback:server>
      <pingback:target>http://www.alistforeverything.com/post.aspx?id=b84bdec1-bb6c-43e5-b50d-7a56b600d837</pingback:target>
      <slash:comments>2</slash:comments>
      <lastBuildDate>Fri, 30 Oct 2009 03:06:10 -0700</lastBuildDate>
      <trackback:ping>http://www.alistforeverything.com/trackback.axd?id=b84bdec1-bb6c-43e5-b50d-7a56b600d837</trackback:ping>
      <wfw:comment>http://www.alistforeverything.com/post/2008/04/Comparing-the-Differences-Between-Two-Folders.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.alistforeverything.com/syndication.axd?post=b84bdec1-bb6c-43e5-b50d-7a56b600d837</wfw:commentRss>
    </item>
    <item>
      <title>Math Terms and Formulas</title>
      <description>&lt;p&gt;Yep, my high school math teacher was right when he said that I would eventually use the skills he taught me.&amp;nbsp; At the time, I didn't know that it would be with a technology called Silverlight, while &lt;a href="http://silverlightrocks.com/community/blogs/silverlight_games_101/default.aspx"&gt;remaking a math based game, Asteroids&lt;/a&gt;.&amp;nbsp; I just dusted off &lt;a href="http://en.wikipedia.org/wiki/Casio_fx-7000G"&gt;my old Casio fx-7000G graphing calculator&lt;/a&gt; and started cranking out some calculations.&amp;nbsp; Can you believe it? &lt;/p&gt; &lt;p&gt;When writing line of business (LOB) application, I never really needed to use "advanced" math, like algebra, geometry, trigonometry, or calculus.&amp;nbsp; Really, the trick to writing business applications is capturing the correct data with the correct logic and enough usability.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Then I discovered that developing video game applications is quite different because required the use of math functions to do things like drawing shapes, moving those shapes around the screen, and figuring out if those shapes bump into other shapes.&amp;nbsp; While I was re-learning high school math to help calculate the game's logic, I found some good links to web pages that clearly describe math terms and formulas.&amp;nbsp; Here are those links.&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/system.math.aspx"&gt;System.Math&lt;/a&gt; documentation class in the MSDN Library  &lt;li&gt;The Math League has several web pages dedicated to &lt;a href="http://www.mathleague.com/help/geometry/geometry.htm"&gt;defining geometry terms&lt;/a&gt;.  &lt;li&gt;Dr. Kim K. McLeod from Wellsley shares &lt;a href="http://www.wellesley.edu/Astronomy/kmcleod/Toolkit/geom.html"&gt;Basic Geometry formulas&lt;/a&gt;.  &lt;li&gt;Dr. John R. Wicks from Northpark explains &lt;a href="http://campus.northpark.edu/math/PreCalculus/Transcendental/Trigonometric/Geometry/index.html"&gt;Geometry and Trigonometric Functions&lt;/a&gt; as part of his &lt;a href="http://campus.northpark.edu/math/PreCalculus/TOC.html"&gt;Finite Mathematics website&lt;/a&gt;.  &lt;li&gt;Wikipedia has a nice page of &lt;a href="http://en.wikipedia.org/wiki/Trigonometric_function"&gt;Trigonometric functions&lt;/a&gt;.  &lt;li&gt;Teacher's Choice Software &lt;a href="http://www.teacherschoice.com.au/mathematics_how-to_library.htm"&gt;Mathematics How-to Library&lt;/a&gt;  &lt;li&gt;Computer Support Group's very handy &lt;a href="http://www.csgnetwork.com/righttricalc.html"&gt;Right Angle Angle and Side Calculator&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;So, there you have it. Lots of math support to make those interesting and compelling video games work.&amp;nbsp; Let's go shoot some asteroids!&amp;nbsp; Who knew math could be so fun!!&amp;nbsp; What math resources do you use? &lt;/p&gt;</description>
      <link>http://www.alistforeverything.com/post/2008/04/Math-Terms-and-Formulas.aspx</link>
      <dc:creator>snyhol</dc:creator>
      <comments>http://www.alistforeverything.com/post/2008/04/Math-Terms-and-Formulas.aspx#comment</comments>
      <guid>http://www.alistforeverything.com/post.aspx?id=040cf48a-d4a3-4fe1-8c54-30233a3641a7</guid>
      <pubDate>Wed, 16 Apr 2008 23:54:37 -0700</pubDate>
      <category>Software Dev</category>
      <dc:publisher>snyhol</dc:publisher>
      <pingback:server>http://www.alistforeverything.com/pingback.axd</pingback:server>
      <pingback:target>http://www.alistforeverything.com/post.aspx?id=040cf48a-d4a3-4fe1-8c54-30233a3641a7</pingback:target>
      <slash:comments>6</slash:comments>
      <lastBuildDate>Fri, 30 Oct 2009 03:06:10 -0700</lastBuildDate>
      <trackback:ping>http://www.alistforeverything.com/trackback.axd?id=040cf48a-d4a3-4fe1-8c54-30233a3641a7</trackback:ping>
      <wfw:comment>http://www.alistforeverything.com/post/2008/04/Math-Terms-and-Formulas.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.alistforeverything.com/syndication.axd?post=040cf48a-d4a3-4fe1-8c54-30233a3641a7</wfw:commentRss>
    </item>
  </channel>
</rss>
