<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://weblogs.asp.net/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">Bryan Sampica</title><subtitle type="html">Freakyuno's wanderings in the .NET world.</subtitle><id>http://weblogs.asp.net/bryansampica/atom.aspx</id><link rel="alternate" type="text/html" href="http://weblogs.asp.net/bryansampica/default.aspx" /><link rel="self" type="application/atom+xml" href="http://weblogs.asp.net/bryansampica/atom.aspx" /><generator uri="http://communityserver.org" version="3.0.20510.895">Community Server</generator><updated>2008-05-20T09:20:00Z</updated><entry><title>Async File Uploads in MVC 4</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/bryansampica/archive/2013/01/15/AsyncMVCFileUpload.aspx" /><id>http://weblogs.asp.net/bryansampica/archive/2013/01/15/AsyncMVCFileUpload.aspx</id><published>2013-01-15T20:03:00Z</published><updated>2013-01-15T20:03:00Z</updated><content type="html">&lt;p&gt;Once and a while, I come across a problem that requires some "solving".&amp;nbsp; It's a different scenario that the typical "I've done this before, lets do it again", where you may make something better, or more efficient, or refactor it in some way.&lt;/p&gt;&lt;p&gt;Async file uploads have always been tricky, there are out of the box controls that work well, but the good ones aren't all free.&amp;nbsp; Some of them dont work, or only work in specific scenarios, and to be honest, anything requiring the swfUpload component is just  a pain inside an ASP.NET application - as it operates completly out of band and process.&lt;/p&gt;&lt;p&gt;Enter:  Ajax and Jquery, and a little component / framework called the Jquery-File-Upload by BlueImp (&lt;a href="https://github.com/blueimp/jQuery-File-Upload" mce_href="https://github.com/blueimp/jQuery-File-Upload"&gt;https://github.com/blueimp/jQuery-File-Upload&lt;/a&gt;)&lt;/p&gt;&lt;p&gt;It took me a day or two to get the whole thing working as I would expect, while there are some limitations, I decided I could live them them (IE less than version 10 wont support true progress).&lt;/p&gt;&lt;p&gt;Overall, here's the important bits:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;We needed a good way to drop this control into any page as needed, and have it work&lt;/li&gt;&lt;li&gt;It had to work within the MVC framework, without anything crazy like generic handlers&lt;/li&gt;&lt;li&gt;It had to be asyncronous in nature and not require a page postback&lt;/li&gt;&lt;li&gt;It had to be customizable from an HTML / CSS standpoint so that we can easily fit the look into our application&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;So, how did we accomplish all this?&amp;nbsp; Overall, it wasn't to difficult, the hardest part was dealing with the inconsitancies of each browser, and the way it reported progress and other such things&lt;/p&gt;&lt;p&gt;Here it is running in IE:&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;a href="http://weblogs.asp.net/blogs/bryansampica/Untitled1.png" mce_href="http://weblogs.asp.net/blogs/bryansampica/Untitled1.png"&gt;&lt;img border="0" src="http://weblogs.asp.net/blogs/bryansampica/Untitled1.png" width="430" height="372" mce_src="http://weblogs.asp.net/blogs/bryansampica/Untitled1.png"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Here it is running in Chrome:&amp;nbsp; (Note:&amp;nbsp; In Chrome, Firefox, and Safari you'll get a multiple file selection, in IE 9 and under, you wont.&amp;nbsp; IE 10 you will)&lt;/p&gt;&lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/bryansampica/Untitled2.png" mce_href="http://weblogs.asp.net/blogs/bryansampica/Untitled2.png"&gt;&lt;img style="width: 440px; height: 366px;" border="0" src="http://weblogs.asp.net/blogs/bryansampica/Untitled2.png" width="511" height="407" mce_src="http://weblogs.asp.net/blogs/bryansampica/Untitled2.png"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Source code is available:&lt;/p&gt;&lt;p&gt;DOWNOAD: &amp;nbsp;&lt;a href="http://weblogs.asp.net/blogs/bryansampica/MvcTesting.zip"&gt;MvcTesting.zip&lt;/a&gt;&amp;nbsp;- note, I removed the nuget packages from the root of the solution folder (to keep the size down),&amp;nbsp; please resolve reference issues by installing the appropriate package.&lt;/p&gt;&lt;p&gt;Credits:&lt;/p&gt;&lt;p&gt;ASP.NET MVC 4 w/ Razor View Engine&lt;/p&gt;&lt;p&gt;Twitter Bootstrap&lt;/p&gt;&lt;p&gt;jQuery &amp;amp; jQuery UI&lt;/p&gt;&lt;p&gt;jQuery-File-Upload (Blue Imp)&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=9756097" width="1" height="1"&gt;</content><author><name>Freakyuno</name><uri>http://weblogs.asp.net/members/Freakyuno.aspx</uri></author><category term=".NET" scheme="http://weblogs.asp.net/bryansampica/archive/tags/.NET/default.aspx" /><category term="ASP.NET" scheme="http://weblogs.asp.net/bryansampica/archive/tags/ASP.NET/default.aspx" /><category term="Ajax" scheme="http://weblogs.asp.net/bryansampica/archive/tags/Ajax/default.aspx" /><category term="Razor" scheme="http://weblogs.asp.net/bryansampica/archive/tags/Razor/default.aspx" /><category term=".NET 4.5" scheme="http://weblogs.asp.net/bryansampica/archive/tags/.NET+4.5/default.aspx" /><category term="MVC 4" scheme="http://weblogs.asp.net/bryansampica/archive/tags/MVC+4/default.aspx" /><category term="jQuery" scheme="http://weblogs.asp.net/bryansampica/archive/tags/jQuery/default.aspx" /><category term="Twitter Bootstrap" scheme="http://weblogs.asp.net/bryansampica/archive/tags/Twitter+Bootstrap/default.aspx" /></entry><entry><title>Silverlight 4 Scrollviewer &amp; Keeping items in view</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/bryansampica/archive/2010/10/14/silverlight-4-scrollviewer-amp-keeping-items-in-view.aspx" /><id>http://weblogs.asp.net/bryansampica/archive/2010/10/14/silverlight-4-scrollviewer-amp-keeping-items-in-view.aspx</id><published>2010-10-14T22:02:10Z</published><updated>2010-10-14T22:02:10Z</updated><content type="html">&lt;p&gt;Just a short note today – mostly so I can look up later what I’ve done to get this working, but also to share the knowledge!&amp;#160; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;The Problem: &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;When using Silverlight 4 and a Scrollviewer (not sure if WPF has the same issue, but the fix should be similar), if your tabbing through the form, or have some type of validation summary, which allows clicking the error in the summary to focus the item, the scrollviewer does not inherently bring an item into view.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;The Solution:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The good news, this is fixed quite easily, using Silverlight 4’s behaviors, which I absolutely love to work with.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;The Setup:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ScrollViewer&lt;/span&gt; &lt;span class="attr"&gt;Height&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;300&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;StackPanel&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt; &lt;span class="attr"&gt;Height&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Auto&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ColumnDefinition&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;200&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ColumnDefinition&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;*&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBlock&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Label&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;VerticalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Center&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;HorizontalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Right&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Margin&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;0,0,15,0&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBox&lt;/span&gt; &lt;span class="attr"&gt;Grid&lt;/span&gt;.&lt;span class="attr"&gt;Column&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;1&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt; &lt;span class="attr"&gt;Height&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Auto&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ColumnDefinition&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;200&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ColumnDefinition&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;*&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBlock&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Label&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;VerticalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Center&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;HorizontalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Right&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Margin&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;0,0,15,0&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBox&lt;/span&gt; &lt;span class="attr"&gt;Grid&lt;/span&gt;.&lt;span class="attr"&gt;Column&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;1&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt; &lt;span class="attr"&gt;Height&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Auto&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ColumnDefinition&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;200&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ColumnDefinition&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;*&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBlock&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Label&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;VerticalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Center&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;HorizontalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Right&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Margin&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;0,0,15,0&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBox&lt;/span&gt; &lt;span class="attr"&gt;Grid&lt;/span&gt;.&lt;span class="attr"&gt;Column&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;1&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt; &lt;span class="attr"&gt;Height&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Auto&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ColumnDefinition&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;200&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ColumnDefinition&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;*&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBlock&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Label&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;VerticalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Center&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;HorizontalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Right&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Margin&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;0,0,15,0&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBox&lt;/span&gt; &lt;span class="attr"&gt;Grid&lt;/span&gt;.&lt;span class="attr"&gt;Column&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;1&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt; &lt;span class="attr"&gt;Height&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Auto&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ColumnDefinition&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;200&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ColumnDefinition&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;*&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBlock&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Label&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;VerticalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Center&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;HorizontalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Right&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Margin&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;0,0,15,0&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBox&lt;/span&gt; &lt;span class="attr"&gt;Grid&lt;/span&gt;.&lt;span class="attr"&gt;Column&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;1&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt; &lt;span class="attr"&gt;Height&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Auto&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ColumnDefinition&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;200&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ColumnDefinition&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;*&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBlock&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Label&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;VerticalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Center&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;HorizontalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Right&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Margin&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;0,0,15,0&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBox&lt;/span&gt; &lt;span class="attr"&gt;Grid&lt;/span&gt;.&lt;span class="attr"&gt;Column&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;1&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt; &lt;span class="attr"&gt;Height&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Auto&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ColumnDefinition&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;200&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ColumnDefinition&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;*&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBlock&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Label&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;VerticalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Center&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;HorizontalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Right&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Margin&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;0,0,15,0&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBox&lt;/span&gt; &lt;span class="attr"&gt;Grid&lt;/span&gt;.&lt;span class="attr"&gt;Column&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;1&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt; &lt;span class="attr"&gt;Height&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Auto&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ColumnDefinition&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;200&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ColumnDefinition&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;*&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBlock&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Label&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;VerticalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Center&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;HorizontalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Right&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Margin&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;0,0,15,0&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBox&lt;/span&gt; &lt;span class="attr"&gt;Grid&lt;/span&gt;.&lt;span class="attr"&gt;Column&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;1&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt; &lt;span class="attr"&gt;Height&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Auto&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ColumnDefinition&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;200&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ColumnDefinition&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;*&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBlock&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Label&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;VerticalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Center&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;HorizontalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Right&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Margin&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;0,0,15,0&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBox&lt;/span&gt; &lt;span class="attr"&gt;Grid&lt;/span&gt;.&lt;span class="attr"&gt;Column&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;1&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt; &lt;span class="attr"&gt;Height&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Auto&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ColumnDefinition&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;200&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ColumnDefinition&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;*&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBlock&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Label&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;VerticalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Center&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;HorizontalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Right&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Margin&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;0,0,15,0&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBox&lt;/span&gt; &lt;span class="attr"&gt;Grid&lt;/span&gt;.&lt;span class="attr"&gt;Column&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;1&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt; &lt;span class="attr"&gt;Height&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Auto&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ColumnDefinition&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;200&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ColumnDefinition&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;*&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBlock&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Label&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;VerticalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Center&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;HorizontalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Right&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Margin&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;0,0,15,0&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBox&lt;/span&gt; &lt;span class="attr"&gt;Grid&lt;/span&gt;.&lt;span class="attr"&gt;Column&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;1&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt; &lt;span class="attr"&gt;Height&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Auto&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ColumnDefinition&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;200&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ColumnDefinition&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;*&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBlock&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Label&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;VerticalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Center&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;HorizontalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Right&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Margin&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;0,0,15,0&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBox&lt;/span&gt; &lt;span class="attr"&gt;Grid&lt;/span&gt;.&lt;span class="attr"&gt;Column&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;1&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt; &lt;span class="attr"&gt;Height&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Auto&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ColumnDefinition&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;200&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ColumnDefinition&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;*&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBlock&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Label&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;VerticalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Center&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;HorizontalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Right&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Margin&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;0,0,15,0&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBox&lt;/span&gt; &lt;span class="attr"&gt;Grid&lt;/span&gt;.&lt;span class="attr"&gt;Column&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;1&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt; &lt;span class="attr"&gt;Height&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Auto&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ColumnDefinition&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;200&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ColumnDefinition&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;*&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBlock&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Label&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;VerticalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Center&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;HorizontalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Right&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Margin&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;0,0,15,0&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBox&lt;/span&gt; &lt;span class="attr"&gt;Grid&lt;/span&gt;.&lt;span class="attr"&gt;Column&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;1&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt; &lt;span class="attr"&gt;Height&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Auto&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ColumnDefinition&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;200&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ColumnDefinition&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;*&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBlock&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Label&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;VerticalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Center&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;HorizontalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Right&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Margin&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;0,0,15,0&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBox&lt;/span&gt; &lt;span class="attr"&gt;Grid&lt;/span&gt;.&lt;span class="attr"&gt;Column&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;1&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt; &lt;span class="attr"&gt;Height&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Auto&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ColumnDefinition&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;200&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ColumnDefinition&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;*&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBlock&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Label&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;VerticalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Center&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;HorizontalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Right&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Margin&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;0,0,15,0&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBox&lt;/span&gt; &lt;span class="attr"&gt;Grid&lt;/span&gt;.&lt;span class="attr"&gt;Column&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;1&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt; &lt;span class="attr"&gt;Height&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Auto&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ColumnDefinition&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;200&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ColumnDefinition&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;*&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBlock&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Label&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;VerticalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Center&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;HorizontalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Right&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Margin&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;0,0,15,0&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBox&lt;/span&gt; &lt;span class="attr"&gt;Grid&lt;/span&gt;.&lt;span class="attr"&gt;Column&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;1&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt; &lt;span class="attr"&gt;Height&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Auto&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ColumnDefinition&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;200&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ColumnDefinition&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;*&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBlock&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Label&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;VerticalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Center&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;HorizontalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Right&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Margin&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;0,0,15,0&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBox&lt;/span&gt; &lt;span class="attr"&gt;Grid&lt;/span&gt;.&lt;span class="attr"&gt;Column&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;1&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt; &lt;span class="attr"&gt;Height&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Auto&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ColumnDefinition&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;200&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ColumnDefinition&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;*&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBlock&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Label&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;VerticalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Center&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;HorizontalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Right&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Margin&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;0,0,15,0&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBox&lt;/span&gt; &lt;span class="attr"&gt;Grid&lt;/span&gt;.&lt;span class="attr"&gt;Column&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;1&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt; &lt;span class="attr"&gt;Height&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Auto&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ColumnDefinition&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;200&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ColumnDefinition&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;*&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBlock&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Label&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;VerticalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Center&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;HorizontalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Right&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Margin&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;0,0,15,0&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBox&lt;/span&gt; &lt;span class="attr"&gt;Grid&lt;/span&gt;.&lt;span class="attr"&gt;Column&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;1&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt; &lt;span class="attr"&gt;Height&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Auto&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ColumnDefinition&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;200&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ColumnDefinition&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;*&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBlock&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Label&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;VerticalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Center&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;HorizontalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Right&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Margin&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;0,0,15,0&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBox&lt;/span&gt; &lt;span class="attr"&gt;Grid&lt;/span&gt;.&lt;span class="attr"&gt;Column&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;1&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt; &lt;span class="attr"&gt;Height&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Auto&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ColumnDefinition&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;200&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ColumnDefinition&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;*&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBlock&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Label&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;VerticalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Center&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;HorizontalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Right&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Margin&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;0,0,15,0&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBox&lt;/span&gt; &lt;span class="attr"&gt;Grid&lt;/span&gt;.&lt;span class="attr"&gt;Column&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;1&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt; &lt;span class="attr"&gt;Height&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Auto&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ColumnDefinition&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;200&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ColumnDefinition&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;*&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBlock&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Label&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;VerticalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Center&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;HorizontalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Right&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Margin&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;0,0,15,0&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBox&lt;/span&gt; &lt;span class="attr"&gt;Grid&lt;/span&gt;.&lt;span class="attr"&gt;Column&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;1&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt; &lt;span class="attr"&gt;Height&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Auto&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ColumnDefinition&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;200&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ColumnDefinition&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;*&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBlock&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Label&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;VerticalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Center&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;HorizontalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Right&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Margin&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;0,0,15,0&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBox&lt;/span&gt; &lt;span class="attr"&gt;Grid&lt;/span&gt;.&lt;span class="attr"&gt;Column&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;1&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt; &lt;span class="attr"&gt;Height&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Auto&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ColumnDefinition&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;200&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ColumnDefinition&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;*&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBlock&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Label&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;VerticalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Center&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;HorizontalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Right&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Margin&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;0,0,15,0&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBox&lt;/span&gt; &lt;span class="attr"&gt;Grid&lt;/span&gt;.&lt;span class="attr"&gt;Column&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;1&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt; &lt;span class="attr"&gt;Height&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Auto&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ColumnDefinition&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;200&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ColumnDefinition&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;*&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBlock&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Label&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;VerticalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Center&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;HorizontalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Right&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Margin&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;0,0,15,0&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBox&lt;/span&gt; &lt;span class="attr"&gt;Grid&lt;/span&gt;.&lt;span class="attr"&gt;Column&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;1&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt; &lt;span class="attr"&gt;Height&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Auto&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ColumnDefinition&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;200&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ColumnDefinition&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;*&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBlock&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Label&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;VerticalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Center&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;HorizontalAlignment&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Right&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Margin&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;0,0,15,0&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TextBox&lt;/span&gt; &lt;span class="attr"&gt;Grid&lt;/span&gt;.&lt;span class="attr"&gt;Column&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;1&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;StackPanel&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ScrollViewer&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;

&lt;p&gt;This creates a LONG Form – that will scroll if we display it in a page, I know, I probably went overboard on my example.&amp;#160; That’s what happens when you copy and paste a grid over and over, it’s kinda fun.&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Code:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Ok, so now we get to where we need to create our behavior.&amp;#160; It’s pretty simple, so I wont go into depth in explaining it.&amp;#160; It’s actually borrowed from an internet example, and modified for my use:&amp;#160; If you created it, let me know and I’ll credit you.&lt;/p&gt;

&lt;pre class="csharpcode"&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; ScrollIntoView : Behavior&amp;lt;ScrollViewer&amp;gt;
    {
        &lt;span class="kwrd"&gt;protected&lt;/span&gt; &lt;span class="kwrd"&gt;override&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; OnAttached()
        {
            &lt;span class="kwrd"&gt;base&lt;/span&gt;.OnAttached();
            &lt;span class="kwrd"&gt;this&lt;/span&gt;.AssociatedObject.Loaded += &lt;span class="kwrd"&gt;new&lt;/span&gt; RoutedEventHandler(AssociatedObject_Loaded);
        }

        &lt;span class="kwrd"&gt;protected&lt;/span&gt; &lt;span class="kwrd"&gt;override&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; OnDetaching()
        {
            &lt;span class="kwrd"&gt;base&lt;/span&gt;.OnDetaching();
            &lt;span class="kwrd"&gt;this&lt;/span&gt;.AssociatedObject.Loaded -= &lt;span class="kwrd"&gt;new&lt;/span&gt; RoutedEventHandler(AssociatedObject_Loaded);
            var controls = &lt;span class="kwrd"&gt;this&lt;/span&gt;.AssociatedObject.Descendants();
            &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (FrameworkElement control &lt;span class="kwrd"&gt;in&lt;/span&gt; controls)
            {
                control.GotFocus -= &lt;span class="kwrd"&gt;new&lt;/span&gt; RoutedEventHandler(control_GotFocus);
            }
        }

        &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; AssociatedObject_Loaded(&lt;span class="kwrd"&gt;object&lt;/span&gt; sender, RoutedEventArgs e)
        {
            var controls = &lt;span class="kwrd"&gt;this&lt;/span&gt;.AssociatedObject.Descendants();
            &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (FrameworkElement control &lt;span class="kwrd"&gt;in&lt;/span&gt; controls)
            {
                control.GotFocus += &lt;span class="kwrd"&gt;new&lt;/span&gt; RoutedEventHandler(control_GotFocus);
            }
        }

        &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; control_GotFocus(&lt;span class="kwrd"&gt;object&lt;/span&gt; sender, RoutedEventArgs e)
        {
            FrameworkElement element = e.OriginalSource &lt;span class="kwrd"&gt;as&lt;/span&gt; FrameworkElement;
            ScrollViewer sv = &lt;span class="kwrd"&gt;this&lt;/span&gt;.AssociatedObject;
            GeneralTransform gt = element.TransformToVisual(sv);
            Point offset = gt.Transform(&lt;span class="kwrd"&gt;new&lt;/span&gt; Point(0, 0));
            Double controlTop = offset.Y;

            &lt;span class="kwrd"&gt;if&lt;/span&gt; (controlTop &amp;lt; 0 || controlTop + element.ActualHeight &amp;gt; sv.ViewportHeight)
            {
                &lt;span class="kwrd"&gt;double&lt;/span&gt; newOffset = controlTop + sv.VerticalOffset;
                &lt;span class="kwrd"&gt;if&lt;/span&gt; (newOffset &amp;gt; (sv.ViewportHeight / 2))
                {
                    newOffset -= (sv.ViewportHeight / 2);
                }
                &lt;span class="kwrd"&gt;else&lt;/span&gt;
                {
                    newOffset = 0;
                }

                &lt;span class="kwrd"&gt;if&lt;/span&gt; (sv.VerticalOffset != newOffset)
                {
                    sv.ScrollToVerticalOffset(newOffset);
                }
            }
        }
    }&lt;/pre&gt;
&lt;style type="text/css"&gt;
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;

&lt;p&gt;I should note, that this code requires the LinqToVisualTree library found and explained @ &lt;a title="http://www.scottlogic.co.uk/blog/colin/2010/03/linq-to-visual-tree/" href="http://www.scottlogic.co.uk/blog/colin/2010/03/linq-to-visual-tree/"&gt;http://www.scottlogic.co.uk/blog/colin/2010/03/linq-to-visual-tree/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you don’t use the LinqToVisualTree library in your projects, you’re making your life very difficult.&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Now that we’ve got our behavior written, which allows us to wire it up to a scrollviewer (which is nice!&amp;#160; We don’t have to attach it to every single element inside the scrollviewer), we can simply add it to the scrollviewer as such:&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Declare the namespace in the page / usercontrol where you intent to use it:&lt;/p&gt;

&lt;pre class="csharpcode"&gt;xmlns:i=&amp;quot;http://schemas.microsoft.com/expression/2010/interactivity&amp;quot; &lt;/pre&gt;
&lt;style type="text/css"&gt;
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;

&lt;p&gt;Add the behavior to the scrollviewer in question:&lt;/p&gt;

&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;i:Interaction.Behaviors&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
         &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;IQ_Client_Helpers:ScrollIntoView&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
 &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;i:Interaction.Behaviors&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;&lt;style type="text/css"&gt;
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;Good luck!&amp;#160; Have fun with this one. &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://weblogs.asp.net/blogs/bryansampica/wlEmoticon-smile_3BE6AC4E.png" /&gt;&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Bryan&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7626995" width="1" height="1"&gt;</content><author><name>Freakyuno</name><uri>http://weblogs.asp.net/members/Freakyuno.aspx</uri></author><category term=".NET" scheme="http://weblogs.asp.net/bryansampica/archive/tags/.NET/default.aspx" /><category term="Weblogs" scheme="http://weblogs.asp.net/bryansampica/archive/tags/Weblogs/default.aspx" /><category term="Microsoft" scheme="http://weblogs.asp.net/bryansampica/archive/tags/Microsoft/default.aspx" /><category term="LINQ" scheme="http://weblogs.asp.net/bryansampica/archive/tags/LINQ/default.aspx" /><category term="XAML" scheme="http://weblogs.asp.net/bryansampica/archive/tags/XAML/default.aspx" /><category term=".NET 4.0" scheme="http://weblogs.asp.net/bryansampica/archive/tags/.NET+4.0/default.aspx" /><category term="Silverlight 4" scheme="http://weblogs.asp.net/bryansampica/archive/tags/Silverlight+4/default.aspx" /><category term="Visual Studio 2010" scheme="http://weblogs.asp.net/bryansampica/archive/tags/Visual+Studio+2010/default.aspx" /></entry><entry><title>Silverlight 4.0 Wizard Custom Control</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/bryansampica/archive/2010/07/21/silverlight-4-0-wizard-custom-control.aspx" /><id>http://weblogs.asp.net/bryansampica/archive/2010/07/21/silverlight-4-0-wizard-custom-control.aspx</id><published>2010-07-21T14:27:30Z</published><updated>2010-07-21T14:27:30Z</updated><content type="html">&lt;p&gt;It’s common in my LOB applications to come across situations where I invent something, and later think…this would be useful for the community.&lt;/p&gt;  &lt;p&gt;This is one of those cases.&amp;#160; Most line of business applications require some sort of Linear process, or stepped process, and while there are about 8 billion ways to accomplish this, having a custom control that encapsulates most of the work of actually “stepping”, loading the correct page, etc – is nice.&lt;/p&gt;  &lt;p&gt;Enter….the Silverlight Wizard Control&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/bryansampica/image_2665C9F8.png"&gt;&lt;img style="border-right-width: 0px; margin: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" class="wlDisabledImage" title="image" border="0" alt="image" src="http://weblogs.asp.net/blogs/bryansampica/image_thumb_1EDA5A8B.png" width="244" height="165" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;It’s pretty thin, in this demo implementation.&amp;#160; It provides a base class to define a wizard step, the Wizard Custom Control, and a WizardManager that exposes some standard process operations and properties.&lt;/p&gt;  &lt;p&gt;This is provided as source control, to use and modify as you see fit.&amp;#160; To get you started, the control is attached to a demo Silverlight 4.0 project.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Requires:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Visual Studio 2010&lt;/p&gt;  &lt;p&gt;Silverlight 4.0&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;-Good Luck:&amp;#160; Post back with your implementations, I’d love to see them!&lt;/p&gt;  &lt;p&gt;&amp;#160;&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:518206e8-8369-48f9-8943-cf8780565e08" class="wlWriterEditableSmartContent"&gt;&lt;p&gt; &lt;a href="http://weblogs.asp.net/blogs/bryansampica/DemoApp_57850498.zip" target="_blank"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;  &lt;div&gt;   &lt;br /&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:fb3a1972-4489-4e52-abe7-25a00bb07fdf:309dd466-0766-4e94-a913-89cd1e985f02" class="wlWriterEditableSmartContent"&gt;&lt;p&gt; &lt;a href="http://weblogs.asp.net/blogs/bryansampica/DemoApp_725D3C72.zip" target="_blank"&gt;Download Demo App&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7570696" width="1" height="1"&gt;</content><author><name>Freakyuno</name><uri>http://weblogs.asp.net/members/Freakyuno.aspx</uri></author><category term="XAML" scheme="http://weblogs.asp.net/bryansampica/archive/tags/XAML/default.aspx" /><category term=".NET 4.0" scheme="http://weblogs.asp.net/bryansampica/archive/tags/.NET+4.0/default.aspx" /><category term="Silverlight 4" scheme="http://weblogs.asp.net/bryansampica/archive/tags/Silverlight+4/default.aspx" /></entry><entry><title>Global BusyIndicator for DomainContext</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/bryansampica/archive/2010/07/09/global-busyindicator-for-domaincontext.aspx" /><id>http://weblogs.asp.net/bryansampica/archive/2010/07/09/global-busyindicator-for-domaincontext.aspx</id><published>2010-07-09T19:18:00Z</published><updated>2010-07-09T19:18:00Z</updated><content type="html">&lt;P&gt;Just a short post to help out some poor soul dealing with some of the same issues I did before it hit me like a cream pie (right in the face).&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;The Scenario:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;I’ve got a Silverlight 4 LOB Application, that will need to heavily use a BusyIndicator during loading operations (when I cant do them in the background) to keep users from clicking things and getting confused.&lt;/P&gt;
&lt;P&gt;When I fired up the application months and months ago, I had the foresight to include the busy indicator in a global accessible place to use it as part of the main application framework.&lt;/P&gt;
&lt;P&gt;If you have not done this before, you can implement it as follows:&lt;/P&gt;
&lt;P&gt;Open your App.xaml.cs file inside your project.&amp;nbsp; The overall idea is pretty simple.&amp;nbsp; Rather than loading a “Grid” into the Silverlight object container, we are going to load a Busy Indicator, and then put our main loading page inside that.&amp;nbsp; Here’s how:&lt;/P&gt;
&lt;P&gt;First, lets wire up an BusyIndicator&lt;/P&gt;
&lt;DIV class=csharpcode&gt;&lt;PRE class=alt&gt;&lt;SPAN class=kwrd&gt;public&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;partial&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;class&lt;/SPAN&gt; App : Application&lt;/PRE&gt;&lt;PRE&gt;    {&lt;/PRE&gt;&lt;PRE class=alt&gt;        &lt;SPAN class=kwrd&gt;private&lt;/SPAN&gt; BusyIndicator progressIndicator;&lt;/PRE&gt;&lt;/DIV&gt;
&lt;STYLE type=text/css&gt;
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/STYLE&gt;

&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;There are several ways you could do this, this is just the way I chose to.&amp;nbsp; You’ll need to make sure you have a reference to, and a using statement to the following assembly&lt;/P&gt;&lt;PRE class=csharpcode&gt;&lt;SPAN class=kwrd&gt;using&lt;/SPAN&gt; System.Windows.Controls;&lt;/PRE&gt;
&lt;P&gt;
&lt;STYLE type=text/css&gt;
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/STYLE&gt;
&lt;/P&gt;
&lt;P&gt;Once we have our indicator wired up, it’s pretty easy to shift things around a little, and load that into a reserved property setup for us by the nice Silverlight Developers, called the “RootVisual”&lt;/P&gt;&lt;PRE class=csharpcode&gt;&lt;SPAN class=kwrd&gt;public&lt;/SPAN&gt; App()
{
      &lt;SPAN class=kwrd&gt;this&lt;/SPAN&gt;.Startup += &lt;SPAN class=kwrd&gt;this&lt;/SPAN&gt;.Application_Startup;
           
      InitializeComponent();
}&lt;/PRE&gt;
&lt;STYLE type=text/css&gt;
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/STYLE&gt;
&lt;PRE class=csharpcode&gt;&lt;SPAN class=kwrd&gt;private&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;void&lt;/SPAN&gt; Application_Startup(&lt;SPAN class=kwrd&gt;object&lt;/SPAN&gt; sender, StartupEventArgs e)
{
        InitializeRootVisual();            
}&lt;/PRE&gt;&lt;PRE class=csharpcode&gt; &lt;SPAN class=kwrd&gt;protected&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;virtual&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;void&lt;/SPAN&gt; InitializeRootVisual(&lt;SPAN class=kwrd&gt;bool&lt;/SPAN&gt; isStartup)
{
            &lt;SPAN class=kwrd&gt;this&lt;/SPAN&gt;.progressIndicator = &lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; BusyIndicator();
            
            &lt;SPAN class=kwrd&gt;this&lt;/SPAN&gt;.Resources.Add(&lt;SPAN class=str&gt;"MainProgress"&lt;/SPAN&gt;, &lt;SPAN class=kwrd&gt;this&lt;/SPAN&gt;.progressIndicator);
            &lt;SPAN class=kwrd&gt;this&lt;/SPAN&gt;.progressIndicator.HorizontalAlignment = HorizontalAlignment.Stretch;
            &lt;SPAN class=kwrd&gt;this&lt;/SPAN&gt;.progressIndicator.VerticalAlignment = VerticalAlignment.Stretch;

            &lt;SPAN class=rem&gt;//Replace new MainPage() with the name of your starting xaml page;&lt;/SPAN&gt;
            &lt;SPAN class=kwrd&gt;this&lt;/SPAN&gt;.progressIndicator.Content = &lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; MainPage();
        

            &lt;SPAN class=kwrd&gt;this&lt;/SPAN&gt;.RootVisual = &lt;SPAN class=kwrd&gt;this&lt;/SPAN&gt;.progressIndicator;
 }&lt;/PRE&gt;
&lt;P&gt;
&lt;STYLE type=text/css&gt;
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/STYLE&gt;
&lt;/P&gt;
&lt;P&gt;Ok, so now that we have this wired up to use, you can test its working by setting the progressIndicator.IsBusy property to either “true” or “false” to toggle it, and see it running in application.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;At this point though, it’s far from useful, we need it to be semi aware of what’s going on, when it needs to show, and when it should go away.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Wiring it to your domain context:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;If your application is like mine, I’m not using any fancy context managers, or factory context handlers giving me an operating instance.&amp;nbsp; Rather I instantiate a context in a page when I need to do something, and terminate and dispose it when I’m done.&amp;nbsp; To keep hold of what’s going on with my context on the client side, I monitor calls coming into the server and make sure none of them go errant, but thats another post, and that does not help a client side progress bar.&amp;nbsp; So what do we do?&amp;nbsp; Good question:&lt;/P&gt;
&lt;P&gt;The "reference” that we get through generated code, is lucky made &lt;EM&gt;partial &lt;/EM&gt;so we are able to get our fingers into it on the client side.&amp;nbsp; We can’t do a whole lot, but we can do what we need to do:&lt;/P&gt;
&lt;P&gt;So here’s how I got started.&amp;nbsp; In my Client Side (Silverlight) project, I create a new class with the same name as my server side context.&amp;nbsp; In this case we’ll refer to it as “MyDomainContext”&lt;/P&gt;&lt;PRE class=csharpcode&gt;&lt;SPAN class=kwrd&gt;using&lt;/SPAN&gt; System;
&lt;SPAN class=kwrd&gt;using&lt;/SPAN&gt; System.Windows.Controls;
&lt;SPAN class=kwrd&gt;using&lt;/SPAN&gt; IQ.Client;

&lt;SPAN class=kwrd&gt;namespace&lt;/SPAN&gt; My.ServerProject.Services
{
    &lt;SPAN class=kwrd&gt;public&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;partial&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;class&lt;/SPAN&gt; MyDomainContext
    {
        BusyIndicator busy = (BusyIndicator)App.Current.RootVisual;
        &lt;SPAN class=kwrd&gt;public&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;override&lt;/SPAN&gt; System.ServiceModel.DomainServices.Client.LoadOperation Load(System.ServiceModel.DomainServices.Client.EntityQuery query, System.ServiceModel.DomainServices.Client.LoadBehavior loadBehavior, Action&amp;lt;System.ServiceModel.DomainServices.Client.LoadOperation&amp;gt; callback, &lt;SPAN class=kwrd&gt;object&lt;/SPAN&gt; userState)
        {
            &lt;SPAN class=kwrd&gt;this&lt;/SPAN&gt;.PropertyChanged -= &lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; System.ComponentModel.PropertyChangedEventHandler(MyDomainContext_PropertyChanged);
            &lt;SPAN class=kwrd&gt;this&lt;/SPAN&gt;.PropertyChanged += &lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; System.ComponentModel.PropertyChangedEventHandler(MyDomainContext_PropertyChanged);
              
            &lt;SPAN class=kwrd&gt;return&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;base&lt;/SPAN&gt;.Load(query, loadBehavior, callback, userState);
        }

        &lt;SPAN class=kwrd&gt;void&lt;/SPAN&gt; MyDomainContext_PropertyChanged(&lt;SPAN class=kwrd&gt;object&lt;/SPAN&gt; sender, System.ComponentModel.PropertyChangedEventArgs e)
        {
            &lt;SPAN class=kwrd&gt;if&lt;/SPAN&gt; (e.PropertyName == &lt;SPAN class=str&gt;"IsLoading"&lt;/SPAN&gt; &amp;amp;&amp;amp; &lt;SPAN class=kwrd&gt;this&lt;/SPAN&gt;.IsLoading == &lt;SPAN class=kwrd&gt;true&lt;/SPAN&gt;)
            {
                busy.IsBusy = &lt;SPAN class=kwrd&gt;true&lt;/SPAN&gt;;
            }
            &lt;SPAN class=kwrd&gt;else&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;if&lt;/SPAN&gt; (e.PropertyName == &lt;SPAN class=str&gt;"IsLoading"&lt;/SPAN&gt; &amp;amp;&amp;amp; &lt;SPAN class=kwrd&gt;this&lt;/SPAN&gt;.IsLoading == &lt;SPAN class=kwrd&gt;false&lt;/SPAN&gt;)
            {
                busy.IsBusy = &lt;SPAN class=kwrd&gt;false&lt;/SPAN&gt;;
            }
        }
    }
}&lt;/PRE&gt;
&lt;STYLE type=text/css&gt;
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/STYLE&gt;

&lt;P&gt;Keep in mind, this is ALL on the client side.&amp;nbsp; Dont forget to change your namespace to the server side namespace.&amp;nbsp; If you’re a little confused as to what’s going on, don’t feel bad.&amp;nbsp; It took me a minute to wrap my head around it too.&amp;nbsp; You are NOT sharing a partial class across a service boundary.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;This works because of the Proxy class generated code that having a RIA services project throws into the Silverlight application.&amp;nbsp; The partial class gets generated in a hidden file, and we are going to extend the partial.&lt;/P&gt;
&lt;P&gt;You can see by the class extension, that we are waiting for a load operation to be called, and then tapping into the PropertyChanged Callback.&amp;nbsp; We remove an existing reference of the callback and wire up a new one so we don’t keep adding callbacks on each subsequent call.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Note:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;This is just a quick example external to my actual running project, I am well aware that adding and removing event handlers like that will not work when there is more than one calling thread…etc.&amp;nbsp; Use this to create your own implementation that works in your scenario.&lt;/P&gt;
&lt;P&gt;Good Luck!&lt;/P&gt;
&lt;P&gt;Bryan Sampica&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7559539" width="1" height="1"&gt;</content><author><name>Freakyuno</name><uri>http://weblogs.asp.net/members/Freakyuno.aspx</uri></author><category term=".NET" scheme="http://weblogs.asp.net/bryansampica/archive/tags/.NET/default.aspx" /><category term="Silverlight" scheme="http://weblogs.asp.net/bryansampica/archive/tags/Silverlight/default.aspx" /><category term=".NET 4.0" scheme="http://weblogs.asp.net/bryansampica/archive/tags/.NET+4.0/default.aspx" /><category term="Silverlight 4" scheme="http://weblogs.asp.net/bryansampica/archive/tags/Silverlight+4/default.aspx" /></entry><entry><title>Twtpoll auto voter</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/bryansampica/archive/2010/06/24/twtpoll-auto-voter.aspx" /><id>http://weblogs.asp.net/bryansampica/archive/2010/06/24/twtpoll-auto-voter.aspx</id><published>2010-06-24T23:50:10Z</published><updated>2010-06-24T23:50:10Z</updated><content type="html">&lt;p&gt;Just a short entry today on a fun little project I came across.&amp;#160; I had a friend that for “educational purposes” wanted to know how to write a little WPF program that would Auto Vote on a twtpoll poll that was enabled for a 24 hour period.&lt;/p&gt;  &lt;p&gt;To plug twtpoll a little, it’s a pretty neat system.&amp;#160; It allows a user to simply fire up a poll and get it running with instant results rather quickly, and allows short urls with no login voting.&amp;#160; I like the system.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.twtpoll.com"&gt;www.twtpoll.com&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Normally, a project like this isn't worth of a blog, but primarily doing Silverlight development these days,I found myself using lots of skills that I hadn’t touched in a while, as a good refresher, it was kind of fun to hack through it.&lt;/p&gt;  &lt;p&gt;Ok, so to get started, the tools I used:&lt;/p&gt;  &lt;p&gt;Fiddler 2 : &lt;a title="http://www.fiddlertool.com/fiddler/version.asp" href="http://www.fiddlertool.com/fiddler/version.asp"&gt;http://www.fiddlertool.com/fiddler/version.asp&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;IE 8 Developer Extensions &lt;/p&gt;  &lt;p&gt;Visual Studio 2010: &lt;a title="http://www.microsoft.com/visualstudio/en-us/visual-studio-2010-launch?CR_CC=100340688&amp;amp;WT.mc_id=SEARCH&amp;amp;WT.srch=1&amp;amp;CR_SCC=100340688" href="http://www.microsoft.com/visualstudio/en-us/visual-studio-2010-launch?CR_CC=100340688&amp;amp;WT.mc_id=SEARCH&amp;amp;WT.srch=1&amp;amp;CR_SCC=100340688"&gt;http://www.microsoft.com/visualstudio/en-us/visual-studio-2010-launch?CR_CC=100340688&amp;amp;WT.mc_id=SEARCH&amp;amp;WT.srch=1&amp;amp;CR_SCC=100340688&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;C# / .NET 4.0 / WPF&lt;/p&gt;  &lt;p&gt;Really the .NET 4.0 and the WPF components aren’t required, a windows forms app using .NET 2.0 would have been fine, but why go backwards.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;So my first step in this process, was to head out to the Polls URL and take a look at the HTML.&amp;#160; I did this using IE 8 and “View Source”&amp;#160; - IE 8 has a great html source viewer that allowed me to see we were using a typical form post method to submit the poll without any weird javascript callbacks or anything strange.&lt;/p&gt;  &lt;p&gt;I’ve created a temporary poll just to test the application located here:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://twtpoll.com/ov097x" href="http://twtpoll.com/ov097x"&gt;http://twtpoll.com/ov097x&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Here we see the line of HTML we were looking for&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/bryansampica/image_5B09FB97.png" target="_blank"&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://weblogs.asp.net/blogs/bryansampica/image_thumb_0DC9DC3F.png" width="644" height="345" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Once we know that we can actually do the form post.&amp;#160; It’s time to fire up Fiddler, this gives us all the info we need to actually create our application to do the submission automatically.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/bryansampica/image_4DEFCFEC.png" target="_blank"&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://weblogs.asp.net/blogs/bryansampica/image_thumb_5DCEEEE3.png" width="644" height="431" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Submitting the form out on twtpoll, we can see that we get a Fiddler response line of the form post.&amp;#160; This is exactaly what we were looking for, which exposes all the form variables that were submitted as part of the post.&lt;/p&gt;  &lt;p&gt;Great, now on to our program!&amp;#160; Keep track of these form variables, you’ll need them when we do the FORM POST through our C# application&lt;/p&gt;  &lt;p&gt;At this point, I fire up Visual Studio 2010 and open a brand new WPF project.&lt;/p&gt;  &lt;p&gt;The meat of the project is accomplished in this little class, which is nothing new or revolutionary.&amp;#160; It wires up a new web request through the System.Net namespace, and uses some URL encoding to make sure there is no weirdness when adding the form variables to the post.&lt;/p&gt;  &lt;p&gt;In this example the posting URL is hardcoded, but this could absolutely be configurable.&lt;/p&gt;  &lt;div class="csharpcode"&gt;   &lt;pre class="alt"&gt; &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; WebPostRequest&lt;/pre&gt;

  &lt;pre&gt;    {&lt;/pre&gt;

  &lt;pre class="alt"&gt;        WebRequest theRequest;&lt;/pre&gt;

  &lt;pre&gt;        HttpWebResponse theResponse;&lt;/pre&gt;

  &lt;pre class="alt"&gt;        ArrayList theQueryData;&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; WebPostRequest(&lt;span class="kwrd"&gt;string&lt;/span&gt; url)&lt;/pre&gt;

  &lt;pre&gt;        {&lt;/pre&gt;

  &lt;pre class="alt"&gt;            theRequest = WebRequest.Create(url);&lt;/pre&gt;

  &lt;pre&gt;            theRequest.Method = &lt;span class="str"&gt;&amp;quot;POST&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre class="alt"&gt;            theQueryData = &lt;span class="kwrd"&gt;new&lt;/span&gt; ArrayList();&lt;/pre&gt;

  &lt;pre&gt;        }&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; add(&lt;span class="kwrd"&gt;string&lt;/span&gt; key, &lt;span class="kwrd"&gt;string&lt;/span&gt; &lt;span class="kwrd"&gt;value&lt;/span&gt;)&lt;/pre&gt;

  &lt;pre class="alt"&gt;        {&lt;/pre&gt;

  &lt;pre&gt;            theQueryData.Add(String.Format(&lt;span class="str"&gt;&amp;quot;{0}={1}&amp;quot;&lt;/span&gt;, key, HttpUtility.UrlEncode(&lt;span class="kwrd"&gt;value&lt;/span&gt;)));&lt;/pre&gt;

  &lt;pre class="alt"&gt;        }&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; GetResponse()&lt;/pre&gt;

  &lt;pre&gt;        {&lt;/pre&gt;

  &lt;pre class="alt"&gt;            theRequest.ContentType = &lt;span class="str"&gt;&amp;quot;application/x-www-form-urlencoded&amp;quot;&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre&gt;            &lt;span class="kwrd"&gt;string&lt;/span&gt; Parameters = String.Join(&lt;span class="str"&gt;&amp;quot;&amp;amp;&amp;quot;&lt;/span&gt;, (String[])theQueryData.ToArray(&lt;span class="kwrd"&gt;typeof&lt;/span&gt;(&lt;span class="kwrd"&gt;string&lt;/span&gt;)));&lt;/pre&gt;

  &lt;pre class="alt"&gt;            theRequest.ContentLength = Parameters.Length;&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;            StreamWriter sw = &lt;span class="kwrd"&gt;new&lt;/span&gt; StreamWriter(theRequest.GetRequestStream());&lt;/pre&gt;

  &lt;pre&gt;            sw.Write(Parameters);&lt;/pre&gt;

  &lt;pre class="alt"&gt;            sw.Close();&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;            theResponse = (HttpWebResponse)theRequest.GetResponse();&lt;/pre&gt;

  &lt;pre&gt;            StreamReader sr = &lt;span class="kwrd"&gt;new&lt;/span&gt; StreamReader(theResponse.GetResponseStream());&lt;/pre&gt;

  &lt;pre class="alt"&gt;            &lt;span class="kwrd"&gt;return&lt;/span&gt; sr.ReadToEnd();&lt;/pre&gt;

  &lt;pre&gt;        }&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;    }&lt;/pre&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Once you’ve got this class implemented into your project, it’s pretty simple to utilize:&amp;#160; In my example I’ve enabled some threading to vote LOTS.&amp;#160; :)&lt;/p&gt;

&lt;p&gt;Here’s the code behind the form.&lt;/p&gt;

&lt;div class="csharpcode"&gt;
  &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Collections.Generic;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Linq;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Text;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Windows;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Windows.Controls;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Windows.Data;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Windows.Documents;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Windows.Input;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Windows.Media;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Windows.Media.Imaging;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Windows.Navigation;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Windows.Shapes;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; AutoVoter.Members;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Threading;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Collections.ObjectModel;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="kwrd"&gt;namespace&lt;/span&gt; Voter&lt;/pre&gt;

  &lt;pre class="alt"&gt;{&lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="rem"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;    &lt;span class="rem"&gt;/// Interaction logic for MainWindow.xaml&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;    &lt;span class="rem"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;partial&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; MainWindow : Window&lt;/pre&gt;

  &lt;pre&gt;    {&lt;/pre&gt;

  &lt;pre class="alt"&gt;        &lt;span class="kwrd"&gt;int&lt;/span&gt; voteCount = 0;&lt;/pre&gt;

  &lt;pre&gt;        ObservableCollection&amp;lt;Thread&amp;gt; threads;&lt;/pre&gt;

  &lt;pre class="alt"&gt;        &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;delegate&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; UpdateTextBox(&lt;span class="kwrd"&gt;string&lt;/span&gt; newValue);&lt;/pre&gt;

  &lt;pre&gt;        UpdateTextBox textUpdate;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; MainWindow()&lt;/pre&gt;

  &lt;pre class="alt"&gt;        {&lt;/pre&gt;

  &lt;pre&gt;            InitializeComponent();&lt;/pre&gt;

  &lt;pre class="alt"&gt;            threads = &lt;span class="kwrd"&gt;new&lt;/span&gt; ObservableCollection&amp;lt;Thread&amp;gt;();&lt;/pre&gt;

  &lt;pre&gt;            textUpdate = &lt;span class="kwrd"&gt;new&lt;/span&gt; UpdateTextBox(DoTextUpdate);&lt;/pre&gt;

  &lt;pre class="alt"&gt;            &lt;span class="kwrd"&gt;this&lt;/span&gt;.Loaded += &lt;span class="kwrd"&gt;new&lt;/span&gt; RoutedEventHandler(MainWindow_Loaded);&lt;/pre&gt;

  &lt;pre&gt;        }&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;        &lt;span class="kwrd"&gt;void&lt;/span&gt; MainWindow_Loaded(&lt;span class="kwrd"&gt;object&lt;/span&gt; sender, RoutedEventArgs e)&lt;/pre&gt;

  &lt;pre class="alt"&gt;        {&lt;/pre&gt;

  &lt;pre&gt;            lb1.ItemsSource = threads;&lt;/pre&gt;

  &lt;pre class="alt"&gt;        }&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;        &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; DoTextUpdate(&lt;span class="kwrd"&gt;string&lt;/span&gt; newValue)&lt;/pre&gt;

  &lt;pre&gt;        {&lt;/pre&gt;

  &lt;pre class="alt"&gt;            &lt;span class="kwrd"&gt;this&lt;/span&gt;.Title = voteCount.ToString();&lt;/pre&gt;

  &lt;pre&gt;        }&lt;/pre&gt;

  &lt;pre class="alt"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;        &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; Button_Click(&lt;span class="kwrd"&gt;object&lt;/span&gt; sender, RoutedEventArgs e)&lt;/pre&gt;

  &lt;pre class="alt"&gt;        {&lt;/pre&gt;

  &lt;pre&gt;            &lt;span class="kwrd"&gt;for&lt;/span&gt; (&lt;span class="kwrd"&gt;int&lt;/span&gt; i = 0; i &amp;lt;= 20; i++)&lt;/pre&gt;

  &lt;pre class="alt"&gt;            {&lt;/pre&gt;

  &lt;pre&gt;                Thread t = &lt;span class="kwrd"&gt;new&lt;/span&gt; Thread(DoVote);&lt;/pre&gt;

  &lt;pre class="alt"&gt;                t.Name = i.ToString();&lt;/pre&gt;

  &lt;pre&gt;                t.Priority = ThreadPriority.Normal;&lt;/pre&gt;

  &lt;pre class="alt"&gt;                t.IsBackground = &lt;span class="kwrd"&gt;true&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre&gt;                threads.Add(t);&lt;/pre&gt;

  &lt;pre class="alt"&gt;                t.Start();&lt;/pre&gt;

  &lt;pre&gt;            }&lt;/pre&gt;

  &lt;pre class="alt"&gt;        }&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;        &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; DoVote()&lt;/pre&gt;

  &lt;pre&gt;        {&lt;/pre&gt;

  &lt;pre class="alt"&gt;            &lt;span class="kwrd"&gt;while&lt;/span&gt; (&lt;span class="kwrd"&gt;true&lt;/span&gt;)&lt;/pre&gt;

  &lt;pre&gt;            {&lt;/pre&gt;

  &lt;pre class="alt"&gt;                WebPostRequest myPost = &lt;span class="kwrd"&gt;new&lt;/span&gt; WebPostRequest(&lt;span class="str"&gt;@&amp;quot;http://twtpoll.com/php/form_handler_20.php&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre&gt;                myPost.add(&lt;span class="str"&gt;&amp;quot;1_am_id&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;738051&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre class="alt"&gt;                myPost.add(&lt;span class="str"&gt;&amp;quot;1_q&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;86107&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre&gt;                myPost.add(&lt;span class="str"&gt;&amp;quot;2_am_id&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;738056&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre class="alt"&gt;                myPost.add(&lt;span class="str"&gt;&amp;quot;2_q&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;86110&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre&gt;                myPost.add(&lt;span class="str"&gt;&amp;quot;3_am_id&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;738054&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre class="alt"&gt;                myPost.add(&lt;span class="str"&gt;&amp;quot;3_q&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;86109&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre&gt;                myPost.add(&lt;span class="str"&gt;&amp;quot;4_am_id&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;73057&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre class="alt"&gt;                myPost.add(&lt;span class="str"&gt;&amp;quot;4_q&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;86111&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre&gt;                myPost.add(&lt;span class="str"&gt;&amp;quot;s&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;837&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre class="alt"&gt;                myPost.add(&lt;span class="str"&gt;&amp;quot;psi&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;102409&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre&gt;                myPost.add(&lt;span class="str"&gt;&amp;quot;tt&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;edq0ru&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre class="alt"&gt;                myPost.add(&lt;span class="str"&gt;&amp;quot;sif&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;0&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre&gt;                myPost.add(&lt;span class="str"&gt;&amp;quot;qt&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;0,0,0,0&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre class="alt"&gt;                myPost.add(&lt;span class="str"&gt;&amp;quot;rf&amp;quot;&lt;/span&gt;, &lt;span class="str"&gt;&amp;quot;0,0,0,0,0&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre&gt;                Thread.Sleep(100);&lt;/pre&gt;

  &lt;pre class="alt"&gt;                &lt;span class="kwrd"&gt;try&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;                {&lt;/pre&gt;

  &lt;pre class="alt"&gt;                    myPost.GetResponse();&lt;/pre&gt;

  &lt;pre&gt;                    voteCount++;&lt;/pre&gt;

  &lt;pre class="alt"&gt;                    Dispatcher.BeginInvoke(textUpdate, voteCount.ToString());&lt;/pre&gt;

  &lt;pre&gt;                }&lt;/pre&gt;

  &lt;pre class="alt"&gt;                &lt;span class="kwrd"&gt;catch&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;                {&lt;/pre&gt;

  &lt;pre class="alt"&gt;                    &lt;span class="rem"&gt;//Ignore the Exception&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;                }&lt;/pre&gt;

  &lt;pre class="alt"&gt;            }&lt;/pre&gt;

  &lt;pre&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;        }&lt;/pre&gt;

  &lt;pre&gt;    }&lt;/pre&gt;

  &lt;pre class="alt"&gt;}&lt;/pre&gt;
&lt;/div&gt;

&lt;div class="csharpcode"&gt;&amp;#160;&lt;/div&gt;

&lt;div class="csharpcode"&gt;And finally, the least important part.&amp;#160; My horrendous UI, wired up specifically to get the job done, no more and no less:&lt;/div&gt;

&lt;div class="csharpcode"&gt;&amp;#160;&lt;/div&gt;

&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Window&lt;/span&gt; &lt;span class="attr"&gt;x:Class&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Voter.MainWindow&amp;quot;&lt;/span&gt;
        &lt;span class="attr"&gt;xmlns&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;http://schemas.microsoft.com/winfx/2006/xaml/presentation&amp;quot;&lt;/span&gt;
        &lt;span class="attr"&gt;xmlns:x&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;http://schemas.microsoft.com/winfx/2006/xaml&amp;quot;&lt;/span&gt;
        &lt;span class="attr"&gt;Title&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;MainWindow&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Height&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;350&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;525&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ListBox&lt;/span&gt; &lt;span class="attr"&gt;Margin&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;0,0,0,90&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;x:Name&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;lb1&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Button&lt;/span&gt; &lt;span class="attr"&gt;Margin&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;123,227,138,12&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Content&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Vote&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;Click&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Button_Click&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Grid&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Window&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;style type="text/css"&gt;
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Have fun with this, good luck and happy coding,&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Bryan&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7542244" width="1" height="1"&gt;</content><author><name>Freakyuno</name><uri>http://weblogs.asp.net/members/Freakyuno.aspx</uri></author><category term="Fun" scheme="http://weblogs.asp.net/bryansampica/archive/tags/Fun/default.aspx" /><category term="WPF" scheme="http://weblogs.asp.net/bryansampica/archive/tags/WPF/default.aspx" /><category term=".NET 4.0" scheme="http://weblogs.asp.net/bryansampica/archive/tags/.NET+4.0/default.aspx" /><category term="Visual Studio 2010" scheme="http://weblogs.asp.net/bryansampica/archive/tags/Visual+Studio+2010/default.aspx" /></entry><entry><title>Silverlight 4 Container Control</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/bryansampica/archive/2010/01/22/silverlight-4-container-control.aspx" /><id>http://weblogs.asp.net/bryansampica/archive/2010/01/22/silverlight-4-container-control.aspx</id><published>2010-01-23T00:27:02Z</published><updated>2010-01-23T00:27:02Z</updated><content type="html">&lt;p&gt;Today I went looking for a simple skinable container control that I could use in Silverlight 4.&amp;#160; I of course checked the framework first, and didn’t find exactly what I was looking for.&amp;#160;&amp;#160; I then checked the &lt;a href="http://www.codeplex.com/Silverlight" target="_blank"&gt;Silverlight Toolkit for Silverlight 4&lt;/a&gt;, which has some really cool container controls, but again, nothing specifically like I was looking for.&amp;#160; &lt;/p&gt;  &lt;p&gt;My requirements weren’t complicated or lengthy:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Colorable Header &lt;/li&gt;    &lt;li&gt;Header Text Area controllable outside the control &lt;/li&gt;    &lt;li&gt;Flexible content area, capable of hosting other XAML Controls &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;My first attempt lead me towards a usercontrol, with some clever dependency property binding.&amp;#160; This method requires quite a bit of work, but I believe is the most flexible.&amp;#160; Capable of hosting templated controls inside it, and able to host a codebehind file capable of responding to custom properties, events, or other goodies specific to the containers interactivity.&amp;#160; &lt;/p&gt;  &lt;p&gt;Keeping in mind, we could have rolled a fully custom control in a Silverlight Class Library for this requirement, which I’ve done often in the past to extend the framework, this isn't the solution I was looking for in this simple circumstance.&lt;/p&gt;  &lt;p&gt;The basic usercontrol gets something something like this.&amp;#160; Pretty thin, but thats just the way I like it.&amp;#160; no clutter to get in the way of what we are trying to accomplish.&lt;/p&gt; &lt;font color="#0000ff" size="1" face="Consolas"&gt;   &lt;p align="left"&gt;&amp;lt;&lt;/p&gt;   &lt;font color="#a31515" size="1" face="Consolas"&gt;Grid&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; x&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;:&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt;Name&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;LayoutRoot&amp;quot;&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; Background&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;White&amp;quot;&amp;gt;&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;&lt;/font&gt;    &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#a31515" size="1" face="Consolas"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;Grid.RowDefinitions&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;gt;&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;&lt;/font&gt;    &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#a31515" size="1" face="Consolas"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;RowDefinition&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; Height&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;40&amp;quot; /&amp;gt;&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;&lt;/font&gt;    &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#a31515" size="1" face="Consolas"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;RowDefinition&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; Height&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;*&amp;quot; /&amp;gt;&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;&lt;/font&gt;    &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#a31515" size="1" face="Consolas"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;Grid.RowDefinitions&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;gt;&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;&lt;/font&gt;    &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#a31515" size="1" face="Consolas"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;Border&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; HorizontalAlignment&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;Stretch&amp;quot;&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; VerticalAlignment&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;Stretch&amp;quot;&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; CornerRadius&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;4,4,0,0&amp;quot;&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; BorderThickness&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;1,1,1,0&amp;quot;&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; BorderBrush&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;Gray&amp;quot;&amp;gt;&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;&lt;/font&gt;    &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#a31515" size="1" face="Consolas"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;TextBlock&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; Text&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;Header&amp;quot;&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; Margin&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;10,0,0,0&amp;quot;&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; Width&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;Auto&amp;quot;&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; VerticalAlignment&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;Center&amp;quot; /&amp;gt;&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;&lt;/font&gt;    &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#a31515" size="1" face="Consolas"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;Border&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;gt;&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;&lt;/font&gt;    &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#a31515" size="1" face="Consolas"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;Border&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; Grid.Row&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;1&amp;quot;&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; HorizontalAlignment&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;Stretch&amp;quot;&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; VerticalAlignment&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;Stretch&amp;quot;&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; BorderThickness&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;1,0,1,1&amp;quot;&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; BorderBrush&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;Gray&amp;quot;&amp;gt;&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;&lt;/font&gt;    &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#a31515" size="1" face="Consolas"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;ContentPresenter&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt; /&amp;gt;&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;&lt;/font&gt;    &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#a31515" size="1" face="Consolas"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;Border&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;gt;&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;&lt;/font&gt;    &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#a31515" size="1" face="Consolas"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;Grid&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;   &lt;p align="left"&gt;&lt;/p&gt; &lt;/font&gt;  &lt;p&gt;With a few clever dependency properties, and a little binding magic, we enable some “Container Like” functionality.&lt;/p&gt; &lt;font color="#000000" size="1" face="Consolas"&gt;   &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#0000ff" size="1" face="Consolas"&gt;public&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;static&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;readonly&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="1" face="Consolas"&gt;DependencyProperty&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt; HeaderTextProperty = &lt;/font&gt;&lt;font color="#2b91af" size="1" face="Consolas"&gt;DependencyProperty&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;.Register(&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;&amp;quot;HeaderText&amp;quot;&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;, &lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;typeof&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;(&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;string&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;), &lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;typeof&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;(&lt;/font&gt;&lt;font color="#2b91af" size="1" face="Consolas"&gt;Container&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;), &lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;null&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;);&lt;/font&gt;    &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#0000ff" size="1" face="Consolas"&gt;public&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;string&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt; HeaderText&lt;/font&gt;    &lt;p align="left"&gt;{&lt;/p&gt;    &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#0000ff" size="1" face="Consolas"&gt;get&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt; { &lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;return&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt; (&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;string&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;)GetValue(HeaderTextProperty); }&lt;/font&gt;    &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#0000ff" size="1" face="Consolas"&gt;set&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt; { SetValue(HeaderTextProperty, &lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;value&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;); }&lt;/font&gt;    &lt;p align="left"&gt;}&lt;/p&gt;    &lt;p align="left"&gt;&lt;/p&gt;    &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#0000ff" size="1" face="Consolas"&gt;public&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;static&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;readonly&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="1" face="Consolas"&gt;DependencyProperty&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt; HeaderColorProperty = &lt;/font&gt;&lt;font color="#2b91af" size="1" face="Consolas"&gt;DependencyProperty&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;.Register(&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;&amp;quot;HeaderColor&amp;quot;&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;, &lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;typeof&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;(&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;object&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;), &lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;typeof&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;(&lt;/font&gt;&lt;font color="#2b91af" size="1" face="Consolas"&gt;Container&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;), &lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;null&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;);&lt;/font&gt;    &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#0000ff" size="1" face="Consolas"&gt;public&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;object&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt; HeaderColor&lt;/font&gt;    &lt;p align="left"&gt;{&lt;/p&gt;    &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#0000ff" size="1" face="Consolas"&gt;get&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt; { &lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;return&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt; (&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;object&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;)GetValue(HeaderColorProperty); }&lt;/font&gt;    &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#0000ff" size="1" face="Consolas"&gt;set&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt; { SetValue(HeaderColorProperty, &lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;value&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;); }&lt;/font&gt;    &lt;p align="left"&gt;}&lt;/p&gt;    &lt;p align="left"&gt;&lt;/p&gt;    &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#0000ff" size="1" face="Consolas"&gt;public&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;static&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;readonly&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="1" face="Consolas"&gt;DependencyProperty&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt; ContentAreaProperty = &lt;/font&gt;&lt;font color="#2b91af" size="1" face="Consolas"&gt;DependencyProperty&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;.Register(&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;&amp;quot;ContentArea&amp;quot;&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;, &lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;typeof&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;(&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;object&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;), &lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;typeof&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;(&lt;/font&gt;&lt;font color="#2b91af" size="1" face="Consolas"&gt;Container&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;), &lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;null&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;);&lt;/font&gt;    &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#0000ff" size="1" face="Consolas"&gt;public&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;object&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt; ContentArea&lt;/font&gt;    &lt;p align="left"&gt;{&lt;/p&gt;    &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#0000ff" size="1" face="Consolas"&gt;get&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt; { &lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;return&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt; (&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;object&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;)GetValue(ContentAreaProperty); }&lt;/font&gt;    &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#0000ff" size="1" face="Consolas"&gt;set&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt; { SetValue(ContentAreaProperty, &lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;value&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;); }&lt;/font&gt;    &lt;p align="left"&gt;}&lt;/p&gt;    &lt;p align="left"&gt;&lt;/p&gt;    &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#0000ff" size="1" face="Consolas"&gt;public&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;static&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;readonly&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="1" face="Consolas"&gt;DependencyProperty&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt; BodyColorProperty = &lt;/font&gt;&lt;font color="#2b91af" size="1" face="Consolas"&gt;DependencyProperty&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;.Register(&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;&amp;quot;BodyColor&amp;quot;&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;, &lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;typeof&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;(&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;object&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;), &lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;typeof&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;(&lt;/font&gt;&lt;font color="#2b91af" size="1" face="Consolas"&gt;Container&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;), &lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;null&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;);&lt;/font&gt;    &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#0000ff" size="1" face="Consolas"&gt;public&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;object&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt; BodyColor&lt;/font&gt;    &lt;p align="left"&gt;{&lt;/p&gt;    &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#0000ff" size="1" face="Consolas"&gt;get&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt; { &lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;return&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt; (&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;object&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;)GetValue(BodyColorProperty); }&lt;/font&gt;    &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#0000ff" size="1" face="Consolas"&gt;set&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt; { SetValue(BodyColorProperty, &lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;value&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;); }&lt;/font&gt;    &lt;p align="left"&gt;}&lt;/p&gt; &lt;/font&gt;  &lt;p&gt;These will enable some backend binding in the Usercontrol so we’ll be able to flesh out some functionality, to customize the container, from outside the usercontrol itself.&lt;/p&gt;  &lt;p&gt;Now we need to setup some bindings inside the XAML above, so that our Layout Elements conform to the values we’d like exposed to the parent of the usercontrol.&lt;/p&gt;  &lt;p&gt;The finished XAML inside the usercontrol looks like this:&lt;/p&gt;  &lt;p&gt;Obviously, we could expose as many dependency properties as we’d like, and bind to them inside this control.&amp;#160; This would expose them, as we’ll see – when we use the control later.&lt;/p&gt; &lt;font color="#a31515" size="1" face="Consolas"&gt;   &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;Grid&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; x&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;:&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt;Name&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;LayoutRoot&amp;quot;&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; Background&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;White&amp;quot;&amp;gt;&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;&lt;/font&gt;    &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#a31515" size="1" face="Consolas"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;Grid.RowDefinitions&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;gt;&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;&lt;/font&gt;    &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#a31515" size="1" face="Consolas"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;RowDefinition&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; Height&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;40&amp;quot; /&amp;gt;&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;&lt;/font&gt;    &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#a31515" size="1" face="Consolas"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;RowDefinition&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; Height&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;*&amp;quot; /&amp;gt;&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;&lt;/font&gt;    &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#a31515" size="1" face="Consolas"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;Grid.RowDefinitions&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;gt;&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;&lt;/font&gt;    &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#a31515" size="1" face="Consolas"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;Border&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; HorizontalAlignment&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;Stretch&amp;quot;&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; VerticalAlignment&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;Stretch&amp;quot;&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; CornerRadius&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;4,4,0,0&amp;quot;&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; BorderThickness&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;1,1,1,0&amp;quot;&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; BorderBrush&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;Gray&amp;quot;&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; Background&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;{&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;Binding&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; HeaderColor&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;,&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; ElementName&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=userControl}&amp;quot;&amp;gt;&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;&lt;/font&gt;    &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#a31515" size="1" face="Consolas"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;TextBlock&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; Text&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;{&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;Binding&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; HeaderText&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;,&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; ElementName&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=userControl,&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; FallbackValue&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;amp;apos;Header&amp;amp;apos;}&amp;quot;&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; Margin&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;10,0,0,0&amp;quot;&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; Width&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;Auto&amp;quot;&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; VerticalAlignment&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;Center&amp;quot; /&amp;gt;&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;&lt;/font&gt;    &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#a31515" size="1" face="Consolas"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;Border&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;gt;&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;&lt;/font&gt;    &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#a31515" size="1" face="Consolas"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;Border&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; Grid.Row&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;1&amp;quot;&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; HorizontalAlignment&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;Stretch&amp;quot;&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; VerticalAlignment&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;Stretch&amp;quot;&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; BorderThickness&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;1,0,1,1&amp;quot;&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; BorderBrush&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;Gray&amp;quot;&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; Background&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;{&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;Binding&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; BodyColor&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;,&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; ElementName&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=userControl}&amp;quot;&amp;gt;&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;&lt;/font&gt;    &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#a31515" size="1" face="Consolas"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;ContentPresenter&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; Content&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;{&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;Binding&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; ContentArea&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;,&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; ElementName&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=userControl}&amp;quot; /&amp;gt;&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;&lt;/font&gt;    &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#a31515" size="1" face="Consolas"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;Border&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;gt;&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;&lt;/font&gt;    &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#a31515" size="1" face="Consolas"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;Grid&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt;  &lt;p&gt;Now, out on our mainpage, where we’d like to use this control, we just need to declare a namespace to point it towards the usercontrol in our project, and we’re ready to fly.&lt;/p&gt; &lt;font color="#ff0000" size="1" face="Consolas"&gt;   &lt;p align="left"&gt;xmlns&lt;/p&gt;   &lt;font color="#0000ff" size="1" face="Consolas"&gt;:&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt;local&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;clr-namespace:CustomContainer&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;   &lt;p align="left"&gt;&amp;lt;&lt;/p&gt;   &lt;font color="#a31515" size="1" face="Consolas"&gt;Grid&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; x&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;:&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt;Name&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;LayoutRoot&amp;quot;&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; Background&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;White&amp;quot;&amp;gt;&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;&lt;/font&gt;    &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#a31515" size="1" face="Consolas"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;local&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;:&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;Container&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; BodyColor&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;White&amp;quot;&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; HeaderText&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;Content Space 1&amp;quot;&amp;gt;&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;&lt;/font&gt;    &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#a31515" size="1" face="Consolas"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;local&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;:&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;Container.HeaderColor&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;gt;&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;&lt;/font&gt;    &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#a31515" size="1" face="Consolas"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;LinearGradientBrush&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;gt;&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;&lt;/font&gt;    &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#a31515" size="1" face="Consolas"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;LinearGradientBrush.RelativeTransform&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;gt;&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;&lt;/font&gt;    &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#a31515" size="1" face="Consolas"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;TransformGroup&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;gt;&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;&lt;/font&gt;    &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#a31515" size="1" face="Consolas"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;ScaleTransform&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; CenterY&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;0.5&amp;quot;&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; CenterX&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;0.5&amp;quot;/&amp;gt;&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;&lt;/font&gt;    &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#a31515" size="1" face="Consolas"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;SkewTransform&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; CenterY&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;0.5&amp;quot;&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; CenterX&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;0.5&amp;quot;/&amp;gt;&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;&lt;/font&gt;    &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#a31515" size="1" face="Consolas"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;RotateTransform&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; Angle&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;90&amp;quot;&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; CenterY&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;0.5&amp;quot;&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; CenterX&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;0.5&amp;quot;/&amp;gt;&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;&lt;/font&gt;    &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#a31515" size="1" face="Consolas"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;TranslateTransform&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;/&amp;gt;&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;&lt;/font&gt;    &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#a31515" size="1" face="Consolas"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;TransformGroup&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;gt;&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;&lt;/font&gt;    &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#a31515" size="1" face="Consolas"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;LinearGradientBrush.RelativeTransform&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;gt;&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;&lt;/font&gt;    &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#a31515" size="1" face="Consolas"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;GradientStop&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; Color&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;#FFA6D6FF&amp;quot;&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; Offset&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;0&amp;quot; /&amp;gt;&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;&lt;/font&gt;    &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#a31515" size="1" face="Consolas"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;GradientStop&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; Color&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;#FF0088FF&amp;quot;&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; Offset&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;1&amp;quot; /&amp;gt;&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;&lt;/font&gt;    &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#a31515" size="1" face="Consolas"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;LinearGradientBrush&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;gt;&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;&lt;/font&gt;    &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#a31515" size="1" face="Consolas"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;local&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;:&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;Container.HeaderColor&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;gt;&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;&lt;/font&gt;    &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#a31515" size="1" face="Consolas"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;local&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;:&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;Container.ContentArea&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;gt;&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;&lt;/font&gt;    &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#a31515" size="1" face="Consolas"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;Button&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; Width&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;100&amp;quot;&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; Height&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;100&amp;quot;&lt;/font&gt;&lt;font color="#ff0000" size="1" face="Consolas"&gt; Content&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;=&amp;quot;My Button inside&amp;quot; /&amp;gt;&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;&lt;/font&gt;    &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#a31515" size="1" face="Consolas"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;local&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;:&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;Container.ContentArea&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;gt;&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;&lt;/font&gt;    &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#a31515" size="1" face="Consolas"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;local&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;:&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;Container&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;gt;&lt;/font&gt;&lt;font color="#000000" size="1" face="Consolas"&gt;&lt;/font&gt;    &lt;p align="left"&gt;&lt;/p&gt;   &lt;font color="#a31515" size="1" face="Consolas"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#a31515" size="1" face="Consolas"&gt;Grid&lt;/font&gt;&lt;font color="#0000ff" size="1" face="Consolas"&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt;  &lt;p&gt;As you can see, the dependency properties we exposed, become available in the XAML, but we also get access to them in the designer.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Blend Custom Properties" border="0" alt="Blend Custom Properties" src="http://weblogs.asp.net/blogs/bryansampica/0xe3fll5_6A3A47DE.jpg" width="310" height="347" /&gt;&lt;/p&gt;  &lt;p&gt;Which is cool that Blend (And Visual Studio) will inspect the property bag and enumerate over custom dependency properties behind the scenes.&lt;/p&gt;  &lt;p&gt;Our finished object:&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="XAML Custom Container" border="0" alt="XAML Custom Container" src="http://weblogs.asp.net/blogs/bryansampica/tucswht2_292BC87A.jpg" width="450" height="317" /&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Since I started writing this, I’ve also found a lightway to use the ContentControl which is provided in the Silverlight Framework.&amp;#160; It’s harder to work with, and isn’t nearly as configurable as a usercontrol.&amp;#160; You use TemplateBinding inside a style property (ContentControls allow you to set a template).&amp;#160; I like this method, and it seems to work well.&amp;#160; I can see a case for each.&lt;/p&gt;  &lt;p&gt;Hope this makes someones day a little easier.&lt;/p&gt;  &lt;p&gt;--Bryan&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7320279" width="1" height="1"&gt;</content><author><name>Freakyuno</name><uri>http://weblogs.asp.net/members/Freakyuno.aspx</uri></author><category term="XAML" scheme="http://weblogs.asp.net/bryansampica/archive/tags/XAML/default.aspx" /><category term=".NET 4.0" scheme="http://weblogs.asp.net/bryansampica/archive/tags/.NET+4.0/default.aspx" /><category term="Silverlight 4" scheme="http://weblogs.asp.net/bryansampica/archive/tags/Silverlight+4/default.aspx" /><category term="Visual Studio 2010" scheme="http://weblogs.asp.net/bryansampica/archive/tags/Visual+Studio+2010/default.aspx" /></entry><entry><title>Custom Explicit and Implicit Operators in C#</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/bryansampica/archive/2010/01/07/custom-explicit-and-implicit-operators-in-c.aspx" /><id>http://weblogs.asp.net/bryansampica/archive/2010/01/07/custom-explicit-and-implicit-operators-in-c.aspx</id><published>2010-01-07T15:09:56Z</published><updated>2010-01-07T15:09:56Z</updated><content type="html">&lt;p&gt;I recently had a friend ask me about my use of implicit operators.&amp;#160; I’ve been using them for a while now, but don’t think they’ve gained much traction for some reason, as I rarely come across code where they’ve been implemented.&lt;/p&gt;  &lt;p&gt;Using implicit or explicit operators at their base implementation is quite easy, there’s a few simple rules to follow when implementing them:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The operator must be enclosed in the class or partial class that it converts&lt;/li&gt;    &lt;li&gt;It must accept only 1 parameter&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;There’s a few other rules, but those are the two important ones to follow when getting started.&lt;/p&gt;  &lt;p&gt;Implicit Operator&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&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;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; CustomerDTO&lt;/pre&gt;
&lt;!--CRLF--&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;!--CRLF--&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;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff"&gt;implicit&lt;/span&gt; &lt;span style="color: #0000ff"&gt;operator&lt;/span&gt; CustomerDTO(Customer entityObject)&lt;/pre&gt;
&lt;!--CRLF--&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;!--CRLF--&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;!--CRLF--&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;!--CRLF--&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;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;Pretty easy to implement, and you implement explicit operators the same way.&amp;#160; The major difference being the required explicit call on an explicit operator such as:&lt;/p&gt;

&lt;p&gt;CustomerDTO.ToCustomer()&lt;/p&gt;

&lt;p&gt;For this example, I’ve created a very small model of a customer object, with addresses.&amp;#160; This model is not connected to a database, and utilizes the model designer of the Entity Framework 4.0.&amp;#160; &lt;/p&gt;

&lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/bryansampica/image_2AE93BE7.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="EF4 Model" border="0" alt="EF4 Model" src="http://weblogs.asp.net/blogs/bryansampica/image_thumb_05EB7B6E.png" width="453" height="291" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;I’ve also wired up to &lt;strong&gt;POCO &lt;/strong&gt;(Plain old CLR Objects)&lt;strong&gt;&amp;#160;&lt;/strong&gt;objects, as DTO’s (data transfer objects).&amp;#160; The scope of this entry is not to describe why you’d use POCO or transfer objects, but if you’re using them, and doing manual conversions this will save you a LOT of headache. :)&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;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; CustomerDTO&lt;/pre&gt;
&lt;!--CRLF--&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;!--CRLF--&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;int&lt;/span&gt; id { get; set; }&lt;/pre&gt;
&lt;!--CRLF--&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;string&lt;/span&gt; name { get; set; }&lt;/pre&gt;
&lt;!--CRLF--&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;string&lt;/span&gt; taxid { get; set; }&lt;/pre&gt;
&lt;!--CRLF--&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;       Status active { get; set; }&lt;/pre&gt;
&lt;!--CRLF--&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;       IEnumerable&amp;lt;AddressDTO&amp;gt; addresses { get; set; }&lt;/pre&gt;
&lt;!--CRLF--&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;!--CRLF--&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;!--CRLF--&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;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;enum&lt;/span&gt; Status&lt;/pre&gt;
&lt;!--CRLF--&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;!--CRLF--&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;       Inactive, &lt;span style="color: #008000"&gt;//=0&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&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;       Active &lt;span style="color: #008000"&gt;//=1&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&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;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&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;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; AddressDTO&lt;/pre&gt;
&lt;!--CRLF--&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;!--CRLF--&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;int&lt;/span&gt; id { get; set; }&lt;/pre&gt;
&lt;!--CRLF--&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;string&lt;/span&gt; address1 { get; set; }&lt;/pre&gt;
&lt;!--CRLF--&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;string&lt;/span&gt; city { get; set; }&lt;/pre&gt;
&lt;!--CRLF--&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;string&lt;/span&gt; state { get; set; }&lt;/pre&gt;
&lt;!--CRLF--&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;string&lt;/span&gt; zip { get; set; }&lt;/pre&gt;
&lt;!--CRLF--&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;int&lt;/span&gt; Customerid { get; set; }&lt;/pre&gt;
&lt;!--CRLF--&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;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Once we have our model in place, and our POCO objects created, we can get into the meat of the operators we want to implement.&amp;#160; &lt;/p&gt;

&lt;p&gt;Lets start with the CustomerDTO operator:&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;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff"&gt;implicit&lt;/span&gt; &lt;span style="color: #0000ff"&gt;operator&lt;/span&gt; CustomerDTO(Customer entityObject)&lt;/pre&gt;
&lt;!--CRLF--&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;!--CRLF--&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; &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; CustomerDTO&lt;/pre&gt;
&lt;!--CRLF--&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;!--CRLF--&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;                taxid = entityObject.TaxID,&lt;/pre&gt;
&lt;!--CRLF--&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;                name = entityObject.Name,&lt;/pre&gt;
&lt;!--CRLF--&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;                id = entityObject.Id,&lt;/pre&gt;
&lt;!--CRLF--&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;                addresses = entityObject.Addresses,&lt;/pre&gt;
&lt;!--CRLF--&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;                active = (Status)Enum.Parse(&lt;span style="color: #0000ff"&gt;typeof&lt;/span&gt;(Status), entityObject.Active)&lt;/pre&gt;
&lt;!--CRLF--&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;!--CRLF--&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;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;You’ll notice that when you implement this code, you receive this error:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/bryansampica/image_16EFA951.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://weblogs.asp.net/blogs/bryansampica/image_thumb_3559EA3A.png" width="670" height="116" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;This is exactaly where implicit operators come in!&amp;#160; When we go and define the implicit operator for the Address, we’ll solve our problem here:&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;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff"&gt;implicit&lt;/span&gt; &lt;span style="color: #0000ff"&gt;operator&lt;/span&gt; AddressDTO(Address entityAddress)&lt;/pre&gt;
&lt;!--CRLF--&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;!--CRLF--&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; &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; AddressDTO&lt;/pre&gt;
&lt;!--CRLF--&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;!--CRLF--&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;               id = entityAddress.Id,&lt;/pre&gt;
&lt;!--CRLF--&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;               address1 = entityAddress.Address1,&lt;/pre&gt;
&lt;!--CRLF--&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;               city = entityAddress.City,&lt;/pre&gt;
&lt;!--CRLF--&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;               state = entityAddress.State,&lt;/pre&gt;
&lt;!--CRLF--&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;               zip = entityAddress.Zip,&lt;/pre&gt;
&lt;!--CRLF--&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;               Customerid = entityAddress.CustomerId&lt;/pre&gt;
&lt;!--CRLF--&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;!--CRLF--&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;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;The finished CustomerDTO implicit operator:&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;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff"&gt;implicit&lt;/span&gt; &lt;span style="color: #0000ff"&gt;operator&lt;/span&gt; CustomerDTO(Customer entityObject)&lt;/pre&gt;
&lt;!--CRLF--&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;!--CRLF--&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;            CustomerDTO returnObject = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; CustomerDTO()&lt;/pre&gt;
&lt;!--CRLF--&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;!--CRLF--&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;                taxid = entityObject.TaxID,&lt;/pre&gt;
&lt;!--CRLF--&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;                name = entityObject.Name,&lt;/pre&gt;
&lt;!--CRLF--&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;                id = entityObject.Id,&lt;/pre&gt;
&lt;!--CRLF--&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;                active = (Status)Enum.Parse(&lt;span style="color: #0000ff"&gt;typeof&lt;/span&gt;(Status), entityObject.Active)&lt;/pre&gt;
&lt;!--CRLF--&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;!--CRLF--&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;!--CRLF--&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: #008000"&gt;// Do this longhand for visibility&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&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: #008000"&gt;// Without the implicit operator for AddressDTO we could not use the ().Add(e) without an implicit cast error&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&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;            entityObject.Addresses.ToList().ForEach(e =&amp;gt; returnObject.addresses.ToList().Add(e));&lt;/pre&gt;
&lt;!--CRLF--&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;!--CRLF--&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;!--CRLF--&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;return&lt;/span&gt; returnObject;&lt;/pre&gt;
&lt;!--CRLF--&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;!--CRLF--&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:fb3a1972-4489-4e52-abe7-25a00bb07fdf:1f47aa43-7da1-4c48-9ae7-aafcae1ebaff" class="wlWriterEditableSmartContent"&gt;&lt;p&gt; &lt;a href="http://weblogs.asp.net/blogs/bryansampica/IEOperators_42BFFD40.zip" target="_blank"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Now all that would be left, would be to extend the partial classes of our Entity Framework objects, such as the Customer and Address to return DTO objects&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Now, anywhere in our business logic we can use implicit converstion such as&lt;/p&gt;

&lt;p&gt;AddressDTO = Address&lt;/p&gt;

&lt;p&gt;Address = AddressDTO&lt;/p&gt;

&lt;p&gt;Customer = CustomerDTO&lt;/p&gt;

&lt;p&gt;CustomerDTO = Customer&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Hope that makes life easier ---&amp;#160; &lt;/p&gt;

&lt;p&gt;Code happy!&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7303309" width="1" height="1"&gt;</content><author><name>Freakyuno</name><uri>http://weblogs.asp.net/members/Freakyuno.aspx</uri></author><category term=".NET" scheme="http://weblogs.asp.net/bryansampica/archive/tags/.NET/default.aspx" /><category term="Microsoft" scheme="http://weblogs.asp.net/bryansampica/archive/tags/Microsoft/default.aspx" /><category term="LINQ" scheme="http://weblogs.asp.net/bryansampica/archive/tags/LINQ/default.aspx" /><category term=".NET 4.0" scheme="http://weblogs.asp.net/bryansampica/archive/tags/.NET+4.0/default.aspx" /><category term="Visual Studio 2010" scheme="http://weblogs.asp.net/bryansampica/archive/tags/Visual+Studio+2010/default.aspx" /></entry><entry><title>Silverlight 4</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/bryansampica/archive/2009/11/18/silverlight-4.aspx" /><id>http://weblogs.asp.net/bryansampica/archive/2009/11/18/silverlight-4.aspx</id><published>2009-11-19T01:26:00Z</published><updated>2009-11-19T01:26:00Z</updated><content type="html">&lt;P mce_keep="true"&gt;So the Silverlight platform has been quite interesting for some time in concept, and had some niche abilities that made it perfect for streaming media, or writing simple rich applications.&amp;nbsp; Around the time of Silverlight 3 things started to get interesting;&amp;nbsp; as the tools developed, and the platform matured!&lt;/P&gt;
&lt;P mce_keep="true"&gt;Enter, Silverlight 4!&lt;/P&gt;
&lt;P mce_keep="true"&gt;For those of you that have been waiting to adopt this technology into your own development lifecycle, I truly believe your wait is over.&amp;nbsp; Difficult or downright impossible things inside Silverlight applications have now been overcome.&amp;nbsp; Limitations such as Printing, Local File Access, mouse scroll wheel support, and out of browser experiences.&lt;/P&gt;
&lt;P mce_keep="true"&gt;There has been a huge stir of Silverlight 4 activity at PDC09 this year (where they handed out free multi-touch windows 7 laptops to every attendee!!!) - yea, I know.&amp;nbsp; And some &lt;STRONG&gt;very&lt;/STRONG&gt; cool demo's being displayed.&amp;nbsp; Watching the live stream (&lt;A href="http://microsoftpdc.com/"&gt;http://microsoftpdc.com/&lt;/A&gt;) during conference hours, left me intrigued enough to want to fire up and start to prototype some applications on the Silverlight 4 platform.&lt;/P&gt;
&lt;P mce_keep="true"&gt;As I went looking, it took me a little longer than I would have liked to find all the things I needed to get started and give it an accurate test drive, so below is the link (link aggregation) on how to get started.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;A href="http://silverlight.net/getstarted/silverlight-4-beta/#tools"&gt;http://silverlight.net/getstarted/silverlight-4-beta/#tools&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;I know...the silverlight site.&amp;nbsp; Unfortunatly as a developer and MVP I'm used to finding what I need published under the MSDN downloads section, linear thinking FTW.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Dont forget as you get started to pop over to the videos located here:&amp;nbsp; All VERY good information&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;A href="http://silverlight.net/learn/videos/silverlight-4-beta-videos/"&gt;http://silverlight.net/learn/videos/silverlight-4-beta-videos/&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;I'm in process of wiring up an artist (photo) gallery currently, using Silverlight 4, RIA Services, and the new Toolkit, using Visual Studio 2010 of course.&amp;nbsp; So far I'm VERY impressed with the platform and where it's gone - it's finally at the point where I just dont feel like there's anything &lt;EM&gt;missing&lt;/EM&gt; as previously.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;Good luck!&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7259807" width="1" height="1"&gt;</content><author><name>Freakyuno</name><uri>http://weblogs.asp.net/members/Freakyuno.aspx</uri></author><category term=".NET" scheme="http://weblogs.asp.net/bryansampica/archive/tags/.NET/default.aspx" /><category term="Silverlight" scheme="http://weblogs.asp.net/bryansampica/archive/tags/Silverlight/default.aspx" /><category term=".NET 4.0" scheme="http://weblogs.asp.net/bryansampica/archive/tags/.NET+4.0/default.aspx" /><category term="Silverlight 4" scheme="http://weblogs.asp.net/bryansampica/archive/tags/Silverlight+4/default.aspx" /></entry><entry><title>Windows 7 RC</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/bryansampica/archive/2009/04/27/windows-7-rc.aspx" /><id>http://weblogs.asp.net/bryansampica/archive/2009/04/27/windows-7-rc.aspx</id><published>2009-04-27T13:00:55Z</published><updated>2009-04-27T13:00:55Z</updated><content type="html">&lt;p&gt;The Windows 7 RC has been officially announced. &lt;/p&gt;  &lt;p&gt;&lt;a title="http://windowsteamblog.com/blogs/windows7/archive/2009/04/24/windows-7-release-candidate-update.aspx" href="http://windowsteamblog.com/blogs/windows7/archive/2009/04/24/windows-7-release-candidate-update.aspx"&gt;http://windowsteamblog.com/blogs/windows7/archive/2009/04/24/windows-7-release-candidate-update.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I for one am very excited about this release.&amp;#160; I’ve been using Windows 7 Beta on my laptop for some time now, and other than stuff easily chalked up to Beta bugs, there isn’t a single thing I’ve been disappointed with.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7060604" width="1" height="1"&gt;</content><author><name>Freakyuno</name><uri>http://weblogs.asp.net/members/Freakyuno.aspx</uri></author><category term="Microsoft" scheme="http://weblogs.asp.net/bryansampica/archive/tags/Microsoft/default.aspx" /><category term="Fun" scheme="http://weblogs.asp.net/bryansampica/archive/tags/Fun/default.aspx" /><category term="Windows 7" scheme="http://weblogs.asp.net/bryansampica/archive/tags/Windows+7/default.aspx" /></entry><entry><title>Prish Image Resizer</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/bryansampica/archive/2009/03/30/prish-image-resizer.aspx" /><id>http://weblogs.asp.net/bryansampica/archive/2009/03/30/prish-image-resizer.aspx</id><published>2009-03-30T14:17:00Z</published><updated>2009-03-30T14:17:00Z</updated><content type="html">&lt;p&gt;Ok, this is just too cool.&lt;/p&gt;  &lt;p&gt;&amp;#160; &lt;/p&gt;  &lt;p&gt;Quote &lt;/p&gt;  &lt;blockquote&gt;&lt;a href="http://prishcom.spaces.live.com/blog/cns!6A6A204ABDF15411!128.entry"&gt;Talking about Prish Image Resizer – new “Power Toy” replacement for Windows Vista/7/XP&lt;/a&gt;    &lt;br /&gt;    &lt;p&gt;Choose your flavor (64 bit/32 bit)     &lt;br /&gt;&lt;iframe style="border-right: #dde5e9 1px solid; padding-right: 0px; border-top: #dde5e9 1px solid; padding-left: 0px; padding-bottom: 0px; margin: 3px; border-left: #dde5e9 1px solid; width: 240px; padding-top: 0px; border-bottom: #dde5e9 1px solid; height: 66px; background-color: #ffffff" marginwidth="0" marginheight="0" src="http://cid-6a6a204abdf15411.skydrive.live.com/embedrowdetail.aspx/.Public/PrishImageResizer/1.0.2519/64bit|_PrishResizer|_2519.msi" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;iframe style="border-right: #dde5e9 1px solid; padding-right: 0px; border-top: #dde5e9 1px solid; padding-left: 0px; padding-bottom: 0px; margin: 3px; border-left: #dde5e9 1px solid; width: 240px; padding-top: 0px; border-bottom: #dde5e9 1px solid; height: 66px; background-color: #ffffff" marginwidth="0" marginheight="0" src="http://cid-6a6a204abdf15411.skydrive.live.com/embedrowdetail.aspx/.Public/PrishImageResizer/1.0.2519/32bit|_PrishResizer|_2519.msi" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;/p&gt;    &lt;h3&gt;Current build: &lt;a href="http://prishcom.spaces.live.com/blog/cns!6A6A204ABDF15411!141.entry?&amp;amp;_c02_vws=1"&gt;2519&lt;/a&gt;&lt;/h3&gt;    &lt;p&gt;* Added custom resize to context menu.     &lt;br /&gt;* Control quality of JPG produced. &lt;/p&gt;    &lt;p&gt;Previous build: 2513     &lt;br /&gt;* Fixed 64bit      &lt;br /&gt;* Fixed Unicode issues. &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;I just installed it today (Thanks Scott Hanselman for the link) – which takes a lot of pain out of the process.&amp;#160; I generally run with Photoshop cs3 installed for the heavy lifting, but have been looking for something like this for a while.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;img alt="Open 32bit_PrishResizer_2519.msi" src="http://msc.wlxrs.com/BEeS5-U1qaUMW7M7tjjxMQ/images/transparent.gif" /&gt;&lt;span style="cursor: pointer; font-family: verdana,arial,sans-serif"&gt;&lt;a title="Open 32bit_PrishResizer_2519.msi" href="http://cid-6a6a204abdf15411.skydrive.live.com/self.aspx/.Public/PrishImageResizer/1.0.2519/32bit%7C_PrishResizer%7C_2519.msi" target="_top"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; left: 0px; border-bottom-width: 0px; width: 240px; position: absolute; top: 0px; height: 66px; border-right-width: 0px" alt="Open 32bit_PrishResizer_2519.msi" src="http://msc.wlxrs.com/BEeS5-U1qaUMW7M7tjjxMQ/images/transparent.gif" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7011335" width="1" height="1"&gt;</content><author><name>Freakyuno</name><uri>http://weblogs.asp.net/members/Freakyuno.aspx</uri></author></entry><entry><title>Jamcast Official Beta</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/bryansampica/archive/2009/01/30/jamcast-official-beta.aspx" /><id>http://weblogs.asp.net/bryansampica/archive/2009/01/30/jamcast-official-beta.aspx</id><published>2009-01-30T15:12:00Z</published><updated>2009-01-30T15:12:00Z</updated><content type="html">&lt;P&gt;A good friend of mine recently revealed to me that he's released a beta to the public of a neat piece of software.&amp;nbsp; Jamcast allows the user to stream their digital audio across their network to devices with built in support like Playstation 3, XBox 360.&amp;nbsp; I can't do the description justice, so swing over to his site and read about it.&amp;nbsp; Sounds like wicked code.&amp;nbsp; Even better is, it's entirely built with a .NET foundation!&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.sdstechnologies.com/" target=_blank mce_href="http://www.sdstechnologies.com/"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" border=0 alt=Untitled-1 src="http://weblogs.asp.net/blogs/bryansampica/WindowsLiveWriter/JamcastOfficialBeta_7CC6/Untitled-1_5.jpg" width=223 height=240 mce_src="http://weblogs.asp.net/blogs/bryansampica/WindowsLiveWriter/JamcastOfficialBeta_7CC6/Untitled-1_5.jpg"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;A title=http://www.sdstechnologies.com/ href="http://www.sdstechnologies.com/" mce_href="http://www.sdstechnologies.com/"&gt;http://www.sdstechnologies.com/&lt;/A&gt;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6869269" width="1" height="1"&gt;</content><author><name>Freakyuno</name><uri>http://weblogs.asp.net/members/Freakyuno.aspx</uri></author><category term=".NET" scheme="http://weblogs.asp.net/bryansampica/archive/tags/.NET/default.aspx" /><category term="ASP.NET" scheme="http://weblogs.asp.net/bryansampica/archive/tags/ASP.NET/default.aspx" /><category term=".NET 2.0" scheme="http://weblogs.asp.net/bryansampica/archive/tags/.NET+2.0/default.aspx" /><category term="Microsoft" scheme="http://weblogs.asp.net/bryansampica/archive/tags/Microsoft/default.aspx" /><category term="Fun" scheme="http://weblogs.asp.net/bryansampica/archive/tags/Fun/default.aspx" /><category term=".NET 3.5" scheme="http://weblogs.asp.net/bryansampica/archive/tags/.NET+3.5/default.aspx" /></entry><entry><title>Building a Composite WPF Application</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/bryansampica/archive/2008/10/30/building-a-composite-wpf-application.aspx" /><id>http://weblogs.asp.net/bryansampica/archive/2008/10/30/building-a-composite-wpf-application.aspx</id><published>2008-10-30T15:48:04Z</published><updated>2008-10-30T15:48:04Z</updated><content type="html">&lt;p&gt;Jeff Brand (Microsoft Evangelist from Minneapolis) has put together the start of an excellent screen cast on throwing up composite applications using the Microsoft Composite Application Library and WPF.&lt;/p&gt;  &lt;p&gt;It's worth the 20 minutes or so to watch it -&lt;/p&gt;  &lt;p&gt;&lt;a title="http://slickthought.net/post/2008/10/Building-a-WPF-Composite-Application-Series-Part-1.aspx" href="http://slickthought.net/post/2008/10/Building-a-WPF-Composite-Application-Series-Part-1.aspx"&gt;http://slickthought.net/post/2008/10/Building-a-WPF-Composite-Application-Series-Part-1.aspx&lt;/a&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6712283" width="1" height="1"&gt;</content><author><name>Freakyuno</name><uri>http://weblogs.asp.net/members/Freakyuno.aspx</uri></author></entry><entry><title>HDC Omaha 2008 - Code and Slides</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/bryansampica/archive/2008/10/17/hdc-omaha-2008-code-and-slides.aspx" /><link rel="enclosure" type="application/x-zip-compressed" length="327419" href="http://weblogs.asp.net/bryansampica/attachment/6684695.ashx" /><id>http://weblogs.asp.net/bryansampica/archive/2008/10/17/hdc-omaha-2008-code-and-slides.aspx</id><published>2008-10-17T15:12:00Z</published><updated>2008-10-17T15:12:00Z</updated><content type="html">&lt;P mce_keep="true"&gt;This is the application I demonstrated during my WPF Line of Business presentation, as well as my slide deck.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Demonstrated:&lt;/P&gt;
&lt;P mce_keep="true"&gt;WPF Commanding&lt;/P&gt;
&lt;P mce_keep="true"&gt;Provider based Data Source Handling&lt;/P&gt;
&lt;P mce_keep="true"&gt;Validation&lt;/P&gt;
&lt;P mce_keep="true"&gt;Collections and Binding (ObservableCollection&amp;lt;T&amp;gt;)&lt;/P&gt;
&lt;P mce_keep="true"&gt;LINQ to XML&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6684695" width="1" height="1"&gt;</content><author><name>Freakyuno</name><uri>http://weblogs.asp.net/members/Freakyuno.aspx</uri></author><category term=".NET 3.0" scheme="http://weblogs.asp.net/bryansampica/archive/tags/.NET+3.0/default.aspx" /><category term="LINQ" scheme="http://weblogs.asp.net/bryansampica/archive/tags/LINQ/default.aspx" /><category term=".NET 3.5" scheme="http://weblogs.asp.net/bryansampica/archive/tags/.NET+3.5/default.aspx" /><category term="WPF" scheme="http://weblogs.asp.net/bryansampica/archive/tags/WPF/default.aspx" /><category term="XAML" scheme="http://weblogs.asp.net/bryansampica/archive/tags/XAML/default.aspx" /></entry><entry><title>Iowa Code Camp - Des Moines</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/bryansampica/archive/2008/09/24/iowa-code-camp-des-moines.aspx" /><id>http://weblogs.asp.net/bryansampica/archive/2008/09/24/iowa-code-camp-des-moines.aspx</id><published>2008-09-25T01:56:00Z</published><updated>2008-09-25T01:56:00Z</updated><content type="html">&lt;FONT face=Calibri size=3&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;I'm proud to announce the second coming of the Iowa Code Camp.&amp;nbsp; This sequence follows the amazingly successful event held in Iowa City of May of this year.&amp;nbsp; Nearly 200 people attended for 90% of the event, we gave away upwards of $20,000 dollars in prizes and software and had a generally great time talking code, eating, drinking coffee and meeting our local peers.&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;The sucesss of version 2 is sure to rival the event - I'll see you there!&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;More information can be found at:&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;A href="http://www.iowacodecamp.com/"&gt;http://www.iowacodecamp.com&lt;/A&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;If you are connected to the media in any way, or would like to help sponser this amazing event - plese drop me a line, or use the contact form on the Iowa Code Camp website.&amp;nbsp; &lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/FONT&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6640909" width="1" height="1"&gt;</content><author><name>Freakyuno</name><uri>http://weblogs.asp.net/members/Freakyuno.aspx</uri></author><category term=".NET" scheme="http://weblogs.asp.net/bryansampica/archive/tags/.NET/default.aspx" /><category term="Weblogs" scheme="http://weblogs.asp.net/bryansampica/archive/tags/Weblogs/default.aspx" /><category term="MVP" scheme="http://weblogs.asp.net/bryansampica/archive/tags/MVP/default.aspx" /><category term="Microsoft" scheme="http://weblogs.asp.net/bryansampica/archive/tags/Microsoft/default.aspx" /><category term="Fun" scheme="http://weblogs.asp.net/bryansampica/archive/tags/Fun/default.aspx" /></entry><entry><title>{ T }rite - Source Code Release</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/bryansampica/archive/2008/05/20/t-rite-source-code-release.aspx" /><id>http://weblogs.asp.net/bryansampica/archive/2008/05/20/t-rite-source-code-release.aspx</id><published>2008-05-20T14:20:00Z</published><updated>2008-05-20T14:20:00Z</updated><content type="html">&lt;P&gt;I've had a few ask for the source control to this project, and amidst my objections, I tried to come up with a good reason not to release it and couldn't find one.&amp;nbsp; :)&lt;/P&gt;
&lt;P&gt;The goal of this project was really to push through the app and get a working model up.&amp;nbsp; There are some things that still aren't implemented, or known bugs.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;The refresh button does nothing!&lt;/LI&gt;
&lt;LI&gt;Update gives no notification&lt;/LI&gt;
&lt;LI&gt;160 char limit vs 140 (the API says 160!)&lt;/LI&gt;
&lt;LI&gt;No startup notification&lt;/LI&gt;
&lt;LI&gt;Weak threading model (background worker)&lt;/LI&gt;
&lt;LI&gt;No friend interaction&lt;/LI&gt;
&lt;LI&gt;No timeline interaction&lt;/LI&gt;
&lt;LI&gt;I could go on forever on this...those are the big ones&lt;/LI&gt;
&lt;LI&gt;Oh yea, no settings window at all. :)&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;So without further ramblings by the estranged coder....here's the source.&amp;nbsp; You'll need to modify the settings to reflect your own, if you aren't sure how to do that, read the &lt;A href="http://groups.google.com/group/twitter-development-talk/web/api-documentation" target=_blank mce_href="http://groups.google.com/group/twitter-development-talk/web/api-documentation"&gt;Twitter documentation on the API.&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;This is a source code release - this is not a finished, nor a working product and is not intended for end users.&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;This release includes a precompiled version of FluidKit - more information on FluidKit is available &lt;A href="http://www.codeplex.com/fluidkit" target=_blank mce_href="http://www.codeplex.com/fluidkit"&gt;HERE&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;If you modify this source, and release something of your own, I only ask that you keep the name the same and add your own spin - such as { T }rite | by Johnson or { T }rite | by Freakyuno....etc&lt;/P&gt;
&lt;P&gt;You will need Visual Studio 2008 AND / OR Microsoft Expression Blend March 2.5 Preview installed to work with this project, and knowledge of WPF (XAML) and C#.&lt;/P&gt;
&lt;DIV class=wlWriterSmartContent id=scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:5bc3a7fc-b092-4107-a5e3-e055bf2741ca style="PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"&gt;
&lt;P&gt;Source Code &lt;A href="http://weblogs.asp.net/blogs/bryansampica/WindowsLiveWriter/TriteSourceCodeRelease_8373/Trite.zip" target=_blank mce_href="http://weblogs.asp.net/blogs/bryansampica/WindowsLiveWriter/TriteSourceCodeRelease_8373/Trite.zip"&gt;HERE&lt;/A&gt;&lt;/P&gt;&lt;/DIV&gt;
&lt;P&gt;Good luck, feel free to get in touch with questions.&lt;/P&gt;
&lt;P&gt;Bryan Sampica (freakyuno)&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6204316" width="1" height="1"&gt;</content><author><name>Freakyuno</name><uri>http://weblogs.asp.net/members/Freakyuno.aspx</uri></author><category term=".NET" scheme="http://weblogs.asp.net/bryansampica/archive/tags/.NET/default.aspx" /><category term=".NET 3.0" scheme="http://weblogs.asp.net/bryansampica/archive/tags/.NET+3.0/default.aspx" /><category term="Microsoft" scheme="http://weblogs.asp.net/bryansampica/archive/tags/Microsoft/default.aspx" /><category term=".NET 3.5" scheme="http://weblogs.asp.net/bryansampica/archive/tags/.NET+3.5/default.aspx" /><category term="WPF" scheme="http://weblogs.asp.net/bryansampica/archive/tags/WPF/default.aspx" /><category term="XAML" scheme="http://weblogs.asp.net/bryansampica/archive/tags/XAML/default.aspx" /></entry></feed>