<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.windowsclient.net/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">David Wetzel&amp;#39;s Blog</title><subtitle type="html">WPF / Silverlight Blog </subtitle><id>http://blogs.windowsclient.net/airborneengineer/atom.aspx</id><link rel="alternate" type="text/html" href="http://blogs.windowsclient.net/airborneengineer/default.aspx" /><link rel="self" type="application/atom+xml" href="http://blogs.windowsclient.net/airborneengineer/atom.aspx" /><generator uri="http://communityserver.org" version="3.0.20423.869">Community Server</generator><updated>2009-02-28T17:02:00Z</updated><entry><title>Source &amp; PowerPoint from Seminar</title><link rel="alternate" type="text/html" href="http://blogs.windowsclient.net/airborneengineer/archive/2009/10/08/source-amp-powerpoint-from-seminar.aspx" /><id>http://blogs.windowsclient.net/airborneengineer/archive/2009/10/08/source-amp-powerpoint-from-seminar.aspx</id><published>2009-10-09T01:21:23Z</published><updated>2009-10-09T01:21:23Z</updated><content type="html">&lt;p&gt;I hope those of you that attended found the seminar to be educational and enjoyable.&amp;#160; I have attached a zip file which includes the PowerPoint that I used, and both Solutions (WCF provider and the SilverLight consumer).&amp;#160; In the Silverlight application, there is a read me file which steps you though what we did during the seminar.&lt;/p&gt;  &lt;p&gt;If you have any questions, feel free to contact me.&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:8eb9d37f-1541-4f29-b6f4-1eea890d4876:c0459861-017d-445e-920a-ddd188863559" class="wlWriterEditableSmartContent"&gt;&lt;p&gt;&lt;div&gt;&lt;a href="http://blogs.windowsclient.net/blogs/airborneengineer/SilverlightTutorial_0F79A257.zip" target="_blank"&gt;SilverlightTutorial.zip&lt;/a&gt;&lt;/div&gt;&lt;/p&gt;&lt;/div&gt;  &lt;p&gt;If you need to download the Northwind database, you can download it directly from Microsoft: &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=06616212-0356-46A0-8DA2-EEBC53A68034&amp;amp;displaylang=en" target="_blank"&gt;Northwind Database&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I will be creating a quick walk though using expression blend.&amp;#160; Look for it sometime in the middle of the month.&lt;/p&gt;&lt;img src="http://blogs.windowsclient.net/aggbug.aspx?PostID=278203" width="1" height="1"&gt;</content><author><name>AirborneEngineer</name><uri>http://blogs.windowsclient.net/members/AirborneEngineer.aspx</uri></author></entry><entry><title>Using Silverlight &amp; WCF Seminar</title><link rel="alternate" type="text/html" href="http://blogs.windowsclient.net/airborneengineer/archive/2009/09/09/using-silverlight-amp-wcf-seminar.aspx" /><id>http://blogs.windowsclient.net/airborneengineer/archive/2009/09/09/using-silverlight-amp-wcf-seminar.aspx</id><published>2009-09-10T01:02:40Z</published><updated>2009-09-10T01:02:40Z</updated><content type="html">&lt;p&gt;I have a confirmed date and place for my next lecture.&amp;#160; I will be presenting a seminar on using Silverlight and WCF.&amp;#160; This will tutorial rather than just the technologies capabilities.&amp;#160; &lt;/p&gt;  &lt;p&gt;October 6&lt;sup&gt;th&lt;/sup&gt; at 6:00 PM (food &amp;amp; drinks are served starting @ 5:00).&amp;#160; &lt;/p&gt;  &lt;p&gt;Location:&lt;/p&gt;  &lt;p&gt;SpringHill Suites by Marriott   &lt;br /&gt;2437 Metrocentre Blvd.    &lt;br /&gt;West Palm Beach, FL 33407&lt;/p&gt;  &lt;p&gt;Hope to see you there.&lt;/p&gt;&lt;img src="http://blogs.windowsclient.net/aggbug.aspx?PostID=266214" width="1" height="1"&gt;</content><author><name>AirborneEngineer</name><uri>http://blogs.windowsclient.net/members/AirborneEngineer.aspx</uri></author></entry><entry><title>WPF Styles and Templates – Part II (ComboBox Customization)</title><link rel="alternate" type="text/html" href="http://blogs.windowsclient.net/airborneengineer/archive/2009/06/25/wpf-styles-and-templates-part-ii-combobox-customization.aspx" /><id>http://blogs.windowsclient.net/airborneengineer/archive/2009/06/25/wpf-styles-and-templates-part-ii-combobox-customization.aspx</id><published>2009-06-25T15:49:18Z</published><updated>2009-06-25T15:49:18Z</updated><content type="html">&lt;h3&gt;Introduction&lt;/h3&gt; &lt;p&gt;This is the second part of my article on customizing controls in WPF. If you have not read the first part and are not familiar with Styles you may want to read part I &lt;a href="http://windowsclient.net/blogs/airborneengineer/archive/2009/06/09/wpf-styles-and-templates-part-i.aspx"&gt;http://windowsclient.net/blogs/airborneengineer/archive/2009/06/09/wpf-styles-and-templates-part-i.aspx&lt;/a&gt; . In this article we will focus on ComboBoxes. We make a ComboBox that is capable of displaying an Image and Text and also show how binding works when storing classes in ComboBoxes.&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.windowsclient.net/blogs/airborneengineer/image_5F942B0F.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" src="http://blogs.windowsclient.net/blogs/airborneengineer/image_thumb_557F89E4.png" width="409" height="306" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;h3&gt;Customizing a ComboBox &lt;/h3&gt; &lt;p&gt;In order to get an image and text to display in the ComboBox, we need to add a new Style to the ComboBox which will modify the ContentPresenter having it display the controls that we want it to display in this case a StackPanel with an Image and TextBlock inside. As described in the previous article, I created a copy of the existing template and began breaking it up into pieces. The first thing I did was located the ContentPresenter located in the ComboBox main template:&lt;/p&gt; &lt;div style="border-bottom:silver 1px solid;text-align:left;border-left:silver 1px solid;padding-bottom:4px;line-height:12pt;background-color:#f4f4f4;margin:20px 0px 10px;padding-left:4px;width:97.5%;padding-right:4px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;max-height:200px;font-size:8pt;overflow:auto;border-top:silver 1px solid;cursor:text;border-right:silver 1px solid;padding-top:4px;" id="codeSnippetWrapper"&gt; &lt;div style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;" id="codeSnippet"&gt;&lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&amp;lt;ContentPresenter IsHitTestVisible=&lt;span style="color:#006080;"&gt;&amp;quot;false&amp;quot;&lt;/span&gt; &lt;/pre&gt;&lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                  SnapsToDevicePixels=&lt;span style="color:#006080;"&gt;&amp;quot;{TemplateBinding SnapsToDevicePixels}&amp;quot;&lt;/span&gt; &lt;/pre&gt;&lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                  HorizontalAlignment=&lt;span style="color:#006080;"&gt;&amp;quot;{TemplateBinding HorizontalContentAlignment}&amp;quot;&lt;/span&gt; &lt;/pre&gt;&lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                  Margin=&lt;span style="color:#006080;"&gt;&amp;quot;{TemplateBinding Padding}&amp;quot;&lt;/span&gt; &lt;/pre&gt;&lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                  VerticalAlignment=&lt;span style="color:#006080;"&gt;&amp;quot;{TemplateBinding VerticalContentAlignment}&amp;quot;&lt;/span&gt; &lt;/pre&gt;&lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                  Content=&lt;span style="color:#006080;"&gt;&amp;quot;{TemplateBinding SelectionBoxItem}&amp;quot;&lt;/span&gt; &lt;/pre&gt;&lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                  ContentTemplate=&lt;span style="color:#006080;"&gt;&amp;quot;{TemplateBinding SelectionBoxItemTemplate}&amp;quot;&lt;/span&gt; &lt;/pre&gt;&lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                  ContentTemplateSelector=&lt;span style="color:#006080;"&gt;&amp;quot;{TemplateBinding ItemTemplateSelector}&amp;quot;&lt;/span&gt;/&amp;gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;span style="color:blue;"&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;/span&gt;
&lt;p&gt;This I broke up into a DataTemplate more to make it easier to read than anything else. The class that I will be binding to the ComboBox will have two properties that we are interested in, Image (string property which contains the path of the image) and Text (string property which contains the words that will be displayed below the image). The width and max properties are specified here to keep everything the same size so that when the item changes the control is not resizing itself.&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;DataTemplate &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;=&amp;quot;DisplayImageWithText&amp;quot;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Border &lt;/span&gt;&lt;span style="color:red;"&gt;Name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Border&amp;quot; &lt;/span&gt;&lt;span style="color:red;"&gt;Padding&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;2&amp;quot; 
            &lt;/span&gt;&lt;span style="color:red;"&gt;SnapsToDevicePixels&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;true&amp;quot; &lt;/span&gt;&lt;span style="color:red;"&gt;MaxHeight&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;65&amp;quot;&amp;gt;
        &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;StackPanel&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
            &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Image &lt;/span&gt;&lt;span style="color:red;"&gt;Source&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Binding &lt;/span&gt;&lt;span style="color:red;"&gt;Image&lt;/span&gt;&lt;span style="color:blue;"&gt;}&amp;quot; &lt;/span&gt;&lt;span style="color:red;"&gt;Stretch&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Fill&amp;quot; 
                   &lt;/span&gt;&lt;span style="color:red;"&gt;Width&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;42&amp;quot; &lt;/span&gt;&lt;span style="color:red;"&gt;Height&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Auto&amp;quot;/&amp;gt;
            &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;TextBlock &lt;/span&gt;&lt;span style="color:red;"&gt;Text&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Binding &lt;/span&gt;&lt;span style="color:red;"&gt;Text&lt;/span&gt;&lt;span style="color:blue;"&gt;}&amp;quot; 
                       &lt;/span&gt;&lt;span style="color:red;"&gt;TextAlignment&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Center&amp;quot; 
                       &lt;/span&gt;&lt;span style="color:red;"&gt;TextWrapping&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Wrap&amp;quot; &lt;/span&gt;&lt;span style="color:red;"&gt;MaxWidth&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;50&amp;quot;/&amp;gt;
        &amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;StackPanel&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
    &amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Border&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;DataTemplate&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
&lt;/span&gt;&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;
&lt;p&gt;This DataTemplate must then be referenced as a resource in the ContentPresenter:&lt;/p&gt;
&lt;div style="border-bottom:silver 1px solid;text-align:left;border-left:silver 1px solid;padding-bottom:4px;line-height:12pt;background-color:#f4f4f4;margin:20px 0px 10px;padding-left:4px;width:97.5%;padding-right:4px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;max-height:200px;font-size:8pt;overflow:auto;border-top:silver 1px solid;cursor:text;border-right:silver 1px solid;padding-top:4px;" id="codeSnippetWrapper"&gt;
&lt;div style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;" id="codeSnippet"&gt;&lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&amp;lt;ContentPresenter Name=&lt;span style="color:#006080;"&gt;&amp;quot;ContentSite&amp;quot;&lt;/span&gt; &lt;/pre&gt;&lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                  IsHitTestVisible=&lt;span style="color:#006080;"&gt;&amp;quot;False&amp;quot;&lt;/span&gt; &lt;/pre&gt;&lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                  Content=&lt;span style="color:#006080;"&gt;&amp;quot;{TemplateBinding SelectionBoxItem}&amp;quot;&lt;/span&gt; &lt;/pre&gt;&lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                  ContentTemplate=&lt;span style="color:#006080;"&gt;&amp;quot;{StaticResource DisplayImageWithText}&amp;quot;&lt;/span&gt; &lt;/pre&gt;&lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                  ContentTemplateSelector=&lt;span style="color:#006080;"&gt;&amp;quot;{TemplateBinding ItemTemplateSelector}&amp;quot;&lt;/span&gt; &lt;/pre&gt;&lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                  Margin=&lt;span style="color:#006080;"&gt;&amp;quot;3,3,23,3&amp;quot;&lt;/span&gt; &lt;/pre&gt;&lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                  VerticalAlignment=&lt;span style="color:#006080;"&gt;&amp;quot;Center&amp;quot;&lt;/span&gt; &lt;/pre&gt;&lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                  HorizontalAlignment=&lt;span style="color:#006080;"&gt;&amp;quot;Left&amp;quot;&lt;/span&gt;/&amp;gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;
&lt;p&gt;This takes care of the ComboBox when it is closed. Next we will work on the ComboBoxItem; this is when the drop down is clicked. This is similar to the ComboBox itself but not exact. I use a StackPanel again and specify the size to ensure that all of the images are the same size.&lt;/p&gt;&lt;pre class="code"&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;=&amp;quot;ComboBoxItem&amp;quot;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Border &lt;/span&gt;&lt;span style="color:red;"&gt;Name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Border&amp;quot; &lt;/span&gt;&lt;span style="color:red;"&gt;Padding&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;2&amp;quot; 
            &lt;/span&gt;&lt;span style="color:red;"&gt;SnapsToDevicePixels&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;true&amp;quot;&amp;gt;
        &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;StackPanel&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
            &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Image &lt;/span&gt;&lt;span style="color:red;"&gt;Source&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Binding &lt;/span&gt;&lt;span style="color:red;"&gt;Image&lt;/span&gt;&lt;span style="color:blue;"&gt;}&amp;quot; 
                   &lt;/span&gt;&lt;span style="color:red;"&gt;Stretch&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Fill&amp;quot; 
                   &lt;/span&gt;&lt;span style="color:red;"&gt;Width&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;60&amp;quot; &lt;/span&gt;&lt;span style="color:red;"&gt;Height&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;60&amp;quot;/&amp;gt;
            &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ContentPresenter &lt;/span&gt;&lt;span style="color:red;"&gt;HorizontalAlignment&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Center&amp;quot;/&amp;gt;
        &amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;StackPanel&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
    &amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Border&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
&lt;/span&gt;&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;
&lt;p&gt;That completes the customization of the resource. In the source code attached to this article, I have the complete ResourceDictionary that has all of the colors and sections broken out for easy customization.&lt;/p&gt;
&lt;h3&gt;Binding Data&lt;/h3&gt;
&lt;p&gt;For this example I have two XML files with data but I chose to use two different methods to access the data to show multiple ways to accomplish the same thing. If we look at the window resources we see the following:&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Window.Resources&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;XmlDataProvider &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;=&amp;quot;StateData&amp;quot; 
                     &lt;/span&gt;&lt;span style="color:red;"&gt;Source&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Data\StateCodes.xml&amp;quot; 
                     &lt;/span&gt;&lt;span style="color:red;"&gt;XPath&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;//State&amp;quot; /&amp;gt;

    &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ObjectDataProvider &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;=&amp;quot;DropDownProvider&amp;quot; 
                        &lt;/span&gt;&lt;span style="color:red;"&gt;ObjectType&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;x&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Type &lt;/span&gt;&lt;span style="color:red;"&gt;data&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:red;"&gt;CodeItemLoader&lt;/span&gt;&lt;span style="color:blue;"&gt;}&amp;quot; 
                        &lt;/span&gt;&lt;span style="color:red;"&gt;MethodName&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;GetSampleData&amp;quot; /&amp;gt;

&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Window.Resources&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
&lt;/span&gt;&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;
&lt;p&gt;These are the data sources for our application. The first is just a XML data reader that will open the file StateCodes.xml located in the Data directory and return all of the nodes State.&lt;/p&gt;
&lt;p&gt;The second data source is a data provider that creates a instance of the CodeItemLoader class and executes the method GetSampleData passing no parameters. If you open the class you will see the class opens an XML file called SampleData.xml and uses LINQ to parse the data and return a generic list of the class CodeItem.&lt;/p&gt;
&lt;p&gt;Our first ComboBox is a general drop down list for states. The desire is the drop down list should show the entire state name while the ComboBox itself should only show the abbreviation. The data in the XML looks like this:&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;State &lt;/span&gt;&lt;span style="color:red;"&gt;name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;ALABAMA&amp;quot; &lt;/span&gt;&lt;span style="color:red;"&gt;id&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;AL&amp;quot; /&amp;gt;
&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Since the data provider is returning back the State node, this is how we would code the ComboBox:&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ComboBox &lt;/span&gt;&lt;span style="color:red;"&gt;Name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;cboStates&amp;quot;
          &lt;/span&gt;&lt;span style="color:red;"&gt;ItemsSource&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Binding &lt;/span&gt;&lt;span style="color:red;"&gt;Source&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;StateData&lt;/span&gt;&lt;span style="color:blue;"&gt;}}&amp;quot;  
          &lt;/span&gt;&lt;span style="color:red;"&gt;SelectedValuePath&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;@id&amp;quot; 
          &lt;/span&gt;&lt;span style="color:red;"&gt;DisplayMemberPath&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;@name&amp;quot; /&amp;gt;
&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;/span&gt;
&lt;p&gt;If we want to display the code selected by the ComboBox, we do not need to write a bunch of code, all we need to do is use binding. The following TextBox is bound to the ComboBox:&lt;/p&gt;&lt;pre class="code"&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;Text&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Binding &lt;/span&gt;&lt;span style="color:red;"&gt;ElementName&lt;/span&gt;&lt;span style="color:blue;"&gt;=cboStates, &lt;/span&gt;&lt;span style="color:red;"&gt;Path&lt;/span&gt;&lt;span style="color:blue;"&gt;=SelectedValue}&amp;quot; /&amp;gt;
&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;/span&gt;
&lt;p&gt;The second ComboBox be bound to our second data source and will have the Style that we created earlier to display an image with text. We add the MaxWidth and MaxHeight in here to control the drop down. You could make it longer or taller adjusting these values.&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ComboBox &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;=&amp;quot;cboImageSample&amp;quot; 
          &lt;/span&gt;&lt;span style="color:red;"&gt;ItemsSource&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Binding &lt;/span&gt;&lt;span style="color:red;"&gt;Source&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;DropDownProvider&lt;/span&gt;&lt;span style="color:blue;"&gt;}}&amp;quot;
          &lt;/span&gt;&lt;span style="color:red;"&gt;Style&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;StaticResource &lt;/span&gt;&lt;span style="color:red;"&gt;ImageComboBox&lt;/span&gt;&lt;span style="color:blue;"&gt;}&amp;quot; 
          &lt;/span&gt;&lt;span style="color:red;"&gt;MaxWidth&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;350&amp;quot; &lt;/span&gt;&lt;span style="color:red;"&gt;MaxHeight&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;70&amp;quot; /&amp;gt;
&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;/span&gt;
&lt;p&gt;Since we have a list of CodeItem classes in our ComboBox, we can bind to each of the properties of the class as show below:&lt;/p&gt;&lt;pre class="code"&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;Text&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Binding &lt;/span&gt;&lt;span style="color:red;"&gt;ElementName&lt;/span&gt;&lt;span style="color:blue;"&gt;=cboImageSample, &lt;/span&gt;&lt;span style="color:red;"&gt;Path&lt;/span&gt;&lt;span style="color:blue;"&gt;=SelectedItem}&amp;quot; /&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;TextBox 
&lt;/span&gt;&lt;span style="color:red;"&gt;Text&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Binding &lt;/span&gt;&lt;span style="color:red;"&gt;ElementName&lt;/span&gt;&lt;span style="color:blue;"&gt;=cboImageSample, &lt;/span&gt;&lt;span style="color:red;"&gt;Path&lt;/span&gt;&lt;span style="color:blue;"&gt;=SelectedItem.Code}&amp;quot; /&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;TextBox 
&lt;/span&gt;&lt;span style="color:red;"&gt;Text&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Binding &lt;/span&gt;&lt;span style="color:red;"&gt;ElementName&lt;/span&gt;&lt;span style="color:blue;"&gt;=cboImageSample, &lt;/span&gt;&lt;span style="color:red;"&gt;Path&lt;/span&gt;&lt;span style="color:blue;"&gt;=SelectedItem.Text}&amp;quot; /&amp;gt;
&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;/span&gt;
&lt;p&gt;&lt;a href="http://blogs.windowsclient.net/blogs/airborneengineer/image_3A66BAD6.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="image" border="0" alt="image" src="http://blogs.windowsclient.net/blogs/airborneengineer/image_thumb_2CF08203.png" width="405" height="353" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;h3&gt;Summary&lt;/h3&gt;
&lt;p&gt;Microsoft’s approach to controls has really made WPF a powerful tool allowing you to do almost anything you want to a control. Use of binding allows code to be much leaner and easier to maintain.&lt;/p&gt;
&lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:246205fa-a1b6-4850-b2a5-18f2caee25e5" class="wlWriterEditableSmartContent"&gt;&lt;p&gt;Source Code &lt;a href="http://blogs.windowsclient.net/blogs/airborneengineer/ComboBoxDemo_0E90510D.zip" target="_blank"&gt;demo.zip&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/ComboBox" rel="tag"&gt;ComboBox&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Customization" rel="tag"&gt;Customization&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Introduction" rel="tag"&gt;Introduction&lt;/a&gt;,&lt;a href="http://technorati.com/tags/article" rel="tag"&gt;article&lt;/a&gt;,&lt;a href="http://technorati.com/tags/archive" rel="tag"&gt;archive&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ComboBoxes" rel="tag"&gt;ComboBoxes&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Image" rel="tag"&gt;Image&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Text" rel="tag"&gt;Text&lt;/a&gt;,&lt;a href="http://technorati.com/tags/classes" rel="tag"&gt;classes&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Style" rel="tag"&gt;Style&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ContentPresenter" rel="tag"&gt;ContentPresenter&lt;/a&gt;,&lt;a href="http://technorati.com/tags/StackPanel" rel="tag"&gt;StackPanel&lt;/a&gt;,&lt;a href="http://technorati.com/tags/TextBlock" rel="tag"&gt;TextBlock&lt;/a&gt;,&lt;a href="http://technorati.com/tags/template" rel="tag"&gt;template&lt;/a&gt;,&lt;a href="http://technorati.com/tags/IsHitTestVisible" rel="tag"&gt;IsHitTestVisible&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SnapsToDevicePixels" rel="tag"&gt;SnapsToDevicePixels&lt;/a&gt;,&lt;a href="http://technorati.com/tags/HorizontalAlignment" rel="tag"&gt;HorizontalAlignment&lt;/a&gt;,&lt;a href="http://technorati.com/tags/HorizontalContentAlignment" rel="tag"&gt;HorizontalContentAlignment&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Margin" rel="tag"&gt;Margin&lt;/a&gt;,&lt;a href="http://technorati.com/tags/VerticalAlignment" rel="tag"&gt;VerticalAlignment&lt;/a&gt;,&lt;a href="http://technorati.com/tags/VerticalContentAlignment" rel="tag"&gt;VerticalContentAlignment&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Content" rel="tag"&gt;Content&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SelectionBoxItem" rel="tag"&gt;SelectionBoxItem&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ContentTemplate" rel="tag"&gt;ContentTemplate&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SelectionBoxItemTemplate" rel="tag"&gt;SelectionBoxItemTemplate&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ContentTemplateSelector" rel="tag"&gt;ContentTemplateSelector&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ItemTemplateSelector" rel="tag"&gt;ItemTemplateSelector&lt;/a&gt;,&lt;a href="http://technorati.com/tags/DataTemplate" rel="tag"&gt;DataTemplate&lt;/a&gt;,&lt;a href="http://technorati.com/tags/path" rel="tag"&gt;path&lt;/a&gt;,&lt;a href="http://technorati.com/tags/words" rel="tag"&gt;words&lt;/a&gt;,&lt;a href="http://technorati.com/tags/width" rel="tag"&gt;width&lt;/a&gt;,&lt;a href="http://technorati.com/tags/size" rel="tag"&gt;size&lt;/a&gt;,&lt;a href="http://technorati.com/tags/item" rel="tag"&gt;item&lt;/a&gt;,&lt;a href="http://technorati.com/tags/DisplayImageWithText" rel="tag"&gt;DisplayImageWithText&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Border" rel="tag"&gt;Border&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Name" rel="tag"&gt;Name&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Source" rel="tag"&gt;Source&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Stretch" rel="tag"&gt;Stretch&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Fill" rel="tag"&gt;Fill&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Auto" rel="tag"&gt;Auto&lt;/a&gt;,&lt;a href="http://technorati.com/tags/TextAlignment" rel="tag"&gt;TextAlignment&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Center" rel="tag"&gt;Center&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Wrap" rel="tag"&gt;Wrap&lt;/a&gt;,&lt;a href="http://technorati.com/tags/MaxWidth" rel="tag"&gt;MaxWidth&lt;/a&gt;,&lt;a href="http://technorati.com/tags/resource" rel="tag"&gt;resource&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ContentSite" rel="tag"&gt;ContentSite&lt;/a&gt;,&lt;a href="http://technorati.com/tags/False" rel="tag"&gt;False&lt;/a&gt;,&lt;a href="http://technorati.com/tags/StaticResource" rel="tag"&gt;StaticResource&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Left" rel="tag"&gt;Left&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ComboBoxItem" rel="tag"&gt;ComboBoxItem&lt;/a&gt;,&lt;a href="http://technorati.com/tags/images" rel="tag"&gt;images&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ControlTemplate" rel="tag"&gt;ControlTemplate&lt;/a&gt;,&lt;a href="http://technorati.com/tags/TargetType" rel="tag"&gt;TargetType&lt;/a&gt;,&lt;a href="http://technorati.com/tags/code" rel="tag"&gt;code&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ResourceDictionary" rel="tag"&gt;ResourceDictionary&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Data" rel="tag"&gt;Data&lt;/a&gt;,&lt;a href="http://technorati.com/tags/example" rel="tag"&gt;example&lt;/a&gt;,&lt;a href="http://technorati.com/tags/files" rel="tag"&gt;files&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Resources" rel="tag"&gt;Resources&lt;/a&gt;,&lt;a href="http://technorati.com/tags/XmlDataProvider" rel="tag"&gt;XmlDataProvider&lt;/a&gt;,&lt;a href="http://technorati.com/tags/StateData" rel="tag"&gt;StateData&lt;/a&gt;,&lt;a href="http://technorati.com/tags/StateCodes" rel="tag"&gt;StateCodes&lt;/a&gt;,&lt;a href="http://technorati.com/tags/XPath" rel="tag"&gt;XPath&lt;/a&gt;,&lt;a href="http://technorati.com/tags/State" rel="tag"&gt;State&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ObjectDataProvider" rel="tag"&gt;ObjectDataProvider&lt;/a&gt;,&lt;a href="http://technorati.com/tags/DropDownProvider" rel="tag"&gt;DropDownProvider&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ObjectType" rel="tag"&gt;ObjectType&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Type" rel="tag"&gt;Type&lt;/a&gt;,&lt;a href="http://technorati.com/tags/CodeItemLoader" rel="tag"&gt;CodeItemLoader&lt;/a&gt;,&lt;a href="http://technorati.com/tags/MethodName" rel="tag"&gt;MethodName&lt;/a&gt;,&lt;a href="http://technorati.com/tags/GetSampleData" rel="tag"&gt;GetSampleData&lt;/a&gt;,&lt;a href="http://technorati.com/tags/reader" rel="tag"&gt;reader&lt;/a&gt;,&lt;a href="http://technorati.com/tags/directory" rel="tag"&gt;directory&lt;/a&gt;,&lt;a href="http://technorati.com/tags/provider" rel="tag"&gt;provider&lt;/a&gt;,&lt;a href="http://technorati.com/tags/instance" rel="tag"&gt;instance&lt;/a&gt;,&lt;a href="http://technorati.com/tags/method" rel="tag"&gt;method&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SampleData" rel="tag"&gt;SampleData&lt;/a&gt;,&lt;a href="http://technorati.com/tags/LINQ" rel="tag"&gt;LINQ&lt;/a&gt;,&lt;a href="http://technorati.com/tags/CodeItem" rel="tag"&gt;CodeItem&lt;/a&gt;,&lt;a href="http://technorati.com/tags/abbreviation" rel="tag"&gt;abbreviation&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ALABAMA" rel="tag"&gt;ALABAMA&lt;/a&gt;,&lt;a href="http://technorati.com/tags/node" rel="tag"&gt;node&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ItemsSource" rel="tag"&gt;ItemsSource&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SelectedValuePath" rel="tag"&gt;SelectedValuePath&lt;/a&gt;,&lt;a href="http://technorati.com/tags/DisplayMemberPath" rel="tag"&gt;DisplayMemberPath&lt;/a&gt;,&lt;a href="http://technorati.com/tags/TextBox" rel="tag"&gt;TextBox&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ElementName" rel="tag"&gt;ElementName&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SelectedValue" rel="tag"&gt;SelectedValue&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ImageComboBox" rel="tag"&gt;ImageComboBox&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SelectedItem" rel="tag"&gt;SelectedItem&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Summary" rel="tag"&gt;Summary&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Microsoft" rel="tag"&gt;Microsoft&lt;/a&gt;,&lt;a href="http://technorati.com/tags/tool" rel="tag"&gt;tool&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Combo" rel="tag"&gt;Combo&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Demo" rel="tag"&gt;Demo&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Templates" rel="tag"&gt;Templates&lt;/a&gt;,&lt;a href="http://technorati.com/tags/pieces" rel="tag"&gt;pieces&lt;/a&gt;,&lt;a href="http://technorati.com/tags/methods" rel="tag"&gt;methods&lt;/a&gt;,&lt;a href="http://technorati.com/tags/parameters" rel="tag"&gt;parameters&lt;/a&gt;,&lt;a href="http://technorati.com/tags/easier" rel="tag"&gt;easier&lt;/a&gt;,&lt;a href="http://technorati.com/tags/itself" rel="tag"&gt;itself&lt;/a&gt;,&lt;a href="http://technorati.com/tags/cboStates" rel="tag"&gt;cboStates&lt;/a&gt;,&lt;a href="http://technorati.com/tags/cboImageSample" rel="tag"&gt;cboImageSample&lt;/a&gt;&lt;br /&gt;
&lt;p&gt;&lt;/p&gt;Windows Live Tags: &lt;a href="http://windows.live.com/connect/tag/ComboBox" rel="clubhouseTag"&gt;ComboBox&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Customization" rel="clubhouseTag"&gt;Customization&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Introduction" rel="clubhouseTag"&gt;Introduction&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/article" rel="clubhouseTag"&gt;article&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/archive" rel="clubhouseTag"&gt;archive&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/ComboBoxes" rel="clubhouseTag"&gt;ComboBoxes&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Image" rel="clubhouseTag"&gt;Image&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Text" rel="clubhouseTag"&gt;Text&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/classes" rel="clubhouseTag"&gt;classes&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Style" rel="clubhouseTag"&gt;Style&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/ContentPresenter" rel="clubhouseTag"&gt;ContentPresenter&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/StackPanel" rel="clubhouseTag"&gt;StackPanel&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/TextBlock" rel="clubhouseTag"&gt;TextBlock&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/template" rel="clubhouseTag"&gt;template&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/IsHitTestVisible" rel="clubhouseTag"&gt;IsHitTestVisible&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/SnapsToDevicePixels" rel="clubhouseTag"&gt;SnapsToDevicePixels&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/HorizontalAlignment" rel="clubhouseTag"&gt;HorizontalAlignment&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/HorizontalContentAlignment" rel="clubhouseTag"&gt;HorizontalContentAlignment&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Margin" rel="clubhouseTag"&gt;Margin&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/VerticalAlignment" rel="clubhouseTag"&gt;VerticalAlignment&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/VerticalContentAlignment" rel="clubhouseTag"&gt;VerticalContentAlignment&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Content" rel="clubhouseTag"&gt;Content&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/SelectionBoxItem" rel="clubhouseTag"&gt;SelectionBoxItem&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/ContentTemplate" rel="clubhouseTag"&gt;ContentTemplate&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/SelectionBoxItemTemplate" rel="clubhouseTag"&gt;SelectionBoxItemTemplate&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/ContentTemplateSelector" rel="clubhouseTag"&gt;ContentTemplateSelector&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/ItemTemplateSelector" rel="clubhouseTag"&gt;ItemTemplateSelector&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/DataTemplate" rel="clubhouseTag"&gt;DataTemplate&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/path" rel="clubhouseTag"&gt;path&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/words" rel="clubhouseTag"&gt;words&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/width" rel="clubhouseTag"&gt;width&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/size" rel="clubhouseTag"&gt;size&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/item" rel="clubhouseTag"&gt;item&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/DisplayImageWithText" rel="clubhouseTag"&gt;DisplayImageWithText&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Border" rel="clubhouseTag"&gt;Border&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Name" rel="clubhouseTag"&gt;Name&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Source" rel="clubhouseTag"&gt;Source&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Stretch" rel="clubhouseTag"&gt;Stretch&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Fill" rel="clubhouseTag"&gt;Fill&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Auto" rel="clubhouseTag"&gt;Auto&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/TextAlignment" rel="clubhouseTag"&gt;TextAlignment&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Center" rel="clubhouseTag"&gt;Center&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Wrap" rel="clubhouseTag"&gt;Wrap&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/MaxWidth" rel="clubhouseTag"&gt;MaxWidth&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/resource" rel="clubhouseTag"&gt;resource&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/ContentSite" rel="clubhouseTag"&gt;ContentSite&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/False" rel="clubhouseTag"&gt;False&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/StaticResource" rel="clubhouseTag"&gt;StaticResource&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Left" rel="clubhouseTag"&gt;Left&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/ComboBoxItem" rel="clubhouseTag"&gt;ComboBoxItem&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/images" rel="clubhouseTag"&gt;images&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/ControlTemplate" rel="clubhouseTag"&gt;ControlTemplate&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/TargetType" rel="clubhouseTag"&gt;TargetType&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/code" rel="clubhouseTag"&gt;code&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/ResourceDictionary" rel="clubhouseTag"&gt;ResourceDictionary&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Data" rel="clubhouseTag"&gt;Data&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/example" rel="clubhouseTag"&gt;example&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/files" rel="clubhouseTag"&gt;files&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Resources" rel="clubhouseTag"&gt;Resources&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/XmlDataProvider" rel="clubhouseTag"&gt;XmlDataProvider&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/StateData" rel="clubhouseTag"&gt;StateData&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/StateCodes" rel="clubhouseTag"&gt;StateCodes&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/XPath" rel="clubhouseTag"&gt;XPath&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/State" rel="clubhouseTag"&gt;State&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/ObjectDataProvider" rel="clubhouseTag"&gt;ObjectDataProvider&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/DropDownProvider" rel="clubhouseTag"&gt;DropDownProvider&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/ObjectType" rel="clubhouseTag"&gt;ObjectType&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Type" rel="clubhouseTag"&gt;Type&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/CodeItemLoader" rel="clubhouseTag"&gt;CodeItemLoader&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/MethodName" rel="clubhouseTag"&gt;MethodName&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/GetSampleData" rel="clubhouseTag"&gt;GetSampleData&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/reader" rel="clubhouseTag"&gt;reader&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/directory" rel="clubhouseTag"&gt;directory&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/provider" rel="clubhouseTag"&gt;provider&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/instance" rel="clubhouseTag"&gt;instance&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/method" rel="clubhouseTag"&gt;method&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/SampleData" rel="clubhouseTag"&gt;SampleData&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/LINQ" rel="clubhouseTag"&gt;LINQ&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/CodeItem" rel="clubhouseTag"&gt;CodeItem&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/abbreviation" rel="clubhouseTag"&gt;abbreviation&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/ALABAMA" rel="clubhouseTag"&gt;ALABAMA&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/node" rel="clubhouseTag"&gt;node&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/ItemsSource" rel="clubhouseTag"&gt;ItemsSource&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/SelectedValuePath" rel="clubhouseTag"&gt;SelectedValuePath&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/DisplayMemberPath" rel="clubhouseTag"&gt;DisplayMemberPath&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/TextBox" rel="clubhouseTag"&gt;TextBox&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/ElementName" rel="clubhouseTag"&gt;ElementName&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/SelectedValue" rel="clubhouseTag"&gt;SelectedValue&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/ImageComboBox" rel="clubhouseTag"&gt;ImageComboBox&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/SelectedItem" rel="clubhouseTag"&gt;SelectedItem&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Summary" rel="clubhouseTag"&gt;Summary&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Microsoft" rel="clubhouseTag"&gt;Microsoft&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/tool" rel="clubhouseTag"&gt;tool&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Combo" rel="clubhouseTag"&gt;Combo&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Demo" rel="clubhouseTag"&gt;Demo&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Templates" rel="clubhouseTag"&gt;Templates&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/pieces" rel="clubhouseTag"&gt;pieces&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/methods" rel="clubhouseTag"&gt;methods&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/parameters" rel="clubhouseTag"&gt;parameters&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/easier" rel="clubhouseTag"&gt;easier&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/itself" rel="clubhouseTag"&gt;itself&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/cboStates" rel="clubhouseTag"&gt;cboStates&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/cboImageSample" rel="clubhouseTag"&gt;cboImageSample&lt;/a&gt;&lt;br /&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;WordPress Tags: &lt;a href="http://wordpress.com/tag/ComboBox" rel="Tag"&gt;ComboBox&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/Customization" rel="Tag"&gt;Customization&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/Introduction" rel="Tag"&gt;Introduction&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/article" rel="Tag"&gt;article&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/archive" rel="Tag"&gt;archive&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/ComboBoxes" rel="Tag"&gt;ComboBoxes&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/Image" rel="Tag"&gt;Image&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/Text" rel="Tag"&gt;Text&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/classes" rel="Tag"&gt;classes&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/Style" rel="Tag"&gt;Style&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/ContentPresenter" rel="Tag"&gt;ContentPresenter&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/StackPanel" rel="Tag"&gt;StackPanel&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/TextBlock" rel="Tag"&gt;TextBlock&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/template" rel="Tag"&gt;template&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/IsHitTestVisible" rel="Tag"&gt;IsHitTestVisible&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/SnapsToDevicePixels" rel="Tag"&gt;SnapsToDevicePixels&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/HorizontalAlignment" rel="Tag"&gt;HorizontalAlignment&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/HorizontalContentAlignment" rel="Tag"&gt;HorizontalContentAlignment&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/Margin" rel="Tag"&gt;Margin&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/VerticalAlignment" rel="Tag"&gt;VerticalAlignment&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/VerticalContentAlignment" rel="Tag"&gt;VerticalContentAlignment&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/Content" rel="Tag"&gt;Content&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/SelectionBoxItem" rel="Tag"&gt;SelectionBoxItem&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/ContentTemplate" rel="Tag"&gt;ContentTemplate&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/SelectionBoxItemTemplate" rel="Tag"&gt;SelectionBoxItemTemplate&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/ContentTemplateSelector" rel="Tag"&gt;ContentTemplateSelector&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/ItemTemplateSelector" rel="Tag"&gt;ItemTemplateSelector&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/DataTemplate" rel="Tag"&gt;DataTemplate&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/path" rel="Tag"&gt;path&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/words" rel="Tag"&gt;words&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/width" rel="Tag"&gt;width&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/size" rel="Tag"&gt;size&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/item" rel="Tag"&gt;item&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/DisplayImageWithText" rel="Tag"&gt;DisplayImageWithText&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/Border" rel="Tag"&gt;Border&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/Name" rel="Tag"&gt;Name&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/Source" rel="Tag"&gt;Source&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/Stretch" rel="Tag"&gt;Stretch&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/Fill" rel="Tag"&gt;Fill&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/Auto" rel="Tag"&gt;Auto&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/TextAlignment" rel="Tag"&gt;TextAlignment&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/Center" rel="Tag"&gt;Center&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/Wrap" rel="Tag"&gt;Wrap&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/MaxWidth" rel="Tag"&gt;MaxWidth&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/resource" rel="Tag"&gt;resource&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/ContentSite" rel="Tag"&gt;ContentSite&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/False" rel="Tag"&gt;False&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/StaticResource" rel="Tag"&gt;StaticResource&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/Left" rel="Tag"&gt;Left&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/ComboBoxItem" rel="Tag"&gt;ComboBoxItem&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/images" rel="Tag"&gt;images&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/ControlTemplate" rel="Tag"&gt;ControlTemplate&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/TargetType" rel="Tag"&gt;TargetType&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/code" rel="Tag"&gt;code&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/ResourceDictionary" rel="Tag"&gt;ResourceDictionary&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/Data" rel="Tag"&gt;Data&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/example" rel="Tag"&gt;example&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/files" rel="Tag"&gt;files&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/Resources" rel="Tag"&gt;Resources&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/XmlDataProvider" rel="Tag"&gt;XmlDataProvider&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/StateData" rel="Tag"&gt;StateData&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/StateCodes" rel="Tag"&gt;StateCodes&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/XPath" rel="Tag"&gt;XPath&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/State" rel="Tag"&gt;State&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/ObjectDataProvider" rel="Tag"&gt;ObjectDataProvider&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/DropDownProvider" rel="Tag"&gt;DropDownProvider&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/ObjectType" rel="Tag"&gt;ObjectType&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/Type" rel="Tag"&gt;Type&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/CodeItemLoader" rel="Tag"&gt;CodeItemLoader&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/MethodName" rel="Tag"&gt;MethodName&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/GetSampleData" rel="Tag"&gt;GetSampleData&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/reader" rel="Tag"&gt;reader&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/directory" rel="Tag"&gt;directory&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/provider" rel="Tag"&gt;provider&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/instance" rel="Tag"&gt;instance&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/method" rel="Tag"&gt;method&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/SampleData" rel="Tag"&gt;SampleData&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/LINQ" rel="Tag"&gt;LINQ&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/CodeItem" rel="Tag"&gt;CodeItem&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/abbreviation" rel="Tag"&gt;abbreviation&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/ALABAMA" rel="Tag"&gt;ALABAMA&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/node" rel="Tag"&gt;node&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/ItemsSource" rel="Tag"&gt;ItemsSource&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/SelectedValuePath" rel="Tag"&gt;SelectedValuePath&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/DisplayMemberPath" rel="Tag"&gt;DisplayMemberPath&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/TextBox" rel="Tag"&gt;TextBox&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/ElementName" rel="Tag"&gt;ElementName&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/SelectedValue" rel="Tag"&gt;SelectedValue&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/ImageComboBox" rel="Tag"&gt;ImageComboBox&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/SelectedItem" rel="Tag"&gt;SelectedItem&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/Summary" rel="Tag"&gt;Summary&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/Microsoft" rel="Tag"&gt;Microsoft&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/tool" rel="Tag"&gt;tool&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/Combo" rel="Tag"&gt;Combo&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/Demo" rel="Tag"&gt;Demo&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/Templates" rel="Tag"&gt;Templates&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/pieces" rel="Tag"&gt;pieces&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/methods" rel="Tag"&gt;methods&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/parameters" rel="Tag"&gt;parameters&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/easier" rel="Tag"&gt;easier&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/itself" rel="Tag"&gt;itself&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/cboStates" rel="Tag"&gt;cboStates&lt;/a&gt;,&lt;a href="http://wordpress.com/tag/cboImageSample" rel="Tag"&gt;cboImageSample&lt;/a&gt;&lt;img src="http://blogs.windowsclient.net/aggbug.aspx?PostID=215497" width="1" height="1"&gt;</content><author><name>AirborneEngineer</name><uri>http://blogs.windowsclient.net/members/AirborneEngineer.aspx</uri></author></entry><entry><title>WPF Styles and Templates – Part I</title><link rel="alternate" type="text/html" href="http://blogs.windowsclient.net/airborneengineer/archive/2009/06/09/wpf-styles-and-templates-part-i.aspx" /><id>http://blogs.windowsclient.net/airborneengineer/archive/2009/06/09/wpf-styles-and-templates-part-i.aspx</id><published>2009-06-09T20:51:00Z</published><updated>2009-06-09T20:51:00Z</updated><content type="html">&lt;p style="margin:0in 0in 10pt;" class="MsoNormal"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;I originally started out with the intention on describing how to make an image or image and text display in a ComboBox.&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;As I started writing the article, I realized that instead of making one massive article describing what needs to be done, I would break it down is to functional areas.&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;– Now, even blogs need to have design documents.&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;&lt;/font&gt;&lt;span style="font-family:wingdings;mso-ascii-font-family:calibri;mso-ascii-theme-font:minor-latin;mso-hansi-font-family:calibri;mso-hansi-theme-font:minor-latin;mso-char-type:symbol;mso-symbol-font-family:wingdings;"&gt;&lt;span style="mso-char-type:symbol;mso-symbol-font-family:wingdings;"&gt;J&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p style="margin:0in 0in 10pt;" class="MsoNormal"&gt;&lt;font size="3" face="Calibri"&gt;One of the features that I really like about WPF is that it allows you to change a control’s look and feel into almost anything.&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;Prior to WPF if you wanted to have an image or and image and text in a ComboBox, you need to look at a third party vendor to create it for you.&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;This article is part I of a series looking at customizing controls.&amp;#160; In this article we will focus on Styles and Templates.&amp;#160; &lt;/font&gt;&lt;/p&gt;  &lt;p style="margin:0in 0in 10pt;" class="MsoNormal"&gt;&lt;font color="#365f91" size="5" face="Cambria"&gt;Styling Basics&lt;/font&gt;&lt;/p&gt;  &lt;p style="margin:0in 0in 10pt;" class="MsoNormal"&gt;&lt;font size="3" face="Calibri"&gt;When I first wanted to change my controls to give them more a 3D look, I tried to play around with Styles and Templates I ended up getting some results that were undesired.&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;Let’s say that you want to change the font to red so you create a control template:&lt;/font&gt;&lt;/p&gt;  &lt;pre class="code"&gt; &lt;span style="color:green;"&gt;&amp;lt;!-- x:Key = Name used to reference template 
             TargetType = Type of control template will update --&amp;gt;
 &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;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;=&amp;quot;ButtonTemplate&amp;quot; &lt;/span&gt;&lt;span style="color:red;"&gt;TargetType&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;x&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Type &lt;/span&gt;&lt;span style="color:red;"&gt;Button&lt;/span&gt;&lt;span style="color:blue;"&gt;}&amp;quot;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ContentControl &lt;/span&gt;&lt;span style="color:red;"&gt;Content&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&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;}&amp;quot; 
                &lt;/span&gt;&lt;span style="color:red;"&gt;Foreground&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;#FFFF0000&amp;quot; /&amp;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;/span&gt;&lt;span style="color:green;"&gt;&amp;lt;!-- Template = Name used in the x:Key above --&amp;gt;
&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:red;"&gt;Content&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Close&amp;quot; &lt;/span&gt;&lt;span style="color:red;"&gt;Template&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;StaticResource &lt;/span&gt;&lt;span style="color:red;"&gt;ButtonTemplate&lt;/span&gt;&lt;span style="color:blue;"&gt;}&amp;quot; /&amp;gt;
&lt;/span&gt;&lt;font size="3" face="Calibri"&gt;&lt;/font&gt;&lt;/pre&gt;

&lt;pre class="code"&gt;&lt;font size="3" face="Calibri"&gt;This results in the following:&lt;/font&gt;&lt;/pre&gt;

&lt;p style="margin:0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin:0in 0in 10pt;" class="MsoNormal"&gt;&lt;font size="3" face="Calibri"&gt;&lt;/font&gt;&amp;#160;&lt;a href="http://blogs.windowsclient.net/blogs/airborneengineer/image_1884E147.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" src="http://blogs.windowsclient.net/blogs/airborneengineer/image_thumb_6CD4174A.png" width="46" height="25" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p style="margin:0in 0in 10pt;" class="MsoNormal"&gt;&lt;font size="3" face="Calibri"&gt;Not exactly what we were looking for, but the template did exactly what we told it to do, make the font red and nothing else.&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;We lost the mouse over highlight functionality and the 3D click effects.&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;So at this point, many people bail on the idea of doing this and go to the web to find code to borrow.&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;But there are some really easy ways to go forward.&lt;/font&gt;&lt;/p&gt;

&lt;p style="margin:0in 0in 10pt;" class="MsoNormal"&gt;&lt;font size="3" face="Calibri"&gt;First off, if you have Microsoft Expression Blend, you have an easy way to create a template with everything filled in for you.&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;If you do not, download a trial version from &lt;/font&gt;&lt;a href="http://www.microsoft.com/expression/"&gt;&lt;font color="#0000ff" size="3" face="Calibri"&gt;http://www.microsoft.com/expression/&lt;/font&gt;&lt;/a&gt;&lt;font size="3" face="Calibri"&gt; .&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;There are several articles that describe the limitations of the Visual Studio UI for working with controls – Expression Blend will improve your productivity.&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;That’s all for my sales pitch now back to work…&lt;/font&gt;&lt;/p&gt;

&lt;p style="margin:0in 0in 10pt;" class="MsoNormal"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;Open your project and the page that has the button you would like to customize.&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;(Or create a new project and throw one button on the form.)&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;On the Interaction Panel, there is a section called Objects and Timeline.&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;This shows the controls on the page as well as the storyboards resources for this page.&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;If you expand out the page, you should see your control, right mouse click on the control and the following menu will be displayed:&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;a href="http://blogs.windowsclient.net/blogs/airborneengineer/image_4C4CD798.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" src="http://blogs.windowsclient.net/blogs/airborneengineer/image_thumb_08B52676.png" width="376" height="480" /&gt;&lt;/a&gt; 

&lt;p style="margin:0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;font size="3" face="Calibri"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin:0in 0in 10pt;" class="MsoNormal"&gt;&lt;font size="3" face="Calibri"&gt;Edit Control Parts (Template) is the section that we are looking for.&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;The following is a description for each of the menu items:&lt;/font&gt;&lt;/p&gt;

&lt;p style="text-indent:-0.25in;margin:0in 0in 0pt 0.5in;mso-list:l0 level1 lfo1;" class="MsoListParagraphCxSpFirst"&gt;&lt;span style="mso-bidi-font-family:calibri;mso-bidi-theme-font:minor-latin;"&gt;&lt;span style="mso-list:ignore;"&gt;&lt;font size="3" face="Calibri"&gt;1.&lt;/font&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&lt;/span&gt;Edit Template – Allows you to modify the template associated to the control.&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;It will be grayed out if no template is currently associated to the control.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p style="text-indent:-0.25in;margin:0in 0in 0pt 0.5in;mso-list:l0 level1 lfo1;" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="mso-bidi-font-family:calibri;mso-bidi-theme-font:minor-latin;"&gt;&lt;span style="mso-list:ignore;"&gt;&lt;font size="3" face="Calibri"&gt;2.&lt;/font&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font size="3" face="Calibri"&gt;Edit a Copy… - Allows you to take the current settings and make a new Style based on those settings.&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;This includes making all of the child resources such as the colors or edit boxes for ComboBoxes.&lt;/font&gt;&lt;/p&gt;

&lt;p style="text-indent:-0.25in;margin:0in 0in 0pt 0.5in;mso-list:l0 level1 lfo1;" class="MsoListParagraphCxSpMiddle"&gt;&lt;span style="mso-bidi-font-family:calibri;mso-bidi-theme-font:minor-latin;"&gt;&lt;span style="mso-list:ignore;"&gt;&lt;font size="3" face="Calibri"&gt;3.&lt;/font&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font size="3" face="Calibri"&gt;Create Empty… - Allows you to create an empty template that you need to fill in all of the holes.&lt;/font&gt;&lt;/p&gt;

&lt;p style="text-indent:-0.25in;margin:0in 0in 10pt 0.5in;mso-list:l0 level1 lfo1;" class="MsoListParagraphCxSpLast"&gt;&lt;span style="mso-bidi-font-family:calibri;mso-bidi-theme-font:minor-latin;"&gt;&lt;span style="mso-list:ignore;"&gt;&lt;font size="3" face="Calibri"&gt;4.&lt;/font&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font size="3" face="Calibri"&gt;Apply Resource – Allows you to select an existing template and associate it to your control.&lt;/font&gt;&lt;/p&gt;

&lt;p style="margin:0in 0in 10pt;" class="MsoNormal"&gt;&lt;font size="3" face="Calibri"&gt;One of the additional benefits for using Expression Blend to create your template is that it automatically adds any additional references to your project and page as needed.&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;If you are working along with this you will notice two changes that occurred behind the scenes for you.&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;The PresentationFramework.Aero DLL has been added to your project and a new namespace (&lt;/font&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Courier New&amp;#39;;color:red;font-size:10pt;mso-no-proof:yes;"&gt;xmlns&lt;/span&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;:&lt;/span&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Courier New&amp;#39;;color:red;font-size:10pt;mso-no-proof:yes;"&gt;Microsoft_Windows_Themes&lt;/span&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;=&amp;quot;clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Aero&amp;quot;&lt;/span&gt;&lt;font size="3" face="Calibri"&gt;) was added to your page for you.&lt;/font&gt;&lt;/p&gt;

&lt;p style="margin:0in 0in 10pt;" class="MsoNormal"&gt;&lt;font size="3" face="Calibri"&gt;Edit a Copy is a great way to get started but it will make your page fill up pretty quick, especially if all you want to do is change one property such as the foreground.&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;The following is the code generated by Blend:&lt;/font&gt;&lt;/p&gt;

&lt;div style="border-bottom:silver 1px solid;text-align:left;border-left:silver 1px solid;padding-bottom:4px;line-height:12pt;background-color:#f4f4f4;margin:20px 0px 10px;padding-left:4px;width:97.5%;padding-right:4px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;max-height:200px;font-size:8pt;overflow:auto;border-top:silver 1px solid;cursor:text;border-right:silver 1px solid;padding-top:4px;" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&amp;lt;Style x:Key=&lt;span style="color:#006080;"&gt;&amp;quot;ButtonFocusVisual&amp;quot;&lt;/span&gt;&amp;gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    &amp;lt;Setter Property=&lt;span style="color:#006080;"&gt;&amp;quot;Control.Template&amp;quot;&lt;/span&gt;&amp;gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;        &amp;lt;Setter.Value&amp;gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;            &amp;lt;ControlTemplate&amp;gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                &amp;lt;Rectangle SnapsToDevicePixels=&lt;span style="color:#006080;"&gt;&amp;quot;true&amp;quot;&lt;/span&gt; Margin=&lt;span style="color:#006080;"&gt;&amp;quot;2&amp;quot;&lt;/span&gt; Stroke=&lt;span style="color:#006080;"&gt;&amp;quot;Black&amp;quot;&lt;/span&gt; StrokeDashArray=&lt;span style="color:#006080;"&gt;&amp;quot;1 2&amp;quot;&lt;/span&gt; StrokeThickness=&lt;span style="color:#006080;"&gt;&amp;quot;1&amp;quot;&lt;/span&gt;/&amp;gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;            &amp;lt;/ControlTemplate&amp;gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;        &amp;lt;/Setter.Value&amp;gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    &amp;lt;/Setter&amp;gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&amp;lt;/Style&amp;gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&amp;#160;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&amp;lt;LinearGradientBrush x:Key=&lt;span style="color:#006080;"&gt;&amp;quot;ButtonNormalBackground&amp;quot;&lt;/span&gt; EndPoint=&lt;span style="color:#006080;"&gt;&amp;quot;0,1&amp;quot;&lt;/span&gt; StartPoint=&lt;span style="color:#006080;"&gt;&amp;quot;0,0&amp;quot;&lt;/span&gt;&amp;gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    &amp;lt;GradientStop Color=&lt;span style="color:#006080;"&gt;&amp;quot;#F3F3F3&amp;quot;&lt;/span&gt; Offset=&lt;span style="color:#006080;"&gt;&amp;quot;0&amp;quot;&lt;/span&gt;/&amp;gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    &amp;lt;GradientStop Color=&lt;span style="color:#006080;"&gt;&amp;quot;#EBEBEB&amp;quot;&lt;/span&gt; Offset=&lt;span style="color:#006080;"&gt;&amp;quot;0.5&amp;quot;&lt;/span&gt;/&amp;gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    &amp;lt;GradientStop Color=&lt;span style="color:#006080;"&gt;&amp;quot;#DDDDDD&amp;quot;&lt;/span&gt; Offset=&lt;span style="color:#006080;"&gt;&amp;quot;0.5&amp;quot;&lt;/span&gt;/&amp;gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    &amp;lt;GradientStop Color=&lt;span style="color:#006080;"&gt;&amp;quot;#CDCDCD&amp;quot;&lt;/span&gt; Offset=&lt;span style="color:#006080;"&gt;&amp;quot;1&amp;quot;&lt;/span&gt;/&amp;gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&amp;lt;/LinearGradientBrush&amp;gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&amp;#160;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&amp;lt;SolidColorBrush x:Key=&lt;span style="color:#006080;"&gt;&amp;quot;ButtonNormalBorder&amp;quot;&lt;/span&gt; Color=&lt;span style="color:#006080;"&gt;&amp;quot;#FF707070&amp;quot;&lt;/span&gt;/&amp;gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&amp;#160;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&amp;lt;Style x:Key=&lt;span style="color:#006080;"&gt;&amp;quot;GoodButtonTemplate&amp;quot;&lt;/span&gt; TargetType=&lt;span style="color:#006080;"&gt;&amp;quot;{x:Type Button}&amp;quot;&lt;/span&gt;&amp;gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    &amp;lt;Setter Property=&lt;span style="color:#006080;"&gt;&amp;quot;FocusVisualStyle&amp;quot;&lt;/span&gt; Value=&lt;span style="color:#006080;"&gt;&amp;quot;{StaticResource ButtonFocusVisual}&amp;quot;&lt;/span&gt;/&amp;gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    &amp;lt;Setter Property=&lt;span style="color:#006080;"&gt;&amp;quot;Background&amp;quot;&lt;/span&gt; Value=&lt;span style="color:#006080;"&gt;&amp;quot;{StaticResource ButtonNormalBackground}&amp;quot;&lt;/span&gt;/&amp;gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    &amp;lt;Setter Property=&lt;span style="color:#006080;"&gt;&amp;quot;BorderBrush&amp;quot;&lt;/span&gt; Value=&lt;span style="color:#006080;"&gt;&amp;quot;{StaticResource ButtonNormalBorder}&amp;quot;&lt;/span&gt;/&amp;gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    &amp;lt;Setter Property=&lt;span style="color:#006080;"&gt;&amp;quot;BorderThickness&amp;quot;&lt;/span&gt; Value=&lt;span style="color:#006080;"&gt;&amp;quot;1&amp;quot;&lt;/span&gt;/&amp;gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    &amp;lt;Setter Property=&lt;span style="color:#006080;"&gt;&amp;quot;Foreground&amp;quot;&lt;/span&gt; Value=&lt;span style="color:#006080;"&gt;&amp;quot;{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}&amp;quot;&lt;/span&gt;/&amp;gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    &amp;lt;Setter Property=&lt;span style="color:#006080;"&gt;&amp;quot;HorizontalContentAlignment&amp;quot;&lt;/span&gt; Value=&lt;span style="color:#006080;"&gt;&amp;quot;Center&amp;quot;&lt;/span&gt;/&amp;gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    &amp;lt;Setter Property=&lt;span style="color:#006080;"&gt;&amp;quot;VerticalContentAlignment&amp;quot;&lt;/span&gt; Value=&lt;span style="color:#006080;"&gt;&amp;quot;Center&amp;quot;&lt;/span&gt;/&amp;gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    &amp;lt;Setter Property=&lt;span style="color:#006080;"&gt;&amp;quot;Padding&amp;quot;&lt;/span&gt; Value=&lt;span style="color:#006080;"&gt;&amp;quot;1&amp;quot;&lt;/span&gt;/&amp;gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    &amp;lt;Setter Property=&lt;span style="color:#006080;"&gt;&amp;quot;Template&amp;quot;&lt;/span&gt;&amp;gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;        &amp;lt;Setter.Value&amp;gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;            &amp;lt;ControlTemplate TargetType=&lt;span style="color:#006080;"&gt;&amp;quot;{x:Type Button}&amp;quot;&lt;/span&gt;&amp;gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                &amp;lt;Microsoft_Windows_Themes:ButtonChrome SnapsToDevicePixels=&lt;span style="color:#006080;"&gt;&amp;quot;true&amp;quot;&lt;/span&gt; x:Name=&lt;span style="color:#006080;"&gt;&amp;quot;Chrome&amp;quot;&lt;/span&gt; Background=&lt;span style="color:#006080;"&gt;&amp;quot;{TemplateBinding Background}&amp;quot;&lt;/span&gt; BorderBrush=&lt;span style="color:#006080;"&gt;&amp;quot;{TemplateBinding BorderBrush}&amp;quot;&lt;/span&gt; RenderDefaulted=&lt;span style="color:#006080;"&gt;&amp;quot;{TemplateBinding IsDefaulted}&amp;quot;&lt;/span&gt; RenderMouseOver=&lt;span style="color:#006080;"&gt;&amp;quot;{TemplateBinding IsMouseOver}&amp;quot;&lt;/span&gt; RenderPressed=&lt;span style="color:#006080;"&gt;&amp;quot;{TemplateBinding IsPressed}&amp;quot;&lt;/span&gt;&amp;gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                    &amp;lt;ContentPresenter SnapsToDevicePixels=&lt;span style="color:#006080;"&gt;&amp;quot;{TemplateBinding SnapsToDevicePixels}&amp;quot;&lt;/span&gt; HorizontalAlignment=&lt;span style="color:#006080;"&gt;&amp;quot;{TemplateBinding HorizontalContentAlignment}&amp;quot;&lt;/span&gt; Margin=&lt;span style="color:#006080;"&gt;&amp;quot;{TemplateBinding Padding}&amp;quot;&lt;/span&gt; VerticalAlignment=&lt;span style="color:#006080;"&gt;&amp;quot;{TemplateBinding VerticalContentAlignment}&amp;quot;&lt;/span&gt; RecognizesAccessKey=&lt;span style="color:#006080;"&gt;&amp;quot;True&amp;quot;&lt;/span&gt;/&amp;gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                &amp;lt;/Microsoft_Windows_Themes:ButtonChrome&amp;gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                &amp;lt;ControlTemplate.Triggers&amp;gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                    &amp;lt;Trigger Property=&lt;span style="color:#006080;"&gt;&amp;quot;IsKeyboardFocused&amp;quot;&lt;/span&gt; Value=&lt;span style="color:#006080;"&gt;&amp;quot;true&amp;quot;&lt;/span&gt;&amp;gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                        &amp;lt;Setter Property=&lt;span style="color:#006080;"&gt;&amp;quot;RenderDefaulted&amp;quot;&lt;/span&gt; TargetName=&lt;span style="color:#006080;"&gt;&amp;quot;Chrome&amp;quot;&lt;/span&gt; Value=&lt;span style="color:#006080;"&gt;&amp;quot;true&amp;quot;&lt;/span&gt;/&amp;gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                    &amp;lt;/Trigger&amp;gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                    &amp;lt;Trigger Property=&lt;span style="color:#006080;"&gt;&amp;quot;ToggleButton.IsChecked&amp;quot;&lt;/span&gt; Value=&lt;span style="color:#006080;"&gt;&amp;quot;true&amp;quot;&lt;/span&gt;&amp;gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                        &amp;lt;Setter Property=&lt;span style="color:#006080;"&gt;&amp;quot;RenderPressed&amp;quot;&lt;/span&gt; TargetName=&lt;span style="color:#006080;"&gt;&amp;quot;Chrome&amp;quot;&lt;/span&gt; Value=&lt;span style="color:#006080;"&gt;&amp;quot;true&amp;quot;&lt;/span&gt;/&amp;gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                    &amp;lt;/Trigger&amp;gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                    &amp;lt;Trigger Property=&lt;span style="color:#006080;"&gt;&amp;quot;IsEnabled&amp;quot;&lt;/span&gt; Value=&lt;span style="color:#006080;"&gt;&amp;quot;false&amp;quot;&lt;/span&gt;&amp;gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                        &amp;lt;Setter Property=&lt;span style="color:#006080;"&gt;&amp;quot;Foreground&amp;quot;&lt;/span&gt; Value=&lt;span style="color:#006080;"&gt;&amp;quot;#ADADAD&amp;quot;&lt;/span&gt;/&amp;gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                    &amp;lt;/Trigger&amp;gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                &amp;lt;/ControlTemplate.Triggers&amp;gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;            &amp;lt;/ControlTemplate&amp;gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;        &amp;lt;/Setter.Value&amp;gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    &amp;lt;/Setter&amp;gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&amp;lt;/Style&amp;gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;p style="margin:0in 0in 10pt;" class="MsoNormal"&gt;&lt;font size="3" face="Calibri"&gt;So the question is: is there something in the middle of these two options.&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;The answer is “yes”.&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;Styles have a property called BasedOn.&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;This property allows you to base a Style on another Style (yours or Microsoft’s).&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;So here I have created a style basing it on the button control and changed only the foreground to red:&lt;/font&gt;&lt;/p&gt;

&lt;pre class="code"&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;=&amp;quot;ButtonTemplate&amp;quot; 
       &lt;/span&gt;&lt;span style="color:red;"&gt;TargetType&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;x&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Type &lt;/span&gt;&lt;span style="color:red;"&gt;Button&lt;/span&gt;&lt;span style="color:blue;"&gt;}&amp;quot;
       &lt;/span&gt;&lt;span style="color:red;"&gt;BasedOn&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;StaticResource &lt;/span&gt;&lt;span style="color:blue;"&gt;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;x&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Type &lt;/span&gt;&lt;span style="color:red;"&gt;Button&lt;/span&gt;&lt;span style="color:blue;"&gt;}}&amp;quot;&amp;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;=&amp;quot;Foreground&amp;quot; &lt;/span&gt;&lt;span style="color:red;"&gt;Value&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Red&amp;quot;/&amp;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;/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:red;"&gt;Content&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Close&amp;quot; &lt;/span&gt;&lt;span style="color:red;"&gt;Style&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;StaticResource &lt;/span&gt;&lt;span style="color:red;"&gt;ButtonTemplate&lt;/span&gt;&lt;span style="color:blue;"&gt;}&amp;quot; /&amp;gt;
&lt;/span&gt;&lt;font size="3" face="Calibri"&gt;&lt;/font&gt;&lt;/pre&gt;

&lt;pre class="code"&gt;&lt;font size="3" face="Calibri"&gt;The result is what we were looking for originally:&lt;/font&gt;&lt;/pre&gt;

&lt;p style="margin:0in 0in 10pt;" class="MsoNormal"&gt;&lt;a href="http://blogs.windowsclient.net/blogs/airborneengineer/image_63F3E931.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" src="http://blogs.windowsclient.net/blogs/airborneengineer/image_thumb_07AD10CC.png" width="46" height="27" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p style="margin:0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;font size="3" face="Calibri"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin:0in 0in 10pt;" class="MsoNormal"&gt;&lt;font size="3" face="Calibri"&gt;And it continues to have all of the other built in functionality that the button comes with by default.&lt;/font&gt;&lt;/p&gt;

&lt;h1 style="margin:24pt 0in 0pt;"&gt;&lt;font color="#365f91" size="5" face="Cambria"&gt;Extending Resources&lt;/font&gt;&lt;/h1&gt;

&lt;p style="margin:0in 0in 10pt;" class="MsoNormal"&gt;&lt;font size="3" face="Calibri"&gt;Ideally, you are not creating styles for just one page; you are creating resources (styles) that can be used throughout your application.&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;To do so, there are two choices; you can just add them to your App.xaml as resources in the &lt;/font&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;font-size:10pt;mso-no-proof:yes;"&gt;Application.Resources&lt;/span&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&amp;gt; &lt;/span&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;tag or you can add them as an external file referred to as a resource dictionary.&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;As with most things in software development, there is no right answer on how to do something only a more correct answer.&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;Personally, I like to keep things in separate resource dictionaries in logical groups.&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;That being said, if I am doing a little prototype with two screens, it may not make sense to create a bunch of files that I am just going to throw away.&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p style="margin:0in 0in 10pt;" class="MsoNormal"&gt;&lt;font size="3" face="Calibri"&gt;Examples of global resources:&lt;/font&gt;&lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Application &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;Class&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;ComboBoxDemo.App&amp;quot;
    &lt;/span&gt;&lt;span style="color:red;"&gt;xmlns&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;http://schemas.microsoft.com/winfx/2006/xaml/presentation&amp;quot;
    &lt;/span&gt;&lt;span style="color:red;"&gt;xmlns&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:red;"&gt;x&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;http://schemas.microsoft.com/winfx/2006/xaml&amp;quot;
    &lt;/span&gt;&lt;span style="color:red;"&gt;StartupUri&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Window1.xaml&amp;quot;&amp;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;
        &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;=&amp;quot;ButtonTemplate&amp;quot; 
               &lt;/span&gt;&lt;span style="color:red;"&gt;TargetType&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;x&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Type &lt;/span&gt;&lt;span style="color:red;"&gt;Button&lt;/span&gt;&lt;span style="color:blue;"&gt;}&amp;quot;
               &lt;/span&gt;&lt;span style="color:red;"&gt;BasedOn&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;StaticResource &lt;/span&gt;&lt;span style="color:blue;"&gt;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;x&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Type &lt;/span&gt;&lt;span style="color:red;"&gt;Button&lt;/span&gt;&lt;span style="color:blue;"&gt;}}&amp;quot;&amp;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;=&amp;quot;Foreground&amp;quot; &lt;/span&gt;&lt;span style="color:red;"&gt;Value&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Red&amp;quot;/&amp;gt;
        &amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Style&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;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;
&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Application&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
&lt;/span&gt;&lt;/pre&gt;

&lt;div style="border-bottom:windowtext 1pt solid;border-left:medium none;padding-bottom:1pt;padding-left:0in;padding-right:0in;border-top:medium none;border-right:medium none;padding-top:0in;mso-element:para-border-div;mso-border-bottom-alt:solid windowtext .75pt;"&gt;&lt;font color="#0000ff" size="2" face="Courier New"&gt;&lt;/font&gt;&lt;/div&gt;

&lt;p&gt;&lt;font color="#365f91" size="5" face="Cambria"&gt;&lt;/font&gt;&lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Application &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;Class&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;ComboBoxDemo.App&amp;quot;
    &lt;/span&gt;&lt;span style="color:red;"&gt;xmlns&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;http://schemas.microsoft.com/winfx/2006/xaml/presentation&amp;quot;
    &lt;/span&gt;&lt;span style="color:red;"&gt;xmlns&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:red;"&gt;x&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;http://schemas.microsoft.com/winfx/2006/xaml&amp;quot;
    &lt;/span&gt;&lt;span style="color:red;"&gt;StartupUri&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Window1.xaml&amp;quot;&amp;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;
        &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;ResourceDictionary &lt;/span&gt;&lt;span style="color:red;"&gt;Source&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;ComboBox.xaml&amp;quot; /&amp;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;
&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Application&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;
&lt;/span&gt;&lt;font color="#365f91" size="5" face="Cambria"&gt;&lt;/font&gt;&lt;/pre&gt;

&lt;pre class="code"&gt;&lt;font color="#365f91" size="5" face="Cambria"&gt;Cross Project Resources&lt;/font&gt;&lt;/pre&gt;

&lt;p style="margin:0in 0in 10pt;" class="MsoNormal"&gt;&lt;font size="3" face="Calibri"&gt;When considering styles for multiple projects to get the same look and feel you are probably thinking that you will need to go into each one of your controls and add a style tag for each of your controls but it is much easier than that.&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;When you create your style, there were two properties that we needed to specify x:Key and TargetType.&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;x:Key was the unique name for the style and TargetType was the type of control that the style would update.&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;We can actually change this slightly if we want it to apply to all controls of a specific type.&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;By specifying the type as the key, it specifies this to be used as the default style as shown below:&lt;/font&gt;&lt;/p&gt;

&lt;pre class="code"&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;=&amp;quot;{&lt;/span&gt;&lt;span style="color:#a31515;"&gt;x&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:#a31515;"&gt;Type &lt;/span&gt;&lt;span style="color:red;"&gt;Button&lt;/span&gt;&lt;span style="color:blue;"&gt;}&amp;quot; &lt;/span&gt;&lt;span style="color:red;"&gt;TargetType&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;Button&amp;quot;&amp;gt;
        &lt;/span&gt;&lt;span style="color:green;"&gt;&amp;lt;!-- Style would go here (see attached source code) --&amp;gt;
&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;/span&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;

&lt;pre class="code"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;Allowing my button:&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;
&lt;span style="line-height:115%;font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;font-size:10pt;mso-no-proof:yes;"&gt;Button&lt;/span&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Courier New&amp;#39;;color:red;font-size:10pt;mso-no-proof:yes;"&gt; Grid.Row&lt;/span&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;=&amp;quot;2&amp;quot;&lt;/span&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Courier New&amp;#39;;color:red;font-size:10pt;mso-no-proof:yes;"&gt; Content&lt;/span&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;=&amp;quot;No Style&amp;quot;/&amp;gt;&lt;/span&gt; 

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;
&lt;span style="mso-no-proof:yes;"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;To look like this: 
      &lt;p&gt;&lt;/p&gt;
    &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blogs.windowsclient.net/blogs/airborneengineer/image_1C32604A.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" src="http://blogs.windowsclient.net/blogs/airborneengineer/image_thumb_7BAB2097.png" width="132" height="56" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p style="margin:0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;font size="3" face="Calibri"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin:0in 0in 10pt;" class="MsoNormal"&gt;&lt;font size="3" face="Calibri"&gt;Since this affects all buttons that reference the default style, it would also affect the style that we have based on the default button but would not affect the button that we explicitly declared its properties as shown below:&lt;/font&gt;&lt;/p&gt;

&lt;p style="margin:0in 0in 10pt;" class="MsoNormal"&gt;&lt;a href="http://blogs.windowsclient.net/blogs/airborneengineer/image_422810A0.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" src="http://blogs.windowsclient.net/blogs/airborneengineer/image_thumb_3A9CA133.png" width="136" height="169" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p style="margin:0in 0in 10pt;" class="MsoNormal"&gt;&lt;font color="#365f91" size="5" face="Cambria"&gt;Summary&lt;/font&gt;&lt;/p&gt;

&lt;p style="margin:0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;font size="3" face="Calibri"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="margin:0in 0in 10pt;" class="MsoNormal"&gt;&lt;font size="3" face="Calibri"&gt;There is a lot more that can be done with Styles and Templates including automation through storyboards.&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;This article was intended to give an overview on how it works together.&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;In the next segment, we will update a ComboBox by using a custom Style which will allow an image and text to display together as one object.&lt;/font&gt;&lt;/p&gt;

&lt;p style="margin:0in 0in 10pt;" class="MsoNormal"&gt;&lt;font size="3" face="Calibri"&gt;Source code for this project has been attached.&amp;#160; &lt;/font&gt;&lt;/p&gt;

&lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:85dde74a-953b-406c-8c3c-51489fd54af2" class="wlWriterEditableSmartContent"&gt;&lt;p&gt;Source Code &lt;a href="http://blogs.windowsclient.net/blogs/airborneengineer/ComboBoxDemo_34C1FD9A.zip" target="_blank"&gt;Source Code&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;

&lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:8eb9d37f-1541-4f29-b6f4-1eea890d4876:b7e4c9b9-887b-4667-9250-d822ac244679" class="wlWriterEditableSmartContent"&gt;&lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:8eb9d37f-1541-4f29-b6f4-1eea890d4876:b7e4c9b9-887b-4667-9250-d822ac244679" class="wlWriterSmartContent"&gt;&lt;/div&gt;&lt;img src="http://blogs.windowsclient.net/aggbug.aspx?PostID=194999" width="1" height="1"&gt;</content><author><name>AirborneEngineer</name><uri>http://blogs.windowsclient.net/members/AirborneEngineer.aspx</uri></author></entry><entry><title>WPF Using WinForms – Wrong Approach</title><link rel="alternate" type="text/html" href="http://blogs.windowsclient.net/airborneengineer/archive/2009/03/01/wpf-using-winforms-wrong-approach.aspx" /><id>http://blogs.windowsclient.net/airborneengineer/archive/2009/03/01/wpf-using-winforms-wrong-approach.aspx</id><published>2009-03-01T22:02:00Z</published><updated>2009-03-01T22:02:00Z</updated><content type="html">&lt;h2&gt;Background&lt;/h2&gt;  &lt;p&gt;It has been quite a while since I have been excited about something new is software development that made me want to spend my off hours playing around with it.&amp;#160; When WPF first came out I did not even give it a look.&amp;#160; I figured it was another one of Microsoft’s attempts to reinvent something.&lt;/p&gt;  &lt;p&gt;I was mainly a middleware developer and wrote WinForms applications to access the middle tier.&amp;#160; I really hated ASP.Net so when I took a contract which required ASP.Net, I was looking around for alternatives and that is when I found Silverlight.&amp;#160; What I liked about Silverlight is it allowed me to create all of the cool functionality that Flash has without having to learn something complete different.&amp;#160; Silverlight was laid out in the same format as the rest of the Microsoft libraries so it just made sense how to wire things up and get up and running.&amp;#160; During my course of learning and playing with Silverlight I found references to WPF and how basic WPF xaml could be used for Silverlight.&amp;#160; I picked up WPF and haven’t looked back.&amp;#160; It does take some time to get used to, when I first started, if I needed to make a quick test harness I used WinForms but now I use WPF for everything.&amp;#160; It takes some time to hit the epiphany where it just all comes into place and makes sense.&amp;#160; When it does, it is really a pleasure to code.&lt;/p&gt;  &lt;p&gt;During the last year, I have been given or should I say have had two projects dropped in my lap that were written in WPF (and I use that phrase liberally).&amp;#160; I think the more accurate description is the application was written in WinForms with a xaml front end.&amp;#160; Both applications had one thing in common, they either could not get into QA or could not get out of QA due to performance issues or random exception faults.&amp;#160; After having to basically re-write both applications I made some notes on some of the mistakes I saw in the code with the hope that it will help others who are new to WPF from making the same mistakes.&lt;/p&gt;  &lt;h2&gt;User Controls&lt;/h2&gt;  &lt;p&gt;When using WinForms, the common approach to have controls have the same look and feel or common functionality is to use user controls.&amp;#160; Though you certainly can do this in WPF, user controls mainly used to encapsulate behavior or group controls together for a specific purpose.&amp;#160; You also have custom controls which basically allows you to build a control from the ground up.&amp;#160; For a good article on user controls vs. custom controls read more here: &lt;a href="http://wangmo.wordpress.com/2007/09/28/user-controls-vs-custom-controls/" target="_blank"&gt;http://wangmo.wordpress.com/2007/09/28/user-controls-vs-custom-controls/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;So if you want to customize the OK and Cancel buttons in your application to have an image with text next to it, instead of creating a user control library which defines this functionality, a style can more easily be defined.&amp;#160; (Style abbreviated for size)&lt;/p&gt;  &lt;div style="border-bottom:silver 1px solid;text-align:left;border-left:silver 1px solid;padding-bottom:4px;line-height:12pt;background-color:#f4f4f4;margin:20px 0px 10px;padding-left:4px;width:97.5%;padding-right:4px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;max-height:200px;font-size:8pt;overflow:auto;border-top:silver 1px solid;cursor:text;border-right:silver 1px solid;padding-top:4px;" id="codeSnippetWrapper"&gt;   &lt;div style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;" id="codeSnippet"&gt;     &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&amp;lt;Style x:Key=&lt;span style="color:#006080;"&gt;&amp;quot;ImageButtonStyle&amp;quot;&lt;/span&gt; BasedOn=&lt;span style="color:#006080;"&gt;&amp;quot;{StaticResource {x:Type Button}}&amp;quot;&lt;/span&gt; TargetType=&lt;span style="color:#006080;"&gt;&amp;quot;{x:Type Button}&amp;quot;&lt;/span&gt;&amp;gt; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    &amp;lt;Setter Property=&lt;span style="color:#006080;"&gt;&amp;quot;HorizontalContentAlignment&amp;quot;&lt;/span&gt; Value=&lt;span style="color:#006080;"&gt;&amp;quot;Center&amp;quot;&lt;/span&gt;/&amp;gt; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    &amp;lt;Setter Property=&lt;span style="color:#006080;"&gt;&amp;quot;VerticalContentAlignment&amp;quot;&lt;/span&gt; Value=&lt;span style="color:#006080;"&gt;&amp;quot;Center&amp;quot;&lt;/span&gt;/&amp;gt; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    &amp;lt;Setter Property=&lt;span style="color:#006080;"&gt;&amp;quot;Template&amp;quot;&lt;/span&gt;&amp;gt; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;        &amp;lt;Setter.Value&amp;gt; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;            &amp;lt;ControlTemplate TargetType=&lt;span style="color:#006080;"&gt;&amp;quot;{x:Type Button}&amp;quot;&lt;/span&gt;&amp;gt; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                &amp;lt;StackPanel&amp;gt; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                    &amp;lt;Image Source=&lt;span style="color:#006080;"&gt;&amp;quot;{Binding RelativeSource={RelativeSource Self}, Path=DataContext}&amp;quot;&lt;/span&gt; Stretch=&lt;span style="color:#006080;"&gt;&amp;quot;Fill&amp;quot;&lt;/span&gt; Width=&lt;span style="color:#006080;"&gt;&amp;quot;45&amp;quot;&lt;/span&gt; Height=&lt;span style="color:#006080;"&gt;&amp;quot;45&amp;quot;&lt;/span&gt; /&amp;gt; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                    &amp;lt;ContentPresenter HorizontalAlignment=&lt;span style="color:#006080;"&gt;&amp;quot;{TemplateBinding HorizontalContentAlignment}&amp;quot;&lt;/span&gt; Margin=&lt;span style="color:#006080;"&gt;&amp;quot;{TemplateBinding Padding}&amp;quot;&lt;/span&gt; VerticalAlignment=&lt;span style="color:#006080;"&gt;&amp;quot;{TemplateBinding VerticalContentAlignment}&amp;quot;&lt;/span&gt; SnapsToDevicePixels=&lt;span style="color:#006080;"&gt;&amp;quot;{TemplateBinding SnapsToDevicePixels}&amp;quot;&lt;/span&gt; RecognizesAccessKey=&lt;span style="color:#006080;"&gt;&amp;quot;True&amp;quot;&lt;/span&gt;/&amp;gt; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                &amp;lt;/StackPanel&amp;gt; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                &amp;lt;ControlTemplate.Triggers&amp;gt; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                    &amp;lt;Trigger Property=&lt;span style="color:#006080;"&gt;&amp;quot;IsEnabled&amp;quot;&lt;/span&gt; Value=&lt;span style="color:#006080;"&gt;&amp;quot;false&amp;quot;&lt;/span&gt;&amp;gt; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                        &amp;lt;Setter Property=&lt;span style="color:#006080;"&gt;&amp;quot;Foreground&amp;quot;&lt;/span&gt; Value=&lt;span style="color:#006080;"&gt;&amp;quot;{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}&amp;quot;&lt;/span&gt;/&amp;gt; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                    &amp;lt;/Trigger&amp;gt; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                &amp;lt;/ControlTemplate.Triggers&amp;gt; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;            &amp;lt;/ControlTemplate&amp;gt; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;        &amp;lt;/Setter.Value&amp;gt; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    &amp;lt;/Setter&amp;gt; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt; &amp;lt;/Style&amp;gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;This style can then be applied to a button as shown here:&lt;/p&gt;

&lt;div id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&amp;lt;Button Style=&lt;span style="color:#006080;"&gt;&amp;quot;{StaticResource ImageButtonStyle}&amp;quot;&lt;/span&gt; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;        DataContext=&lt;span style="color:#006080;"&gt;&amp;quot;/WpfApplication1;component/Close.png&amp;quot;&lt;/span&gt; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;        Name=&lt;span style="color:#006080;"&gt;&amp;quot;CloseButton&amp;quot;&lt;/span&gt;&amp;gt;Close&amp;lt;/Button&amp;gt; &lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;The other advantage to using styles is the ability to change all object types to a particular style.&amp;#160; For example if you have a common library that is used in multiple applications, you can define the controls to be generic (no specific colors, size, etc.) and allow each of the applications to change the color and size to it’s own specifications.&amp;#160; To tell WPF to make the style apply to all controls, simply change the style declaration to use the type as the key as shown here:&lt;/p&gt;

&lt;div id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&amp;lt;Style x:Key=&lt;span style="color:#006080;"&gt;&amp;quot;{x:Type Button}&amp;quot;&lt;/span&gt; TargetType=&lt;span style="color:#006080;"&gt;&amp;quot;Button&amp;quot;&lt;/span&gt;&amp;gt; &lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;For the control, you do not need to specify any style, it will use the one defined in you dictionary as the default.&lt;/p&gt;

&lt;h2&gt;Binding&lt;/h2&gt;

&lt;p&gt;Binding can be one of the more difficult concepts to grasp because of its flexibility.&amp;#160; There are several good posts on binding including &lt;a href="http://msdn.microsoft.com/en-us/magazine/cc163299.aspx" target="_blank"&gt;http://msdn.microsoft.com/en-us/magazine/cc163299.aspx&lt;/a&gt;&amp;#160; Here are a couple of the mistakes that I have seen:&lt;/p&gt;

&lt;p&gt;In the first example, the idea is to load an xml file with state codes and descriptions for a combo box.&amp;#160; The user creates a dataset, reads all of the codes and then assigns the result to the combo box.&amp;#160; &lt;/p&gt;

&lt;div id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;DataSet ds = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; DataSet(); &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;XElement statesElement = XElement.Load(“/Data/StateCodes.xml”); &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&amp;#160;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;ds.ReadXml(statesElement.CreateReader()); &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;cboState.DataContext = ds.Tables[0]; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;cboState.DisplayMemberPath = Settings.Default.StateMemberPath; &lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;If you use the XmlDataProvider, you can bind the source to the provider as shown here:&lt;/p&gt;

&lt;div id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&amp;lt;XmlDataProvider x:Key=&lt;span style="color:#006080;"&gt;&amp;quot;StateData&amp;quot;&lt;/span&gt; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                Source=&lt;span style="color:#006080;"&gt;&amp;quot;/Data/StateCodes.xml&amp;quot;&lt;/span&gt; XPath=&lt;span style="color:#006080;"&gt;&amp;quot;//State&amp;quot;&lt;/span&gt; /&amp;gt; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&amp;#160;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&amp;lt;ComboBox ItemsSource=&lt;span style="color:#006080;"&gt;&amp;quot;{Binding Source={StaticResource StateData}}&amp;quot;&lt;/span&gt; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;          DisplayMemberPath=&lt;span style="color:#006080;"&gt;&amp;quot;@id&amp;quot;&lt;/span&gt; Name=&lt;span style="color:#006080;"&gt;&amp;quot;cboState&amp;quot;&lt;/span&gt; /&amp;gt; &lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;font color="#0000ff"&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;In the second example, there are two controls that work together.&amp;#160; Some examples would be using a label to display the value of a scrollbar or making two controls have the same width.&amp;#160; Here is an example of how you bind two controls together:&lt;/p&gt;

&lt;div id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&amp;lt;Slider Name=&lt;span style="color:#006080;"&gt;&amp;quot;sliderScale&amp;quot;&lt;/span&gt; Orientation=&lt;span style="color:#006080;"&gt;&amp;quot;Horizontal&amp;quot;&lt;/span&gt; Value=&lt;span style="color:#006080;"&gt;&amp;quot;1.0&amp;quot;&lt;/span&gt; /&amp;gt; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&amp;#160;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&amp;lt;Label Content=&lt;span style="color:#006080;"&gt;&amp;quot;{Binding ElementName=sliderScale, Path=Value, Mode=Default}&amp;quot;&lt;/span&gt;/&amp;gt; &lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;If you have types that are not compatible (e.g. a string to update a double) you will need to use a Converter.&amp;#160; This goes beyond the scope of this posting.&lt;/p&gt;

&lt;h2&gt;Resources&lt;/h2&gt;

&lt;p&gt;Resources can be stored internally or externally to the application.&amp;#160; If have a resource such as an image which will remain static, the resource can be compiled into the application and referenced in that manner.&amp;#160; Here is example of improperly referencing a static image:&lt;/p&gt;

&lt;div id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&amp;#160;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;imageBackground.Source = LoadBitmap(&lt;span style="color:#006080;"&gt;&amp;quot;/Images/Connected.png&amp;quot;&lt;/span&gt;); &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&amp;#160;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;BitmapImage LoadBitmap(&lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; path) &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;{ &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    &lt;span style="color:#0000ff;"&gt;byte&lt;/span&gt;[] bytes = File.ReadAllBytes(path); &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&amp;#160;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    MemoryStream memoryStream = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; MemoryStream(bytes); &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&amp;#160;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    BitmapImage image = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; BitmapImage(); &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    image.CacheOption = BitmapCacheOption.OnLoad; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    image.BeginInit(); &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    image.StreamSource = memoryStream; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    image.EndInit(); &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&amp;#160;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    bytes = &lt;span style="color:#0000ff;"&gt;null&lt;/span&gt;; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; image; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;} &lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;The following code does the same thing:&lt;/p&gt;

&lt;div id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;imageBackground.Source = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; BitmapImage(&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                            &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; Uri(GetBitmapFileName(&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                            &lt;span style="color:#006080;"&gt;&amp;quot;/WpfApplication;component/Images/Connected.png&amp;quot;&lt;/span&gt;)));&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;h2&gt;Callbacks&lt;/h2&gt;

&lt;p&gt;The final piece that I will touch on is callbacks.&amp;#160; Though I have not tracked down the exact instances or cause, I have found that using in the following manner results in unpredictable exceptions.&amp;#160; It will sometimes cause the application to hang for no apparent reason.&amp;#160; The worst part about it is that it is not consistent.&lt;/p&gt;

&lt;div id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#0000ff;"&gt;delegate&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; SetTextCallback(&lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; Text); &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&amp;#160;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#0000ff;"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; WriteLongitude(&lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; Text) &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;{ &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    &lt;span style="color:#0000ff;"&gt;if&lt;/span&gt; (txtGpsLongitude.Dispatcher.Thread != Thread.CurrentThread) &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    { &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;        SetTextCallback callBack = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; SetTextCallback(WriteLongitude); &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;        Dispatcher.Invoke(DispatcherPriority.Send, callBack, Text); &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    } &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    &lt;span style="color:#0000ff;"&gt;else&lt;/span&gt; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    { &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;        txtGpsLongitude.Text = Text; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    } &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;} &lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;As a result, I recommend using this method:&lt;/p&gt;

&lt;div id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#0000ff;"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; WriteLongitude(&lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; text) &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;{ &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;    Dispatcher.Invoke(DispatcherPriority.Send, &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                      &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; Action(() =&amp;gt; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                      { &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                          txtGpsLongitude.Text = text; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;                      })); &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;}&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;h2&gt;Summary&lt;/h2&gt;

&lt;p&gt;With the flexibility that WPF provides, it can be difficult to get started and you can make more work for yourself.&amp;#160; My intent was to provide some pointers to help you from making more work for yourself.&amp;#160; &lt;/p&gt;

&lt;p&gt;In the future I will provide some more guidance including how to extent functionality such as comboboxes.&amp;#160; Feedback is always appreciated.&amp;#160; &lt;/p&gt;

&lt;p&gt;&lt;/p&gt;
Technorati Tags: &lt;a href="http://technorati.com/tags/WinForms" rel="tag"&gt;WinForms&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Wrong" rel="tag"&gt;Wrong&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Approach" rel="tag"&gt;Approach&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Background" rel="tag"&gt;Background&lt;/a&gt;,&lt;a href="http://technorati.com/tags/development" rel="tag"&gt;development&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Microsoft" rel="tag"&gt;Microsoft&lt;/a&gt;,&lt;a href="http://technorati.com/tags/tier" rel="tag"&gt;tier&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Flash" rel="tag"&gt;Flash&lt;/a&gt;,&lt;a href="http://technorati.com/tags/wire" rel="tag"&gt;wire&lt;/a&gt;,&lt;a href="http://technorati.com/tags/haven" rel="tag"&gt;haven&lt;/a&gt;,&lt;a href="http://technorati.com/tags/code" rel="tag"&gt;code&lt;/a&gt;,&lt;a href="http://technorati.com/tags/description" rel="tag"&gt;description&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Both" rel="tag"&gt;Both&lt;/a&gt;,&lt;a href="http://technorati.com/tags/performance" rel="tag"&gt;performance&lt;/a&gt;,&lt;a href="http://technorati.com/tags/exception" rel="tag"&gt;exception&lt;/a&gt;,&lt;a href="http://technorati.com/tags/notes" rel="tag"&gt;notes&lt;/a&gt;,&lt;a href="http://technorati.com/tags/User" rel="tag"&gt;User&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Controls" rel="tag"&gt;Controls&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Though" rel="tag"&gt;Though&lt;/a&gt;,&lt;a href="http://technorati.com/tags/behavior" rel="tag"&gt;behavior&lt;/a&gt;,&lt;a href="http://technorati.com/tags/purpose" rel="tag"&gt;purpose&lt;/a&gt;,&lt;a href="http://technorati.com/tags/custom" rel="tag"&gt;custom&lt;/a&gt;,&lt;a href="http://technorati.com/tags/article" rel="tag"&gt;article&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Cancel" rel="tag"&gt;Cancel&lt;/a&gt;,&lt;a href="http://technorati.com/tags/image" rel="tag"&gt;image&lt;/a&gt;,&lt;a href="http://technorati.com/tags/text" rel="tag"&gt;text&lt;/a&gt;,&lt;a href="http://technorati.com/tags/library" rel="tag"&gt;library&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Style" rel="tag"&gt;Style&lt;/a&gt;,&lt;a href="http://technorati.com/tags/size" rel="tag"&gt;size&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ImageButtonStyle" rel="tag"&gt;ImageButtonStyle&lt;/a&gt;,&lt;a href="http://technorati.com/tags/BasedOn" rel="tag"&gt;BasedOn&lt;/a&gt;,&lt;a href="http://technorati.com/tags/StaticResource" rel="tag"&gt;StaticResource&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Type" rel="tag"&gt;Type&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Button" rel="tag"&gt;Button&lt;/a&gt;,&lt;a href="http://technorati.com/tags/TargetType" rel="tag"&gt;TargetType&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Setter" rel="tag"&gt;Setter&lt;/a&gt;,&lt;a href="http://technorati.com/tags/HorizontalContentAlignment" rel="tag"&gt;HorizontalContentAlignment&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Value" rel="tag"&gt;Value&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Center" rel="tag"&gt;Center&lt;/a&gt;,&lt;a href="http://technorati.com/tags/VerticalContentAlignment" rel="tag"&gt;VerticalContentAlignment&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Template" rel="tag"&gt;Template&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ControlTemplate" rel="tag"&gt;ControlTemplate&lt;/a&gt;,&lt;a href="http://technorati.com/tags/StackPanel" rel="tag"&gt;StackPanel&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Source" rel="tag"&gt;Source&lt;/a&gt;,&lt;a href="http://technorati.com/tags/RelativeSource" rel="tag"&gt;RelativeSource&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Self" rel="tag"&gt;Self&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Path" rel="tag"&gt;Path&lt;/a&gt;,&lt;a href="http://technorati.com/tags/DataContext" rel="tag"&gt;DataContext&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Stretch" rel="tag"&gt;Stretch&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Fill" rel="tag"&gt;Fill&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Width" rel="tag"&gt;Width&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ContentPresenter" rel="tag"&gt;ContentPresenter&lt;/a&gt;,&lt;a href="http://technorati.com/tags/HorizontalAlignment" rel="tag"&gt;HorizontalAlignment&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Margin" rel="tag"&gt;Margin&lt;/a&gt;,&lt;a href="http://technorati.com/tags/VerticalAlignment" rel="tag"&gt;VerticalAlignment&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SnapsToDevicePixels" rel="tag"&gt;SnapsToDevicePixels&lt;/a&gt;,&lt;a href="http://technorati.com/tags/RecognizesAccessKey" rel="tag"&gt;RecognizesAccessKey&lt;/a&gt;,&lt;a href="http://technorati.com/tags/True" rel="tag"&gt;True&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Trigger" rel="tag"&gt;Trigger&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Foreground" rel="tag"&gt;Foreground&lt;/a&gt;,&lt;a href="http://technorati.com/tags/DynamicResource" rel="tag"&gt;DynamicResource&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Static" rel="tag"&gt;Static&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SystemColors" rel="tag"&gt;SystemColors&lt;/a&gt;,&lt;a href="http://technorati.com/tags/GrayTextBrushKey" rel="tag"&gt;GrayTextBrushKey&lt;/a&gt;,&lt;a href="http://technorati.com/tags/component" rel="tag"&gt;component&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Close" rel="tag"&gt;Close&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Name" rel="tag"&gt;Name&lt;/a&gt;,&lt;a href="http://technorati.com/tags/CloseButton" rel="tag"&gt;CloseButton&lt;/a&gt;,&lt;a href="http://technorati.com/tags/advantage" rel="tag"&gt;advantage&lt;/a&gt;,&lt;a href="http://technorati.com/tags/example" rel="tag"&gt;example&lt;/a&gt;,&lt;a href="http://technorati.com/tags/specifications" rel="tag"&gt;specifications&lt;/a&gt;,&lt;a href="http://technorati.com/tags/declaration" rel="tag"&gt;declaration&lt;/a&gt;,&lt;a href="http://technorati.com/tags/dictionary" rel="tag"&gt;dictionary&lt;/a&gt;,&lt;a href="http://technorati.com/tags/magazine" rel="tag"&gt;magazine&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Here" rel="tag"&gt;Here&lt;/a&gt;,&lt;a href="http://technorati.com/tags/descriptions" rel="tag"&gt;descriptions&lt;/a&gt;,&lt;a href="http://technorati.com/tags/result" rel="tag"&gt;result&lt;/a&gt;,&lt;a href="http://technorati.com/tags/DataSet" rel="tag"&gt;DataSet&lt;/a&gt;,&lt;a href="http://technorati.com/tags/XElement" rel="tag"&gt;XElement&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Load" rel="tag"&gt;Load&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Data" rel="tag"&gt;Data&lt;/a&gt;,&lt;a href="http://technorati.com/tags/StateCodes" rel="tag"&gt;StateCodes&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ReadXml" rel="tag"&gt;ReadXml&lt;/a&gt;,&lt;a href="http://technorati.com/tags/CreateReader" rel="tag"&gt;CreateReader&lt;/a&gt;,&lt;a href="http://technorati.com/tags/DisplayMemberPath" rel="tag"&gt;DisplayMemberPath&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Default" rel="tag"&gt;Default&lt;/a&gt;,&lt;a href="http://technorati.com/tags/StateMemberPath" rel="tag"&gt;StateMemberPath&lt;/a&gt;,&lt;a href="http://technorati.com/tags/XmlDataProvider" rel="tag"&gt;XmlDataProvider&lt;/a&gt;,&lt;a href="http://technorati.com/tags/provider" rel="tag"&gt;provider&lt;/a&gt;,&lt;a href="http://technorati.com/tags/StateData" rel="tag"&gt;StateData&lt;/a&gt;,&lt;a href="http://technorati.com/tags/XPath" rel="tag"&gt;XPath&lt;/a&gt;,&lt;a href="http://technorati.com/tags/State" rel="tag"&gt;State&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ComboBox" rel="tag"&gt;ComboBox&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ItemsSource" rel="tag"&gt;ItemsSource&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Some" rel="tag"&gt;Some&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Slider" rel="tag"&gt;Slider&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Orientation" rel="tag"&gt;Orientation&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Horizontal" rel="tag"&gt;Horizontal&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Label" rel="tag"&gt;Label&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Content" rel="tag"&gt;Content&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ElementName" rel="tag"&gt;ElementName&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Mode" rel="tag"&gt;Mode&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Converter" rel="tag"&gt;Converter&lt;/a&gt;,&lt;a href="http://technorati.com/tags/scope" rel="tag"&gt;scope&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Resources" rel="tag"&gt;Resources&lt;/a&gt;,&lt;a href="http://technorati.com/tags/resource" rel="tag"&gt;resource&lt;/a&gt;,&lt;a href="http://technorati.com/tags/manner" rel="tag"&gt;manner&lt;/a&gt;,&lt;a href="http://technorati.com/tags/LoadBitmap" rel="tag"&gt;LoadBitmap&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Images" rel="tag"&gt;Images&lt;/a&gt;,&lt;a href="http://technorati.com/tags/BitmapImage" rel="tag"&gt;BitmapImage&lt;/a&gt;,&lt;a href="http://technorati.com/tags/File" rel="tag"&gt;File&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ReadAllBytes" rel="tag"&gt;ReadAllBytes&lt;/a&gt;,&lt;a href="http://technorati.com/tags/MemoryStream" rel="tag"&gt;MemoryStream&lt;/a&gt;,&lt;a href="http://technorati.com/tags/CacheOption" rel="tag"&gt;CacheOption&lt;/a&gt;,&lt;a href="http://technorati.com/tags/BitmapCacheOption" rel="tag"&gt;BitmapCacheOption&lt;/a&gt;,&lt;a href="http://technorati.com/tags/OnLoad" rel="tag"&gt;OnLoad&lt;/a&gt;,&lt;a href="http://technorati.com/tags/BeginInit" rel="tag"&gt;BeginInit&lt;/a&gt;,&lt;a href="http://technorati.com/tags/StreamSource" rel="tag"&gt;StreamSource&lt;/a&gt;,&lt;a href="http://technorati.com/tags/EndInit" rel="tag"&gt;EndInit&lt;/a&gt;,&lt;a href="http://technorati.com/tags/GetBitmapFileName" rel="tag"&gt;GetBitmapFileName&lt;/a&gt;,&lt;a href="http://technorati.com/tags/WpfApplication" rel="tag"&gt;WpfApplication&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Callbacks" rel="tag"&gt;Callbacks&lt;/a&gt;,&lt;a href="http://technorati.com/tags/piece" rel="tag"&gt;piece&lt;/a&gt;,&lt;a href="http://technorati.com/tags/results" rel="tag"&gt;results&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SetTextCallback" rel="tag"&gt;SetTextCallback&lt;/a&gt;,&lt;a href="http://technorati.com/tags/WriteLongitude" rel="tag"&gt;WriteLongitude&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Dispatcher" rel="tag"&gt;Dispatcher&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Thread" rel="tag"&gt;Thread&lt;/a&gt;,&lt;a href="http://technorati.com/tags/CurrentThread" rel="tag"&gt;CurrentThread&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Send" rel="tag"&gt;Send&lt;/a&gt;,&lt;a href="http://technorati.com/tags/method" rel="tag"&gt;method&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Action" rel="tag"&gt;Action&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Summary" rel="tag"&gt;Summary&lt;/a&gt;,&lt;a href="http://technorati.com/tags/guidance" rel="tag"&gt;guidance&lt;/a&gt;,&lt;a href="http://technorati.com/tags/extent" rel="tag"&gt;extent&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Feedback" rel="tag"&gt;Feedback&lt;/a&gt;,&lt;a href="http://technorati.com/tags/references" rel="tag"&gt;references&lt;/a&gt;,&lt;a href="http://technorati.com/tags/concepts" rel="tag"&gt;concepts&lt;/a&gt;,&lt;a href="http://technorati.com/tags/codes" rel="tag"&gt;codes&lt;/a&gt;,&lt;a href="http://technorati.com/tags/examples" rel="tag"&gt;examples&lt;/a&gt;,&lt;a href="http://technorati.com/tags/instances" rel="tag"&gt;instances&lt;/a&gt;,&lt;a href="http://technorati.com/tags/pointers" rel="tag"&gt;pointers&lt;/a&gt;,&lt;a href="http://technorati.com/tags/xaml" rel="tag"&gt;xaml&lt;/a&gt;,&lt;a href="http://technorati.com/tags/combo" rel="tag"&gt;combo&lt;/a&gt;,&lt;a href="http://technorati.com/tags/cboState" rel="tag"&gt;cboState&lt;/a&gt;,&lt;a href="http://technorati.com/tags/sliderScale" rel="tag"&gt;sliderScale&lt;/a&gt;,&lt;a href="http://technorati.com/tags/imageBackground" rel="tag"&gt;imageBackground&lt;/a&gt;,&lt;a href="http://technorati.com/tags/bytes" rel="tag"&gt;bytes&lt;/a&gt;,&lt;a href="http://technorati.com/tags/txtGpsLongitude" rel="tag"&gt;txtGpsLongitude&lt;/a&gt;

&lt;br /&gt;

&lt;p&gt;&lt;/p&gt;
Windows Live Tags: &lt;a href="http://windows.live.com/connect/tag/WinForms" rel="clubhouseTag"&gt;WinForms&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Wrong" rel="clubhouseTag"&gt;Wrong&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Approach" rel="clubhouseTag"&gt;Approach&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Background" rel="clubhouseTag"&gt;Background&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/development" rel="clubhouseTag"&gt;development&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Microsoft" rel="clubhouseTag"&gt;Microsoft&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/tier" rel="clubhouseTag"&gt;tier&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Flash" rel="clubhouseTag"&gt;Flash&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/wire" rel="clubhouseTag"&gt;wire&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/haven" rel="clubhouseTag"&gt;haven&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/code" rel="clubhouseTag"&gt;code&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/description" rel="clubhouseTag"&gt;description&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Both" rel="clubhouseTag"&gt;Both&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/performance" rel="clubhouseTag"&gt;performance&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/exception" rel="clubhouseTag"&gt;exception&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/notes" rel="clubhouseTag"&gt;notes&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/User" rel="clubhouseTag"&gt;User&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Controls" rel="clubhouseTag"&gt;Controls&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Though" rel="clubhouseTag"&gt;Though&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/behavior" rel="clubhouseTag"&gt;behavior&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/purpose" rel="clubhouseTag"&gt;purpose&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/custom" rel="clubhouseTag"&gt;custom&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/article" rel="clubhouseTag"&gt;article&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Cancel" rel="clubhouseTag"&gt;Cancel&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/image" rel="clubhouseTag"&gt;image&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/text" rel="clubhouseTag"&gt;text&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/library" rel="clubhouseTag"&gt;library&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Style" rel="clubhouseTag"&gt;Style&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/size" rel="clubhouseTag"&gt;size&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/ImageButtonStyle" rel="clubhouseTag"&gt;ImageButtonStyle&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/BasedOn" rel="clubhouseTag"&gt;BasedOn&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/StaticResource" rel="clubhouseTag"&gt;StaticResource&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Type" rel="clubhouseTag"&gt;Type&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Button" rel="clubhouseTag"&gt;Button&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/TargetType" rel="clubhouseTag"&gt;TargetType&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Setter" rel="clubhouseTag"&gt;Setter&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/HorizontalContentAlignment" rel="clubhouseTag"&gt;HorizontalContentAlignment&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Value" rel="clubhouseTag"&gt;Value&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Center" rel="clubhouseTag"&gt;Center&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/VerticalContentAlignment" rel="clubhouseTag"&gt;VerticalContentAlignment&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Template" rel="clubhouseTag"&gt;Template&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/ControlTemplate" rel="clubhouseTag"&gt;ControlTemplate&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/StackPanel" rel="clubhouseTag"&gt;StackPanel&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Source" rel="clubhouseTag"&gt;Source&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/RelativeSource" rel="clubhouseTag"&gt;RelativeSource&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Self" rel="clubhouseTag"&gt;Self&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Path" rel="clubhouseTag"&gt;Path&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/DataContext" rel="clubhouseTag"&gt;DataContext&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Stretch" rel="clubhouseTag"&gt;Stretch&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Fill" rel="clubhouseTag"&gt;Fill&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Width" rel="clubhouseTag"&gt;Width&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/ContentPresenter" rel="clubhouseTag"&gt;ContentPresenter&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/HorizontalAlignment" rel="clubhouseTag"&gt;HorizontalAlignment&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Margin" rel="clubhouseTag"&gt;Margin&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/VerticalAlignment" rel="clubhouseTag"&gt;VerticalAlignment&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/SnapsToDevicePixels" rel="clubhouseTag"&gt;SnapsToDevicePixels&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/RecognizesAccessKey" rel="clubhouseTag"&gt;RecognizesAccessKey&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/True" rel="clubhouseTag"&gt;True&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Trigger" rel="clubhouseTag"&gt;Trigger&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Foreground" rel="clubhouseTag"&gt;Foreground&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/DynamicResource" rel="clubhouseTag"&gt;DynamicResource&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Static" rel="clubhouseTag"&gt;Static&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/SystemColors" rel="clubhouseTag"&gt;SystemColors&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/GrayTextBrushKey" rel="clubhouseTag"&gt;GrayTextBrushKey&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/component" rel="clubhouseTag"&gt;component&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Close" rel="clubhouseTag"&gt;Close&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Name" rel="clubhouseTag"&gt;Name&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/CloseButton" rel="clubhouseTag"&gt;CloseButton&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/advantage" rel="clubhouseTag"&gt;advantage&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/example" rel="clubhouseTag"&gt;example&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/specifications" rel="clubhouseTag"&gt;specifications&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/declaration" rel="clubhouseTag"&gt;declaration&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/dictionary" rel="clubhouseTag"&gt;dictionary&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/magazine" rel="clubhouseTag"&gt;magazine&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Here" rel="clubhouseTag"&gt;Here&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/descriptions" rel="clubhouseTag"&gt;descriptions&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/result" rel="clubhouseTag"&gt;result&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/DataSet" rel="clubhouseTag"&gt;DataSet&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/XElement" rel="clubhouseTag"&gt;XElement&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Load" rel="clubhouseTag"&gt;Load&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Data" rel="clubhouseTag"&gt;Data&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/StateCodes" rel="clubhouseTag"&gt;StateCodes&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/ReadXml" rel="clubhouseTag"&gt;ReadXml&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/CreateReader" rel="clubhouseTag"&gt;CreateReader&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/DisplayMemberPath" rel="clubhouseTag"&gt;DisplayMemberPath&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Default" rel="clubhouseTag"&gt;Default&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/StateMemberPath" rel="clubhouseTag"&gt;StateMemberPath&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/XmlDataProvider" rel="clubhouseTag"&gt;XmlDataProvider&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/provider" rel="clubhouseTag"&gt;provider&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/StateData" rel="clubhouseTag"&gt;StateData&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/XPath" rel="clubhouseTag"&gt;XPath&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/State" rel="clubhouseTag"&gt;State&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/ComboBox" rel="clubhouseTag"&gt;ComboBox&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/ItemsSource" rel="clubhouseTag"&gt;ItemsSource&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Some" rel="clubhouseTag"&gt;Some&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Slider" rel="clubhouseTag"&gt;Slider&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Orientation" rel="clubhouseTag"&gt;Orientation&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Horizontal" rel="clubhouseTag"&gt;Horizontal&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Label" rel="clubhouseTag"&gt;Label&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Content" rel="clubhouseTag"&gt;Content&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/ElementName" rel="clubhouseTag"&gt;ElementName&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Mode" rel="clubhouseTag"&gt;Mode&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Converter" rel="clubhouseTag"&gt;Converter&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/scope" rel="clubhouseTag"&gt;scope&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Resources" rel="clubhouseTag"&gt;Resources&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/resource" rel="clubhouseTag"&gt;resource&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/manner" rel="clubhouseTag"&gt;manner&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/LoadBitmap" rel="clubhouseTag"&gt;LoadBitmap&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Images" rel="clubhouseTag"&gt;Images&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/BitmapImage" rel="clubhouseTag"&gt;BitmapImage&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/File" rel="clubhouseTag"&gt;File&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/ReadAllBytes" rel="clubhouseTag"&gt;ReadAllBytes&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/MemoryStream" rel="clubhouseTag"&gt;MemoryStream&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/CacheOption" rel="clubhouseTag"&gt;CacheOption&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/BitmapCacheOption" rel="clubhouseTag"&gt;BitmapCacheOption&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/OnLoad" rel="clubhouseTag"&gt;OnLoad&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/BeginInit" rel="clubhouseTag"&gt;BeginInit&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/StreamSource" rel="clubhouseTag"&gt;StreamSource&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/EndInit" rel="clubhouseTag"&gt;EndInit&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/GetBitmapFileName" rel="clubhouseTag"&gt;GetBitmapFileName&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/WpfApplication" rel="clubhouseTag"&gt;WpfApplication&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Callbacks" rel="clubhouseTag"&gt;Callbacks&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/piece" rel="clubhouseTag"&gt;piece&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/results" rel="clubhouseTag"&gt;results&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/SetTextCallback" rel="clubhouseTag"&gt;SetTextCallback&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/WriteLongitude" rel="clubhouseTag"&gt;WriteLongitude&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Dispatcher" rel="clubhouseTag"&gt;Dispatcher&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Thread" rel="clubhouseTag"&gt;Thread&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/CurrentThread" rel="clubhouseTag"&gt;CurrentThread&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Send" rel="clubhouseTag"&gt;Send&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/method" rel="clubhouseTag"&gt;method&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Action" rel="clubhouseTag"&gt;Action&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Summary" rel="clubhouseTag"&gt;Summary&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/guidance" rel="clubhouseTag"&gt;guidance&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/extent" rel="clubhouseTag"&gt;extent&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Feedback" rel="clubhouseTag"&gt;Feedback&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/references" rel="clubhouseTag"&gt;references&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/concepts" rel="clubhouseTag"&gt;concepts&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/codes" rel="clubhouseTag"&gt;codes&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/examples" rel="clubhouseTag"&gt;examples&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/instances" rel="clubhouseTag"&gt;instances&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/pointers" rel="clubhouseTag"&gt;pointers&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/xaml" rel="clubhouseTag"&gt;xaml&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/combo" rel="clubhouseTag"&gt;combo&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/cboState" rel="clubhouseTag"&gt;cboState&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/sliderScale" rel="clubhouseTag"&gt;sliderScale&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/imageBackground" rel="clubhouseTag"&gt;imageBackground&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/bytes" rel="clubhouseTag"&gt;bytes&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/txtGpsLongitude" rel="clubhouseTag"&gt;txtGpsLongitude&lt;/a&gt;&lt;img src="http://blogs.windowsclient.net/aggbug.aspx?PostID=110311" width="1" height="1"&gt;</content><author><name>AirborneEngineer</name><uri>http://blogs.windowsclient.net/members/AirborneEngineer.aspx</uri></author></entry><entry><title>WPF in South Florida</title><link rel="alternate" type="text/html" href="http://blogs.windowsclient.net/airborneengineer/archive/2009/02/28/wpf-in-south-florida.aspx" /><id>http://blogs.windowsclient.net/airborneengineer/archive/2009/02/28/wpf-in-south-florida.aspx</id><published>2009-02-28T22:02:00Z</published><updated>2009-02-28T22:02:00Z</updated><content type="html">&lt;p&gt;I have been working with WPF for about a year and a half now.&amp;#160; I really enjoy the flexibility that it provides but it does have quite a learning curve when you have been working with WinForms for most of your programming career. &lt;/p&gt;  &lt;p&gt;In the past 7 months, I have been given two different WPF applications which were started by other developers but could not get the application to QA or get it out of QA. Digging into the code, it was pretty easy to see why they were having issues. They were writing WinForms code with a Xaml front end. This can have some rather strange and unpredictable behavior. I decided that I would take some of these issues and create a blog to help out others who are attempting to make the transition to WPF.&lt;/p&gt;  &lt;p&gt;This is my first attempt at a blog and comments and advice are always appreciated. If you have specific questions or topics that you would like to see covered, feel free to contact me.&lt;/p&gt;  &lt;p&gt;&lt;/p&gt; Technorati Tags: &lt;a href="http://technorati.com/tags/Florida" rel="tag"&gt;Florida&lt;/a&gt;,&lt;a href="http://technorati.com/tags/WinForms" rel="tag"&gt;WinForms&lt;/a&gt;,&lt;a href="http://technorati.com/tags/code" rel="tag"&gt;code&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Xaml" rel="tag"&gt;Xaml&lt;/a&gt;,&lt;a href="http://technorati.com/tags/behavior" rel="tag"&gt;behavior&lt;/a&gt;,&lt;a href="http://technorati.com/tags/transition" rel="tag"&gt;transition&lt;/a&gt;,&lt;a href="http://technorati.com/tags/comments" rel="tag"&gt;comments&lt;/a&gt;,&lt;a href="http://technorati.com/tags/advice" rel="tag"&gt;advice&lt;/a&gt;,&lt;a href="http://technorati.com/tags/topics" rel="tag"&gt;topics&lt;/a&gt;,&lt;a href="http://technorati.com/tags/blog" rel="tag"&gt;blog&lt;/a&gt;  &lt;br /&gt;  &lt;p&gt;&lt;/p&gt; Windows Live Tags: &lt;a href="http://windows.live.com/connect/tag/Florida" rel="clubhouseTag"&gt;Florida&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/WinForms" rel="clubhouseTag"&gt;WinForms&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/code" rel="clubhouseTag"&gt;code&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/Xaml" rel="clubhouseTag"&gt;Xaml&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/behavior" rel="clubhouseTag"&gt;behavior&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/transition" rel="clubhouseTag"&gt;transition&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/comments" rel="clubhouseTag"&gt;comments&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/advice" rel="clubhouseTag"&gt;advice&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/topics" rel="clubhouseTag"&gt;topics&lt;/a&gt;,&lt;a href="http://windows.live.com/connect/tag/blog" rel="clubhouseTag"&gt;blog&lt;/a&gt;&lt;img src="http://blogs.windowsclient.net/aggbug.aspx?PostID=110224" width="1" height="1"&gt;</content><author><name>AirborneEngineer</name><uri>http://blogs.windowsclient.net/members/AirborneEngineer.aspx</uri></author></entry></feed>