<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Forerunner-G34</title>
	<atom:link href="http://forerunnerg34.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://forerunnerg34.wordpress.com</link>
	<description>Microsoft ASP.NET and WPF</description>
	<lastBuildDate>Sat, 14 Jan 2012 13:46:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='forerunnerg34.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Forerunner-G34</title>
		<link>http://forerunnerg34.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://forerunnerg34.wordpress.com/osd.xml" title="Forerunner-G34" />
	<atom:link rel='hub' href='http://forerunnerg34.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Set the Version of your ASP.NET web application</title>
		<link>http://forerunnerg34.wordpress.com/2011/03/12/set-the-version-of-your-asp-net-web-application/</link>
		<comments>http://forerunnerg34.wordpress.com/2011/03/12/set-the-version-of-your-asp-net-web-application/#comments</comments>
		<pubDate>Sat, 12 Mar 2011 21:40:06 +0000</pubDate>
		<dc:creator>César Intriago</dc:creator>
				<category><![CDATA[ASP.NET]]></category>

		<guid isPermaLink="false">https://forerunnerg34.wordpress.com/2011/03/12/set-the-version-of-your-asp-net-web-application/</guid>
		<description><![CDATA[Imagine you want to release your Web application to your client in a way you can provide individual updates in the future and not the complete Web Site with every new release. Visual Studio allows you to publish a Web site using fixed names, this option creates an assembly for the code code behind of&#160;&#8230; <a href="http://forerunnerg34.wordpress.com/2011/03/12/set-the-version-of-your-asp-net-web-application/">Read&#160;more</a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=forerunnerg34.wordpress.com&amp;blog=10081268&amp;post=121&amp;subd=forerunnerg34&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Imagine you want to release your Web application to your client in a way you can provide individual updates in the future and not the complete Web Site with every new release. Visual Studio allows you to publish a Web site using fixed names, this option creates an assembly for the code code behind of each page of your site, additionally if you mark your Web Site as –Updatable-, you will be able to replace those individual assemblies of your Web Site, this is a very cool and useful feature.</p>
<p>When publishing a Web application like this, you will have your application divided in multiples assemblies, and of course it would be interesting to be able to set the version of each assembly so we can keep track of the release, and identify which versions are deployed on a client, however in Visual Studio there is no way to set the versions of an ASP.NET application assemblies, I searched for different ways to try to do this without any luck, until I found a little tool called ILMerge that allows merging assemblies, so I start digging into this and found the solution for what I wanted,  this tool also lets you apply the properties of one assembly into others, and that is when it hits me:</p>
<p>After publishing your Web site, I can merge the individual ASP.NET assemblies with “nothing” and provide a “dummy” assembly only with properties like version number, company, copyright. and stamp them into the original ASP.NET assembly. The result is the same assembly but with a version number!</p>
<p>To demonstrate this process Il will provide a step by step example:</p>
<p>Publish your Web site as updatable and check the  -use fixed names- option.</p>
<p>Inside the “bin” folder of your just published application  you will find the assemblies, for each assembly you want to version, follow the next steps:</p>
<p>Create an .cs file with the same name as your assembly, for example mypage_aspx_.dll, and enter the following code:</p>
<p>using System.Reflection;<br />
using System.Resources;<br />
using System.Runtime.CompilerServices;<br />
using System.Runtime.InteropServices;<br />
using System.Windows;</p>
<p>// General Information about an assembly is controlled through the following<br />
// set of attributes. Change these attribute values to modify the information<br />
// associated with an assembly.<br />
[assembly: AssemblyTitle("My App Title")]<br />
[assembly: AssemblyDescription("")]<br />
[assembly: AssemblyConfiguration("")]<br />
[assembly: AssemblyCompany("Cesar Intriago")]<br />
[assembly: AssemblyProduct("")]<br />
[assembly: AssemblyCopyright("Copyright © Cesar Intriago 2011")]<br />
[assembly: AssemblyTrademark("")]<br />
[assembly: AssemblyCulture("")]</p>
<p>[assembly: AssemblyVersion("2.5.0.0")]<br />
[assembly: AssemblyFileVersion("2.5.0.0")]</p>
<p>Now we are ready to stamp the above properties in our assemblies, the next step is to build that .cs code into an assembly:</p>
<p><strong>csc.exe  /target:library /nologo /warn:0 mypage_aspx.cs</strong></p>
<p>Move the resulting assembly into an “attributes” folder. Now we are ready to use ILMerge, we will merge only the original ASP.NET assembly into a new assembly with the same name inside a “versions” folder, and during this merge process we will apply the new assembly properties:</p>
<p><strong>ilmerge.exe /attr:attributes\mypage_aspx.cs.dll </strong></p>
<p><strong>/target:library /ndebug /out: versions\mypage_aspx.cs.dll </strong></p>
<p><strong>mypage_aspx.cs.dll</strong></p>
<p>The following image describes the meaning of each parameter:</p>
<p><a href="http://forerunnerg34.files.wordpress.com/2011/03/ilmerge-version.png"><img style="background-image:none;padding-left:0;padding-right:0;display:block;float:none;margin-left:auto;margin-right:auto;padding-top:0;border-width:0;" title="ILMerge Version" src="http://forerunnerg34.files.wordpress.com/2011/03/ilmerge-version_thumb.png?w=244&#038;h=67" border="0" alt="ILMerge Version" width="244" height="67" /></a></p>
<p>&nbsp;</p>
<p>This may be a cumbersome process, but it’s the way I found how to version an ASP.NET assembly, if you know another we will happy to hear it. The good news is that you can automate this process because it just uses command lines, you can even create a nice post-publish Visual Studio tool to mange and set the version of your Web Application.</p>
<p>&nbsp;</p>
<p>ILMerge Download (from Microsoft):</p>
<p><a title="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=22914587-b4ad-4eae-87cf-b14ae6a939b0&amp;displaylang=en" href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=22914587-b4ad-4eae-87cf-b14ae6a939b0&amp;displaylang=en">http://www.microsoft.com/downloads/en/details.aspx?FamilyID=22914587-b4ad-4eae-87cf-b14ae6a939b0&amp;displaylang=en</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/forerunnerg34.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/forerunnerg34.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/forerunnerg34.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/forerunnerg34.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/forerunnerg34.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/forerunnerg34.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/forerunnerg34.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/forerunnerg34.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/forerunnerg34.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/forerunnerg34.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/forerunnerg34.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/forerunnerg34.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/forerunnerg34.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/forerunnerg34.wordpress.com/121/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=forerunnerg34.wordpress.com&amp;blog=10081268&amp;post=121&amp;subd=forerunnerg34&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://forerunnerg34.wordpress.com/2011/03/12/set-the-version-of-your-asp-net-web-application/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<georss:point>35.534906 139.556122</georss:point>
		<geo:lat>35.534906</geo:lat>
		<geo:long>139.556122</geo:long>
		<media:thumbnail url="http://forerunnerg34.files.wordpress.com/2011/03/captura-de-pantalla-2011-03-12-a-las-16-30-29.png?w=150" />
		<media:content url="http://forerunnerg34.files.wordpress.com/2011/03/captura-de-pantalla-2011-03-12-a-las-16-30-29.png?w=150" medium="image">
			<media:title type="html">Captura-de-pantalla-2011-03-12-a-las-16.30.29</media:title>
		</media:content>

		<media:content url="http://1.gravatar.com/avatar/7ae4015ed5758b8db26b1663365fba2f?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">ForerunnerG34</media:title>
		</media:content>

		<media:content url="http://forerunnerg34.files.wordpress.com/2011/03/ilmerge-version_thumb.png" medium="image">
			<media:title type="html">ILMerge Version</media:title>
		</media:content>
	</item>
		<item>
		<title>Hello from the new iMac 27</title>
		<link>http://forerunnerg34.wordpress.com/2011/03/12/hello-from-the-new-imac-27/</link>
		<comments>http://forerunnerg34.wordpress.com/2011/03/12/hello-from-the-new-imac-27/#comments</comments>
		<pubDate>Sat, 12 Mar 2011 20:26:06 +0000</pubDate>
		<dc:creator>César Intriago</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">https://forerunnerg34.wordpress.com/2011/03/12/hello-from-the-new-imac-27/</guid>
		<description><![CDATA[So I got the new iMac 27 to replace my old iMac 20, the difference is amazing, huge display, better resolution and way faster the previous model, this new iMac is a speed monster which handles my two Windows virtual machines without problems, this translates into a better experience using Visual Studio and Expression!! For&#160;&#8230; <a href="http://forerunnerg34.wordpress.com/2011/03/12/hello-from-the-new-imac-27/">Read&#160;more</a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=forerunnerg34.wordpress.com&amp;blog=10081268&amp;post=117&amp;subd=forerunnerg34&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>So I got the new iMac 27 to replace my old iMac 20, the difference is amazing, huge display, better resolution and way faster the previous model, this new iMac is a speed monster which handles my two Windows virtual machines without problems, this translates into a better experience using Visual Studio and Expression!!</p>
<p>For daily tasks like Internet browsing, mail, music, chat, video, documents, photo editing, nothing beats the 27 inches display of the iMac.</p>
<p>Here you can see the current set up of my work environment. Now lets see what this new hardware can really do…</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/forerunnerg34.wordpress.com/117/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/forerunnerg34.wordpress.com/117/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/forerunnerg34.wordpress.com/117/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/forerunnerg34.wordpress.com/117/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/forerunnerg34.wordpress.com/117/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/forerunnerg34.wordpress.com/117/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/forerunnerg34.wordpress.com/117/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/forerunnerg34.wordpress.com/117/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/forerunnerg34.wordpress.com/117/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/forerunnerg34.wordpress.com/117/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/forerunnerg34.wordpress.com/117/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/forerunnerg34.wordpress.com/117/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/forerunnerg34.wordpress.com/117/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/forerunnerg34.wordpress.com/117/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=forerunnerg34.wordpress.com&amp;blog=10081268&amp;post=117&amp;subd=forerunnerg34&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://forerunnerg34.wordpress.com/2011/03/12/hello-from-the-new-imac-27/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<georss:point>35.534906 139.556122</georss:point>
		<geo:lat>35.534906</geo:lat>
		<geo:long>139.556122</geo:long>
		<media:thumbnail url="http://forerunnerg34.files.wordpress.com/2011/03/imac-desktop1.png?w=150" />
		<media:content url="http://forerunnerg34.files.wordpress.com/2011/03/imac-desktop1.png?w=150" medium="image">
			<media:title type="html">iMac-Desktop.png</media:title>
		</media:content>

		<media:content url="http://1.gravatar.com/avatar/7ae4015ed5758b8db26b1663365fba2f?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">ForerunnerG34</media:title>
		</media:content>
	</item>
		<item>
		<title>Twitter Desk</title>
		<link>http://forerunnerg34.wordpress.com/2011/01/15/twitter-desk/</link>
		<comments>http://forerunnerg34.wordpress.com/2011/01/15/twitter-desk/#comments</comments>
		<pubDate>Sat, 15 Jan 2011 16:12:18 +0000</pubDate>
		<dc:creator>César Intriago</dc:creator>
				<category><![CDATA[WPF]]></category>

		<guid isPermaLink="false">https://forerunnerg34.wordpress.com/2011/01/15/twitter-desk/</guid>
		<description><![CDATA[Since there is this Twitter thing going on for quite some time, I thought would be interesting building a Twitter client using WPF, so this is a very, very early UI design of the client: In fact, that is all I have for now, I’ll go back to continue reading that Twitter API stuff…<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=forerunnerg34.wordpress.com&amp;blog=10081268&amp;post=109&amp;subd=forerunnerg34&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Since there is this Twitter thing going on for quite some time, I thought would be interesting building a Twitter client using WPF, so this is a very, very early UI design of the client:</p>
<p><a href="http://forerunnerg34.files.wordpress.com/2011/01/twitterapp.png"><img style="border-bottom:0;border-left:0;display:block;float:none;margin-left:auto;border-top:0;margin-right:auto;border-right:0;" title="Twitter App" border="0" alt="Twitter App" src="http://forerunnerg34.files.wordpress.com/2011/01/twitterapp_thumb.png?w=240&#038;h=240" width="240" height="240" /></a> </p>
</p>
<p> In fact, that is all I have for now, I’ll go back to continue reading that Twitter API stuff…</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/forerunnerg34.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/forerunnerg34.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/forerunnerg34.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/forerunnerg34.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/forerunnerg34.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/forerunnerg34.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/forerunnerg34.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/forerunnerg34.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/forerunnerg34.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/forerunnerg34.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/forerunnerg34.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/forerunnerg34.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/forerunnerg34.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/forerunnerg34.wordpress.com/109/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=forerunnerg34.wordpress.com&amp;blog=10081268&amp;post=109&amp;subd=forerunnerg34&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://forerunnerg34.wordpress.com/2011/01/15/twitter-desk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:thumbnail url="http://forerunnerg34.files.wordpress.com/2011/01/twitterapp.png?w=150" />
		<media:content url="http://forerunnerg34.files.wordpress.com/2011/01/twitterapp.png?w=150" medium="image">
			<media:title type="html">TwitterApp.png</media:title>
		</media:content>

		<media:content url="http://1.gravatar.com/avatar/7ae4015ed5758b8db26b1663365fba2f?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">ForerunnerG34</media:title>
		</media:content>

		<media:content url="http://forerunnerg34.files.wordpress.com/2011/01/twitterapp_thumb.png" medium="image">
			<media:title type="html">Twitter App</media:title>
		</media:content>
	</item>
		<item>
		<title>2010 in review</title>
		<link>http://forerunnerg34.wordpress.com/2011/01/06/2010-in-review/</link>
		<comments>http://forerunnerg34.wordpress.com/2011/01/06/2010-in-review/#comments</comments>
		<pubDate>Thu, 06 Jan 2011 02:49:54 +0000</pubDate>
		<dc:creator>César Intriago</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://forerunnerg34.wordpress.com/?p=105</guid>
		<description><![CDATA[The stats helper monkeys at WordPress.com mulled over how this blog did in 2010, and here&#8217;s a high level summary of its overall blog health: The Blog-Health-o-Meter™ reads Wow. Crunchy numbers The average container ship can carry about 4,500 containers. This blog was viewed about 19,000 times in 2010. If each view were a shipping&#160;&#8230; <a href="http://forerunnerg34.wordpress.com/2011/01/06/2010-in-review/">Read&#160;more</a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=forerunnerg34.wordpress.com&amp;blog=10081268&amp;post=105&amp;subd=forerunnerg34&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The stats helper monkeys at WordPress.com mulled over how this blog did in 2010, and here&#8217;s a high level summary of its overall blog health:</p>
<p><img style="border:1px solid #ddd;background:#f5f5f5;padding:20px;" src="http://s0.wp.com/i/annual-recap/meter-healthy5.gif" alt="Healthy blog!" width="250" height="183" /></p>
<p>The <em>Blog-Health-o-Meter™</em> reads Wow.</p>
<h2>Crunchy numbers</h2>
<p><a href="http://forerunnerg34.files.wordpress.com/2009/11/asp-ntemvc101sheet.png"><img style="max-height:230px;float:right;border:1px solid #ddd;background:#fff;margin:0 0 1em 1em;padding:6px;" src="http://forerunnerg34.files.wordpress.com/2009/11/asp-ntemvc101sheet.png?w=288" alt="Featured image" /></a></p>
<p>The average container ship can carry about 4,500 containers.  This blog was viewed about <strong>19,000</strong> times in 2010.  If each view were a shipping container, your blog would have filled about 4 fully loaded ships.</p>
<p>&nbsp;</p>
<p>In 2010, there were <strong>4</strong> new posts, growing the total archive of this blog to 12 posts. There were <strong>2</strong> pictures uploaded, taking up a total of 190kb.</p>
<p>The busiest day of the year was September 3rd with <strong>409</strong> views. The most popular post that day was <a style="color:#08c;" href="http://forerunnerg34.wordpress.com/2009/11/08/asp-net-mvc-101-sheet/">ASP.NET MVC 101 Sheet</a>.</p>
<h2>Where did they come from?</h2>
<p>The top referring sites in 2010 were <strong>refact.blogspot.com</strong>, <strong>elijahmanor.com</strong>, <strong>devcheatsheet.com</strong>, <strong>blog.pagesd.info</strong>, and <strong>blackout360.wordpress.com</strong>.</p>
<p>Some visitors came searching, mostly for <strong>asp.net mvc nhibernate</strong>, <strong>nhibernate asp.net mvc</strong>, <strong>mvc nhibernate</strong>, <strong>nhibernate mvc</strong>, and <strong>asp.net mvc 2 nhibernate</strong>.</p>
<h2>Attractions in 2010</h2>
<p>These are the posts and pages that got the most views in 2010.</p>
<div style="clear:left;float:left;font-size:24pt;line-height:1em;margin:-5px 10px 20px 0;">1</div>
<p><a style="margin-right:10px;" href="http://forerunnerg34.wordpress.com/2009/11/08/asp-net-mvc-101-sheet/">ASP.NET MVC 101 Sheet</a> <span style="color:#999;font-size:8pt;">November 2009</span><br />
2 comments</p>
<div style="clear:left;float:left;font-size:24pt;line-height:1em;margin:-5px 10px 20px 0;">2</div>
<p><a style="margin-right:10px;" href="http://forerunnerg34.wordpress.com/2009/11/03/using-asp-net-mvc-and-nhibernate-part-1/">Using ASP.NET MVC and NHibernate (Part 1)</a> <span style="color:#999;font-size:8pt;">November 2009</span><br />
7 comments</p>
<div style="clear:left;float:left;font-size:24pt;line-height:1em;margin:-5px 10px 20px 0;">3</div>
<p><a style="margin-right:10px;" href="http://forerunnerg34.wordpress.com/2009/11/05/using-asp-net-mvc-and-nhibernate-part-3-final/">Using ASP.NET MVC and NHibernate (Part 3 – final)</a> <span style="color:#999;font-size:8pt;">November 2009</span><br />
3 comments</p>
<div style="clear:left;float:left;font-size:24pt;line-height:1em;margin:-5px 10px 20px 0;">4</div>
<p><a style="margin-right:10px;" href="http://forerunnerg34.wordpress.com/2009/11/03/using-asp-net-mvc-and-nhibernate-part-2/">Using ASP.NET MVC and NHibernate (Part 2)</a> <span style="color:#999;font-size:8pt;">November 2009</span><br />
1 comment</p>
<div style="clear:left;float:left;font-size:24pt;line-height:1em;margin:-5px 10px 20px 0;">5</div>
<p><a style="margin-right:10px;" href="http://forerunnerg34.wordpress.com/2009/10/30/using-asp-net-mvc-and-ajax-to-check-names-availability/">Using ASP.NET MVC and Ajax to check names availability.</a> <span style="color:#999;font-size:8pt;">October 2009</span><br />
12 comments</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/forerunnerg34.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/forerunnerg34.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/forerunnerg34.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/forerunnerg34.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/forerunnerg34.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/forerunnerg34.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/forerunnerg34.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/forerunnerg34.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/forerunnerg34.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/forerunnerg34.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/forerunnerg34.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/forerunnerg34.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/forerunnerg34.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/forerunnerg34.wordpress.com/105/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=forerunnerg34.wordpress.com&amp;blog=10081268&amp;post=105&amp;subd=forerunnerg34&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://forerunnerg34.wordpress.com/2011/01/06/2010-in-review/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<georss:point>35.534906 139.556122</georss:point>
		<geo:lat>35.534906</geo:lat>
		<geo:long>139.556122</geo:long>
		<media:content url="http://1.gravatar.com/avatar/7ae4015ed5758b8db26b1663365fba2f?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">ForerunnerG34</media:title>
		</media:content>

		<media:content url="http://s0.wp.com/i/annual-recap/meter-healthy5.gif" medium="image">
			<media:title type="html">Healthy blog!</media:title>
		</media:content>

		<media:content url="http://forerunnerg34.files.wordpress.com/2009/11/asp-ntemvc101sheet.png?w=288" medium="image">
			<media:title type="html">Featured image</media:title>
		</media:content>
	</item>
		<item>
		<title>Strongly Typed Session Properties in ASP.NET</title>
		<link>http://forerunnerg34.wordpress.com/2011/01/06/strongly-typed-session-in-asp-net/</link>
		<comments>http://forerunnerg34.wordpress.com/2011/01/06/strongly-typed-session-in-asp-net/#comments</comments>
		<pubDate>Thu, 06 Jan 2011 02:38:30 +0000</pubDate>
		<dc:creator>César Intriago</dc:creator>
				<category><![CDATA[ASP.NET]]></category>

		<guid isPermaLink="false">https://forerunnerg34.wordpress.com/2011/01/06/strongly-typed-session-in-asp-net/</guid>
		<description><![CDATA[In many ASP.NET projects, it is very common to use the Session object to store and retrieve data that can be accessed from any page withing the current user session, we usually would do something like: Session[“Username”] = “cintriago”; int hits = (int) Session[“HitCount”] ; Session[“HitCount”] = hits +1; The above example is a common&#160;&#8230; <a href="http://forerunnerg34.wordpress.com/2011/01/06/strongly-typed-session-in-asp-net/">Read&#160;more</a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=forerunnerg34.wordpress.com&amp;blog=10081268&amp;post=101&amp;subd=forerunnerg34&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p align="justify">In many ASP.NET projects, it is very common to use the Session object to store and retrieve data that can be accessed from any page withing the current user session, we usually would do something like:</p>
<p><span style="font-family:Courier New;">Session[“Username”] = “cintriago”;</span></p>
<p><span style="font-family:Courier New;">int hits = (int) Session[“HitCount”] ;</span></p>
<p><span style="font-family:Courier New;">Session[“HitCount”] = hits +1; </span></p>
<p align="justify">The above example is a common code section that you would write in your application, but how would you like to write it like this:</p>
<p><span style="font-family:Courier New;">Profile.Username = “cintriago”;</span></p>
<p><span style="font-family:Courier New;">Profile.HitCount++;</span></p>
<p align="justify">What do you think? in ASP.NET you can use strongly typed properties to read and write data shared across a user’s session. How?, keep reading…</p>
<p align="justify">Using strongly typed properties  is actually not so difficult, and the best part is that we use ASP.NET framework functionality, specifically the “Profile” class (You can read more about ASP.NET Profile class <a href="http://msdn.microsoft.com/en-us/library/2y3fs9xs.aspx" target="_blank">here</a>). ASP.NET uses the Profile class to save user’s specific data in SQL Server, but we can change the repository, in this case a static object!. We will use an example to illustrate how to do it:</p>
<p align="justify">Lets launch Visual Studio and create a new empty Web Site called “CustomASPNetProfile”, next add the “App_Code” special folder. Once ready lets create a repository  store the information we need (our Model), we will create 2 classes SessionProfile and SessionProfileData:</p>
<p><span style="font-family:Courier New;">using System;<br />
using System.Collections.Generic;<br />
using System.Linq;<br />
using System.Web; </span></p>
<p><span style="font-family:Courier New;">public class SessionProfile<br />
{<br />
public SessionProfile()<br />
{<br />
Properties = new List&lt;SessionProfileData&gt;();<br />
} </span></p>
<p><span style="font-family:Courier New;">    public int ProfileId {get;set;}<br />
public string Username {get;set;}<br />
public string ApplicationName { get; set; }<br />
public bool IsAnonymous { get; set; }<br />
public DateTime LastActivity { get; set; } </span></p>
<p><span style="font-family:Courier New;">    public List&lt;SessionProfileData&gt; Properties { get; set; } </span></p>
<p><span style="font-family:Courier New;">}</span></p>
<p><span style="font-family:Courier New;">public class SessionProfileData<br />
{<br />
public SessionProfileData()<br />
{<br />
} </span></p>
<p><span style="font-family:Courier New;">    public object PropertyValue { get; set; }<br />
public string PropertyName { get; set; } </span></p>
<p><span style="font-family:Courier New;">}</span></p>
<p align="justify">The SessionProfile class represents each individual session in our application, that is why you can see a ProfileId property that uniquely identifies each object, we also store the Username and if the current user is logged in or not  (ASP.NET security integration!, aint that cool?).</p>
<p align="justify">The SessionProfileData class will keep a list of all the properties that we are going to use as strongly type accessors for our repository.</p>
<p align="justify">
<p align="justify">Now it is time to build our custom Profile provider class called SessionProfileProvider that will inherit the System.Web.ProfileProvider class. Our new class needs to implement some methods (many of them will not be used in this example), but before going into that, let&#8217;s create the static object that will keep users data in memory:</p>
<p><span style="font-family:Courier New;">using System;<br />
using System.Collections.Generic;<br />
using System.Linq;<br />
using System.Web;<br />
using System.Web.Profile; </span></p>
<p><span style="font-family:Courier New;">/// &lt;summary&gt;<br />
/// Summary description for SessionProfileProvider<br />
/// &lt;/summary&gt;<br />
public class SessionProfileProvider : ProfileProvider<br />
{<br />
private static List&lt;SessionProfile&gt; m_profiles; </span></p>
<p><span style="font-family:Courier New;">    public SessionProfileProvider()<br />
{<br />
//<br />
// TODO: Add constructor logic here<br />
//<br />
}<br />
}</span></p>
<p align="justify">In the above code, a “m_profiles” static member is created, we will use this object to read and write user data across the Web Site, let&#8217;s check the two main methods of this class: GetPropertyValues and SetPropertyValues</p>
<p>&nbsp;</p>
<p><span style="font-family:Courier New;">public override SettingsPropertyValueCollection GetPropertyValues(System.Configuration.SettingsContext context, System.Configuration.SettingsPropertyCollection collection)<br />
{<br />
string username = context["UserName"].ToString();<br />
string applicationName = (null != context["ApplicationName"] ? context["ApplicationName"].ToString() : String.Empty);<br />
bool isAnonymous = bool.Parse(context["IsAuthenticated"].ToString()); </span></p>
<p><span style="font-family:Courier New;">        lock (m_profiles)<br />
{<br />
SessionProfile profile = m_profiles.Find(x =&gt; (x.Username == username)<br />
&amp;&amp; (x.IsAnonymous == isAnonymous)<br />
&amp;&amp; (x.ApplicationName == applicationName)<br />
); </span></p>
<p><span style="font-family:Courier New;">            SettingsPropertyValueCollection values = new SettingsPropertyValueCollection(); </span></p>
<p><span style="font-family:Courier New;">            foreach (SettingsProperty prop in collection)<br />
{<br />
SessionProfileData profileProperty = null;<br />
object value = null; </span></p>
<p><span style="font-family:Courier New;">                if (profile != null)<br />
profileProperty = profile.Properties.Find(x =&gt; x.PropertyName == prop.Name); </span></p>
<p><span style="font-family:Courier New;">                if (profileProperty != null)<br />
value = profileProperty.PropertyValue; </span></p>
<p><span style="font-family:Courier New;">                SettingsPropertyValue p = new SettingsPropertyValue(prop);<br />
Type propType = p.PropertyValue.GetType(); </span></p>
<p><span style="font-family:Courier New;">                if (propType == typeof(Int32) &amp;&amp; value == null)<br />
value = 0; </span></p>
<p><span style="font-family:Courier New;">                if (propType == typeof(bool) &amp;&amp; value == null)<br />
value = false; </span></p>
<p><span style="font-family:Courier New;">                p.PropertyValue = value;<br />
values.Add(p); </span></p>
<p><span style="font-family:Courier New;">            } </span></p>
<p><span style="font-family:Courier New;">            return values;<br />
}<br />
}</span></p>
<p>&nbsp;</p>
<p>In this method we iterate over the list of available properties (we will see how to dynamically define the list of available properties in the web.config file later) and for each one, get its corresponding value from the m_profiles list, finally a SettingsPropertyValueCollection object is returned with the properties and values.</p>
<p>Now let&#8217;s check the other method:</p>
<p><span style="font-family:Courier New;">public override void SetPropertyValues(System.Configuration.SettingsContext context, System.Configuration.SettingsPropertyValueCollection collection)<br />
{<br />
string username = context["UserName"].ToString();<br />
string applicationName = (null != context["ApplicationName"] ? context["ApplicationName"].ToString() : String.Empty);<br />
bool isAnonymous = bool.Parse(context["IsAuthenticated"].ToString());<br />
bool isNewProfile = false; </span></p>
<p><span style="font-family:Courier New;">        lock (m_profiles)<br />
{<br />
SessionProfile profile = m_profiles.Find(x =&gt; (x.Username == username)<br />
&amp;&amp; (x.IsAnonymous == isAnonymous)<br />
&amp;&amp; (x.ApplicationName == applicationName)<br />
); </span></p>
<p><span style="font-family:Courier New;">            if (profile == null)<br />
{<br />
profile = new SessionProfile();<br />
profile.Username = username;<br />
profile.ApplicationName = applicationName;<br />
profile.IsAnonymous = isAnonymous;<br />
isNewProfile = true;<br />
} </span></p>
<p><span style="font-family:Courier New;">            foreach (SettingsPropertyValue prop in collection)<br />
{<br />
SessionProfileData profileProperty = profile.Properties.Find(x =&gt; x.PropertyName == prop.Name);<br />
if (profileProperty != null)<br />
{<br />
profileProperty.PropertyValue = prop.PropertyValue;<br />
}<br />
else<br />
{<br />
profileProperty = new SessionProfileData();<br />
profileProperty.PropertyValue = prop.PropertyValue;<br />
profileProperty.PropertyName = prop.Name;<br />
profile.Properties.Add(profileProperty);<br />
}<br />
}<br />
if (isNewProfile)<br />
m_profiles.Add(profile);<br />
}<br />
}</span></p>
<p align="justify">In the SetPropertyValues method we iterate again over the list of available properties, setting their values.</p>
<p align="justify">That is all the coding we need, now it is time to define which properties we want to use in the web.config file:</p>
<p><span style="font-family:Courier New;">&lt;!&#8212;This sets the custom profile provider &#8211;&gt;<br />
&lt;anonymousIdentification enabled=&#8221;true&#8221;/&gt;<br />
&lt;profile defaultProvider=&#8221;SessionProvider&#8221;&gt;<br />
&lt;providers&gt;<br />
&lt;add name=&#8221;SessionProvider&#8221; type=&#8221;SessionProfileProvider&#8221;/&gt;<br />
&lt;/providers&gt; </span></p>
<p><span style="font-family:Courier New;">        &lt;properties&gt;<br />
&lt;add name=&#8221;FavoriteColor&#8221; allowAnonymous=&#8221;true&#8221; type=&#8221;System.String&#8221;/&gt;<br />
&lt;add name=&#8221;FavoriteName&#8221; allowAnonymous=&#8221;true&#8221; type=&#8221;System.String&#8221;/&gt;<br />
&lt;add name=&#8221;UserInfo&#8221; allowAnonymous=&#8221;true&#8221; type=&#8221;PersonalData&#8221;/&gt;<br />
&lt;/properties&gt;<br />
&lt;/profile&gt;</span></p>
<p>&nbsp;</p>
<p align="justify">What we are doing in this XML section is:</p>
<p align="justify">1. Use our new Profile provider as the default ASP.NET Profile provider.</p>
<p align="justify">2. We add support for anonymous users</p>
<p align="justify">3. We define which properties can be used and its types, (Did you notice that we can even use custom classes like a “PersonalData” class:</p>
<p><span style="font-family:Courier New;">public class PersonalData<br />
{<br />
public PersonalData()<br />
{<br />
} </span></p>
<p><span style="font-family:Courier New;">    public string Firstname { get; set; }<br />
public string Lastname { get; set; } </span></p>
<p><span style="font-family:Courier New;">}</span></p>
<p align="justify"><span style="font-family:ge;">Now build your Web Site and create a new page, you will be able to get and set the values of your properties using the Profile class, you can add more properties to your web.config file and all you  need is to build the Web Site again:</span></p>
<p><span style="font-family:Courier New;">public partial class _Default : System.Web.UI.Page<br />
{<br />
protected void Page_Load(object sender, EventArgs e)<br />
{<br />
Profile.FavoriteColor = &#8220;Red&#8221;; </span></p>
<p><span style="font-family:Courier New;">        Response.Write(Profile.FavoriteColor);<br />
}<br />
}</span></p>
<p>I hope you have found this post interesting and useful, thanks for reading!. <a href="http://cid-926d6677262767bd.office.live.com/self.aspx/ForerunnerG34/CustomASPNetProfile.zip">You can download the sample project here</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/forerunnerg34.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/forerunnerg34.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/forerunnerg34.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/forerunnerg34.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/forerunnerg34.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/forerunnerg34.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/forerunnerg34.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/forerunnerg34.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/forerunnerg34.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/forerunnerg34.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/forerunnerg34.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/forerunnerg34.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/forerunnerg34.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/forerunnerg34.wordpress.com/101/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=forerunnerg34.wordpress.com&amp;blog=10081268&amp;post=101&amp;subd=forerunnerg34&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://forerunnerg34.wordpress.com/2011/01/06/strongly-typed-session-in-asp-net/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<georss:point>35.534906 139.556122</georss:point>
		<geo:lat>35.534906</geo:lat>
		<geo:long>139.556122</geo:long>
		<media:content url="http://1.gravatar.com/avatar/7ae4015ed5758b8db26b1663365fba2f?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">ForerunnerG34</media:title>
		</media:content>
	</item>
		<item>
		<title>Superman</title>
		<link>http://forerunnerg34.wordpress.com/2011/01/02/superman/</link>
		<comments>http://forerunnerg34.wordpress.com/2011/01/02/superman/#comments</comments>
		<pubDate>Sun, 02 Jan 2011 04:49:30 +0000</pubDate>
		<dc:creator>César Intriago</dc:creator>
				<category><![CDATA[Wallpapers]]></category>

		<guid isPermaLink="false">https://forerunnerg34.wordpress.com/2011/01/02/superman/</guid>
		<description><![CDATA[&#160; I was looking for a Superman wallpaper, but I couldn’t find the one I was looking for (either there is no wallpaper of Superman’s cape logo or I suck at google/bing), finally I did what any&#160; developer would do in my place, I “build” my own wallpaper, I decided to share it with you.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=forerunnerg34.wordpress.com&amp;blog=10081268&amp;post=100&amp;subd=forerunnerg34&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>&#160;</p>
<p><a href="http://forerunnerg34.files.wordpress.com/2011/01/supermanlogo.png"><img style="border-bottom:0;border-left:0;display:block;float:none;margin-left:auto;border-top:0;margin-right:auto;border-right:0;" title="Superman Logo" border="0" alt="Superman Logo" src="http://forerunnerg34.files.wordpress.com/2011/01/supermanlogo_thumb.png?w=240&#038;h=200" width="240" height="200" /></a> </p>
<p align="justify">I was looking for a Superman wallpaper, but I couldn’t find the one I was looking for (either there is no wallpaper of Superman’s cape logo or I suck at google/bing), finally I did what any&#160; developer would do in my place, I “build” my own wallpaper, I decided to share it with you.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/forerunnerg34.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/forerunnerg34.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/forerunnerg34.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/forerunnerg34.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/forerunnerg34.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/forerunnerg34.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/forerunnerg34.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/forerunnerg34.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/forerunnerg34.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/forerunnerg34.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/forerunnerg34.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/forerunnerg34.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/forerunnerg34.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/forerunnerg34.wordpress.com/100/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=forerunnerg34.wordpress.com&amp;blog=10081268&amp;post=100&amp;subd=forerunnerg34&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://forerunnerg34.wordpress.com/2011/01/02/superman/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7ae4015ed5758b8db26b1663365fba2f?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">ForerunnerG34</media:title>
		</media:content>

		<media:content url="http://forerunnerg34.files.wordpress.com/2011/01/supermanlogo_thumb.png" medium="image">
			<media:title type="html">Superman Logo</media:title>
		</media:content>
	</item>
		<item>
		<title>Happy New Year &#8211; 2011</title>
		<link>http://forerunnerg34.wordpress.com/2011/01/02/happy-new-year-2011/</link>
		<comments>http://forerunnerg34.wordpress.com/2011/01/02/happy-new-year-2011/#comments</comments>
		<pubDate>Sun, 02 Jan 2011 04:42:44 +0000</pubDate>
		<dc:creator>César Intriago</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">https://forerunnerg34.wordpress.com/2011/01/02/happy-new-year-2011/</guid>
		<description><![CDATA[My best wishes for 2011 to all of you, new projects, new tools to play with, more .Net, more ASP.NET, more WPF more Silverlight, more Visual Studio, more Cloud. I would like to share a few of my 2011 resolutions: Return to bike trial. Write more posts about ASP.NET, WPF and Silverlight. Improve my cooking&#160;&#8230; <a href="http://forerunnerg34.wordpress.com/2011/01/02/happy-new-year-2011/">Read&#160;more</a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=forerunnerg34.wordpress.com&amp;blog=10081268&amp;post=96&amp;subd=forerunnerg34&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>My best wishes for 2011 to all of you, new projects, new tools to play with, more .Net, more ASP.NET, more WPF more Silverlight, more Visual Studio, more Cloud.</p>
<p>I would like to share a few of my 2011 resolutions:</p>
<ol>
<li>Return to bike trial.</li>
<li>Write more posts about ASP.NET, WPF and Silverlight.</li>
<li>Improve my cooking skills.</li>
</ol>
<p>Stay tuned..</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/forerunnerg34.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/forerunnerg34.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/forerunnerg34.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/forerunnerg34.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/forerunnerg34.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/forerunnerg34.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/forerunnerg34.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/forerunnerg34.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/forerunnerg34.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/forerunnerg34.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/forerunnerg34.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/forerunnerg34.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/forerunnerg34.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/forerunnerg34.wordpress.com/96/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=forerunnerg34.wordpress.com&amp;blog=10081268&amp;post=96&amp;subd=forerunnerg34&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://forerunnerg34.wordpress.com/2011/01/02/happy-new-year-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7ae4015ed5758b8db26b1663365fba2f?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">ForerunnerG34</media:title>
		</media:content>
	</item>
		<item>
		<title>ASP.NET MVC2 &#8211; jQuery &#8211; Watermark</title>
		<link>http://forerunnerg34.wordpress.com/2010/06/28/asp-net-mvc2-jquery-watermark/</link>
		<comments>http://forerunnerg34.wordpress.com/2010/06/28/asp-net-mvc2-jquery-watermark/#comments</comments>
		<pubDate>Mon, 28 Jun 2010 13:52:02 +0000</pubDate>
		<dc:creator>César Intriago</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[MVC]]></category>

		<guid isPermaLink="false">http://forerunnerg34.wordpress.com/?p=91</guid>
		<description><![CDATA[Nice post about using ModelMetaData in ASP.NET to wire up jQuery code to apply watermaks to textboxs, looks very clean, simple and easy, I will have it as a reference for future developments. Thanks Erichexter! http://www.lostechies.com/blogs/hex/archive/2010/06/23/using-modelmetadata-in-asp-net-mvc-2-to-wire-up-sweet-jquery-awesomeness.aspx<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=forerunnerg34.wordpress.com&amp;blog=10081268&amp;post=91&amp;subd=forerunnerg34&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Nice post about using ModelMetaData in ASP.NET to wire up jQuery code to apply watermaks to textboxs, looks very clean, simple and easy, I will have it as a reference for future developments. Thanks Erichexter!</p>
<p><a href="http://www.lostechies.com/blogs/hex/archive/2010/06/23/using-modelmetadata-in-asp-net-mvc-2-to-wire-up-sweet-jquery-awesomeness.aspx">http://www.lostechies.com/blogs/hex/archive/2010/06/23/using-modelmetadata-in-asp-net-mvc-2-to-wire-up-sweet-jquery-awesomeness.aspx</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/forerunnerg34.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/forerunnerg34.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/forerunnerg34.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/forerunnerg34.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/forerunnerg34.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/forerunnerg34.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/forerunnerg34.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/forerunnerg34.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/forerunnerg34.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/forerunnerg34.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/forerunnerg34.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/forerunnerg34.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/forerunnerg34.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/forerunnerg34.wordpress.com/91/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=forerunnerg34.wordpress.com&amp;blog=10081268&amp;post=91&amp;subd=forerunnerg34&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://forerunnerg34.wordpress.com/2010/06/28/asp-net-mvc2-jquery-watermark/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<georss:point>35.534906 139.556122</georss:point>
		<geo:lat>35.534906</geo:lat>
		<geo:long>139.556122</geo:long>
		<media:content url="http://1.gravatar.com/avatar/7ae4015ed5758b8db26b1663365fba2f?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">ForerunnerG34</media:title>
		</media:content>
	</item>
		<item>
		<title>How should I add code snippets here?</title>
		<link>http://forerunnerg34.wordpress.com/2010/04/07/how-should-i-add-code-snippets-here/</link>
		<comments>http://forerunnerg34.wordpress.com/2010/04/07/how-should-i-add-code-snippets-here/#comments</comments>
		<pubDate>Wed, 07 Apr 2010 01:35:21 +0000</pubDate>
		<dc:creator>César Intriago</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://forerunnerg34.wordpress.com/2010/04/07/how-should-i-add-code-snippets-here/</guid>
		<description><![CDATA[Propably there is an easy answer for this question, but which is the best way to add code snippets in a blog? I’m using Live Writer (which rocks btw!) and a plugin for code snippets (don’t remember the name) but I’m not happy&#160; with the final result as you may see in some posts. Is&#160;&#8230; <a href="http://forerunnerg34.wordpress.com/2010/04/07/how-should-i-add-code-snippets-here/">Read&#160;more</a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=forerunnerg34.wordpress.com&amp;blog=10081268&amp;post=89&amp;subd=forerunnerg34&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p align="justify">Propably there is an easy answer for this question, but which is the best way to add code snippets in a blog? I’m using Live Writer (which rocks btw!) and a plugin for code snippets (don’t remember the name) but I’m not happy&#160; with the final result as you may see in some posts. </p>
<p align="justify">Is this a problem with the theme of the blog?, do you know a better way to do it? thanks people. bye.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/forerunnerg34.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/forerunnerg34.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/forerunnerg34.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/forerunnerg34.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/forerunnerg34.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/forerunnerg34.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/forerunnerg34.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/forerunnerg34.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/forerunnerg34.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/forerunnerg34.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/forerunnerg34.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/forerunnerg34.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/forerunnerg34.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/forerunnerg34.wordpress.com/89/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=forerunnerg34.wordpress.com&amp;blog=10081268&amp;post=89&amp;subd=forerunnerg34&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://forerunnerg34.wordpress.com/2010/04/07/how-should-i-add-code-snippets-here/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7ae4015ed5758b8db26b1663365fba2f?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">ForerunnerG34</media:title>
		</media:content>
	</item>
		<item>
		<title>WPF: Building a custom TreeView with a combobox inside.</title>
		<link>http://forerunnerg34.wordpress.com/2010/03/13/wpf-building-a-custom-treeview-with-a-combobox-inside/</link>
		<comments>http://forerunnerg34.wordpress.com/2010/03/13/wpf-building-a-custom-treeview-with-a-combobox-inside/#comments</comments>
		<pubDate>Sat, 13 Mar 2010 03:42:23 +0000</pubDate>
		<dc:creator>César Intriago</dc:creator>
				<category><![CDATA[WPF]]></category>

		<guid isPermaLink="false">http://forerunnerg34.wordpress.com/2010/03/13/wpf-building-a-custom-treeview-with-a-combobox-inside/</guid>
		<description><![CDATA[A few months I saw a business application using a TreeView as their main navigation component, but the user had to right click on each node to open a contextual menu with additional commands, so I decide to implement somethig like that using WPF, the results was this: A simple TreeView control with a combobox,&#160;&#8230; <a href="http://forerunnerg34.wordpress.com/2010/03/13/wpf-building-a-custom-treeview-with-a-combobox-inside/">Read&#160;more</a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=forerunnerg34.wordpress.com&amp;blog=10081268&amp;post=88&amp;subd=forerunnerg34&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p align="justify">A few months I saw a business application using a TreeView as their main navigation component, but the user had to right click on each node to open a contextual menu with additional commands, so I decide to implement somethig like that using WPF, the results was this: A simple TreeView control with a combobox, the final result&#160; looked like this:</p>
<p><a href="http://forerunnerg34.files.wordpress.com/2010/03/preview.png"><img style="border-bottom:0;border-left:0;display:block;float:none;margin-left:auto;border-top:0;margin-right:auto;border-right:0;" title="Preview" border="0" alt="Preview" src="http://forerunnerg34.files.wordpress.com/2010/03/preview_thumb.png?w=216&#038;h=235" width="216" height="235" /></a></p>
<p>I’m using styles to insert the combobox inside the treeview:</p>
<div style="border-bottom:silver 1px solid;text-align:left;border-left:silver 1px solid;line-height:12pt;background-color:#f4f4f4;width:97.5%;font-family:&#39;direction:ltr;max-height:200px;font-size:8pt;overflow:auto;border-top:silver 1px solid;cursor:text;border-right:silver 1px solid;margin:20px 0 10px;padding:4px;" id="codeSnippetWrapper">
<div style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0;" id="codeSnippet">
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum1">   1:</span> <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">Style</span> <span style="color:#ff0000;">x:Key</span><span style="color:#0000ff;">=&quot;NavigationTreeViewItemStyle&quot;</span> <span style="color:#ff0000;">TargetType</span><span style="color:#0000ff;">=&quot;{x:Type TreeViewItem}&quot;</span><span style="color:#0000ff;">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum2">   2:</span>     <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">Setter</span> <span style="color:#ff0000;">Property</span><span style="color:#0000ff;">=&quot;Background&quot;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum3">   3:</span>         <span style="color:#ff0000;">Value</span><span style="color:#0000ff;">=&quot;Transparent&quot;</span><span style="color:#0000ff;">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum4">   4:</span>     <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">Setter</span> <span style="color:#ff0000;">Property</span><span style="color:#0000ff;">=&quot;HorizontalContentAlignment&quot;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum5">   5:</span>         <span style="color:#ff0000;">Value</span><span style="color:#0000ff;">=&quot;{Binding Path=HorizontalContentAlignment,</pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum6">   6:</span>                 RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}&quot;</span><span style="color:#0000ff;">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum7">   7:</span>     <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">Setter</span> <span style="color:#ff0000;">Property</span><span style="color:#0000ff;">=&quot;VerticalContentAlignment&quot;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum8">   8:</span>         <span style="color:#ff0000;">Value</span><span style="color:#0000ff;">=&quot;{Binding Path=VerticalContentAlignment,</pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum9">   9:</span>                 RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}&quot;</span><span style="color:#0000ff;">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum10">  10:</span>     <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">Setter</span> <span style="color:#ff0000;">Property</span><span style="color:#0000ff;">=&quot;Padding&quot;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum11">  11:</span>         <span style="color:#ff0000;">Value</span><span style="color:#0000ff;">=&quot;1,0,0,0&quot;</span><span style="color:#0000ff;">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum12">  12:</span>     <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">Setter</span> <span style="color:#ff0000;">Property</span><span style="color:#0000ff;">=&quot;Foreground&quot;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum13">  13:</span>         <span style="color:#ff0000;">Value</span><span style="color:#0000ff;">=&quot;{StaticResource NormalBrush}&quot;</span><span style="color:#0000ff;">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum14">  14:</span>     <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">Setter</span> <span style="color:#ff0000;">Property</span><span style="color:#0000ff;">=&quot;FocusVisualStyle&quot;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum15">  15:</span>         <span style="color:#ff0000;">Value</span><span style="color:#0000ff;">=&quot;{StaticResource TreeViewItemFocusVisual}&quot;</span><span style="color:#0000ff;">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum16">  16:</span>     <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">Setter</span> <span style="color:#ff0000;">Property</span><span style="color:#0000ff;">=&quot;Template&quot;</span><span style="color:#0000ff;">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum17">  17:</span>       <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">Setter.Value</span><span style="color:#0000ff;">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum18">  18:</span>         <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">ControlTemplate</span> <span style="color:#ff0000;">TargetType</span><span style="color:#0000ff;">=&quot;{x:Type TreeViewItem}&quot;</span><span style="color:#0000ff;">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum19">  19:</span>           <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">Grid</span><span style="color:#0000ff;">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum20">  20:</span>             <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">Grid.ColumnDefinitions</span><span style="color:#0000ff;">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum21">  21:</span>               <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">ColumnDefinition</span> <span style="color:#ff0000;">Width</span><span style="color:#0000ff;">=&quot;12&quot;</span><span style="color:#0000ff;">/&gt;</span>                        </pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum22">  22:</span>               <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">ColumnDefinition</span> <span style="color:#ff0000;">Width</span><span style="color:#0000ff;">=&quot;Auto&quot;</span><span style="color:#0000ff;">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum23">  23:</span>               <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">ColumnDefinition</span> <span style="color:#ff0000;">Width</span><span style="color:#0000ff;">=&quot;20&quot;</span><span style="color:#0000ff;">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum24">  24:</span>             <span style="color:#0000ff;">&lt;/</span><span style="color:#800000;">Grid.ColumnDefinitions</span><span style="color:#0000ff;">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum25">  25:</span>             <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">Grid.RowDefinitions</span><span style="color:#0000ff;">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum26">  26:</span>               <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">RowDefinition</span> <span style="color:#ff0000;">Height</span><span style="color:#0000ff;">=&quot;Auto&quot;</span><span style="color:#0000ff;">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum27">  27:</span>               <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">RowDefinition</span><span style="color:#0000ff;">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum28">  28:</span>             <span style="color:#0000ff;">&lt;/</span><span style="color:#800000;">Grid.RowDefinitions</span><span style="color:#0000ff;">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum29">  29:</span>             <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">ToggleButton</span> <span style="color:#ff0000;">x:Name</span><span style="color:#0000ff;">=&quot;Expander&quot;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum30">  30:</span>                     <span style="color:#ff0000;">Style</span><span style="color:#0000ff;">=&quot;{StaticResource ExpandCollapseToggleStyle}&quot;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum31">  31:</span>                     <span style="color:#ff0000;">IsChecked</span><span style="color:#0000ff;">=&quot;{Binding Path=IsExpanded,</pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum32">  32:</span>                                 RelativeSource={RelativeSource TemplatedParent}}&quot;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum33">  33:</span>                     <span style="color:#ff0000;">ClickMode</span><span style="color:#0000ff;">=&quot;Press&quot;</span><span style="color:#0000ff;">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum34">  34:</span>             <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">Border</span> <span style="color:#ff0000;">Name</span><span style="color:#0000ff;">=&quot;Bd&quot;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum35">  35:</span>                 <span style="color:#ff0000;">Grid</span>.<span style="color:#ff0000;">Column</span><span style="color:#0000ff;">=&quot;1&quot;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum36">  36:</span>                 <span style="color:#ff0000;">Background</span><span style="color:#0000ff;">=&quot;{TemplateBinding Background}&quot;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum37">  37:</span>                 <span style="color:#ff0000;">CornerRadius</span><span style="color:#0000ff;">=&quot;4&quot;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum38">  38:</span>                 <span style="color:#ff0000;">BorderThickness</span><span style="color:#0000ff;">=&quot;1&quot;</span><span style="color:#0000ff;">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum39">  39:</span>                 <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">ContentPresenter</span> </pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum40">  40:</span>                     <span style="color:#ff0000;">Content</span><span style="color:#0000ff;">=&quot;{Binding Header}&quot;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum41">  41:</span>                     <span style="color:#ff0000;">HorizontalAlignment</span><span style="color:#0000ff;">=&quot;{TemplateBinding HorizontalContentAlignment}&quot;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum42">  42:</span>                     <span style="color:#ff0000;">VerticalAlignment</span><span style="color:#0000ff;">=&quot;Center&quot;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum43">  43:</span>                     <span style="color:#ff0000;">Margin</span><span style="color:#0000ff;">=&quot;5,0,8,0&quot;</span><span style="color:#0000ff;">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum44">  44:</span>             <span style="color:#0000ff;">&lt;/</span><span style="color:#800000;">Border</span><span style="color:#0000ff;">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum45">  45:</span>             <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">ComboBox</span> </pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum46">  46:</span>                 <span style="color:#ff0000;">x:Name</span><span style="color:#0000ff;">=&quot;cbOptions&quot;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum47">  47:</span>                 <span style="color:#ff0000;">Grid</span>.<span style="color:#ff0000;">Column</span><span style="color:#0000ff;">=&quot;2&quot;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum48">  48:</span>                 <span style="color:#ff0000;">Visibility</span><span style="color:#0000ff;">=&quot;Hidden&quot;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum49">  49:</span>                 <span style="color:#ff0000;">IsTabStop</span><span style="color:#0000ff;">=&quot;False&quot;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum50">  50:</span>                 <span style="color:#ff0000;">ItemsSource</span><span style="color:#0000ff;">=&quot;{Binding MenuItems}&quot;</span><span style="color:#0000ff;">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum51">  51:</span>             <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">ItemsPresenter</span> <span style="color:#ff0000;">x:Name</span><span style="color:#0000ff;">=&quot;ItemsHost&quot;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum52">  52:</span>                     <span style="color:#ff0000;">Grid</span>.<span style="color:#ff0000;">Row</span><span style="color:#0000ff;">=&quot;1&quot;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum53">  53:</span>                     <span style="color:#ff0000;">Grid</span>.<span style="color:#ff0000;">Column</span><span style="color:#0000ff;">=&quot;1&quot;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum54">  54:</span>                     <span style="color:#ff0000;">Grid</span>.<span style="color:#ff0000;">ColumnSpan</span><span style="color:#0000ff;">=&quot;2&quot;</span> <span style="color:#0000ff;">/&gt;</span>                    </pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum55">  55:</span>           <span style="color:#0000ff;">&lt;/</span><span style="color:#800000;">Grid</span><span style="color:#0000ff;">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum56">  56:</span>           <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">ControlTemplate.Triggers</span><span style="color:#0000ff;">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum57">  57:</span>             <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">Trigger</span> <span style="color:#ff0000;">Property</span><span style="color:#0000ff;">=&quot;IsExpanded&quot;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum58">  58:</span>                  <span style="color:#ff0000;">Value</span><span style="color:#0000ff;">=&quot;false&quot;</span><span style="color:#0000ff;">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum59">  59:</span>               <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">Setter</span> <span style="color:#ff0000;">TargetName</span><span style="color:#0000ff;">=&quot;ItemsHost&quot;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum60">  60:</span>                   <span style="color:#ff0000;">Property</span><span style="color:#0000ff;">=&quot;Visibility&quot;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum61">  61:</span>                   <span style="color:#ff0000;">Value</span><span style="color:#0000ff;">=&quot;Collapsed&quot;</span><span style="color:#0000ff;">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum62">  62:</span>             <span style="color:#0000ff;">&lt;/</span><span style="color:#800000;">Trigger</span><span style="color:#0000ff;">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum63">  63:</span>             <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">Trigger</span> <span style="color:#ff0000;">Property</span><span style="color:#0000ff;">=&quot;HasItems&quot;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum64">  64:</span>                  <span style="color:#ff0000;">Value</span><span style="color:#0000ff;">=&quot;false&quot;</span><span style="color:#0000ff;">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum65">  65:</span>               <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">Setter</span> <span style="color:#ff0000;">TargetName</span><span style="color:#0000ff;">=&quot;Expander&quot;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum66">  66:</span>                   <span style="color:#ff0000;">Property</span><span style="color:#0000ff;">=&quot;Visibility&quot;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum67">  67:</span>                   <span style="color:#ff0000;">Value</span><span style="color:#0000ff;">=&quot;Hidden&quot;</span><span style="color:#0000ff;">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum68">  68:</span>             <span style="color:#0000ff;">&lt;/</span><span style="color:#800000;">Trigger</span><span style="color:#0000ff;">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum69">  69:</span>         </pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum70">  70:</span>             <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">Trigger</span> <span style="color:#ff0000;">Property</span><span style="color:#0000ff;">=&quot;IsSelected&quot;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum71">  71:</span>                  <span style="color:#ff0000;">Value</span><span style="color:#0000ff;">=&quot;true&quot;</span><span style="color:#0000ff;">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum72">  72:</span>               <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">Setter</span> <span style="color:#ff0000;">TargetName</span><span style="color:#0000ff;">=&quot;Bd&quot;</span> <span style="color:#ff0000;">Property</span><span style="color:#0000ff;">=&quot;Background&quot;</span> <span style="color:#ff0000;">Value</span><span style="color:#0000ff;">=&quot;{StaticResource SelectedBackgroundBrush}&quot;</span><span style="color:#0000ff;">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum73">  73:</span>               <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">Setter</span> <span style="color:#ff0000;">TargetName</span><span style="color:#0000ff;">=&quot;Bd&quot;</span> <span style="color:#ff0000;">Property</span><span style="color:#0000ff;">=&quot;BorderBrush&quot;</span> <span style="color:#ff0000;">Value</span><span style="color:#0000ff;">=&quot;{StaticResource SelectedBackgroundBrush}&quot;</span><span style="color:#0000ff;">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum74">  74:</span>               <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">Setter</span> <span style="color:#ff0000;">Property</span><span style="color:#0000ff;">=&quot;Foreground&quot;</span> <span style="color:#ff0000;">Value</span><span style="color:#0000ff;">=&quot;{StaticResource SelectedBrush}&quot;</span><span style="color:#0000ff;">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum75">  75:</span>               <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">Setter</span> <span style="color:#ff0000;">TargetName</span><span style="color:#0000ff;">=&quot;cbOptions&quot;</span> <span style="color:#ff0000;">Property</span><span style="color:#0000ff;">=&quot;Visibility&quot;</span> <span style="color:#ff0000;">Value</span><span style="color:#0000ff;">=&quot;{Binding MenuVisibility}&quot;</span><span style="color:#0000ff;">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum76">  76:</span>             <span style="color:#0000ff;">&lt;/</span><span style="color:#800000;">Trigger</span><span style="color:#0000ff;">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum77">  77:</span>&#160; </pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum78">  78:</span>             </pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum79">  79:</span>             <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">Trigger</span> <span style="color:#ff0000;">Property</span><span style="color:#0000ff;">=&quot;IsEnabled&quot;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum80">  80:</span>                  <span style="color:#ff0000;">Value</span><span style="color:#0000ff;">=&quot;false&quot;</span><span style="color:#0000ff;">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum81">  81:</span>               <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">Setter</span> <span style="color:#ff0000;">Property</span><span style="color:#0000ff;">=&quot;Foreground&quot;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum82">  82:</span>                   <span style="color:#ff0000;">Value</span><span style="color:#0000ff;">=&quot;{StaticResource DisabledForegroundBrush}&quot;</span><span style="color:#0000ff;">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum83">  83:</span>             <span style="color:#0000ff;">&lt;/</span><span style="color:#800000;">Trigger</span><span style="color:#0000ff;">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum84">  84:</span>           <span style="color:#0000ff;">&lt;/</span><span style="color:#800000;">ControlTemplate.Triggers</span><span style="color:#0000ff;">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum85">  85:</span>         <span style="color:#0000ff;">&lt;/</span><span style="color:#800000;">ControlTemplate</span><span style="color:#0000ff;">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum86">  86:</span>       <span style="color:#0000ff;">&lt;/</span><span style="color:#800000;">Setter.Value</span><span style="color:#0000ff;">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum87">  87:</span>     <span style="color:#0000ff;">&lt;/</span><span style="color:#800000;">Setter</span><span style="color:#0000ff;">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum88">  88:</span>   <span style="color:#0000ff;">&lt;/</span><span style="color:#800000;">Style</span><span style="color:#0000ff;">&gt;</span></pre>
<p><!--CRLF--></div>
</div>
<p>&#160;</p>
<p>And binding content of menu from code-behind.</p>
<div style="border-bottom:silver 1px solid;text-align:left;border-left:silver 1px solid;line-height:12pt;background-color:#f4f4f4;width:97.5%;font-family:&#39;direction:ltr;max-height:200px;font-size:8pt;overflow:auto;border-top:silver 1px solid;cursor:text;border-right:silver 1px solid;margin:20px 0 10px;padding:4px;" id="codeSnippetWrapper">
<div style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0;" id="codeSnippet">
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum1">   1:</span> NavigationItem root = <span style="color:#0000ff;">new</span> NavigationItem();</pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum2">   2:</span>&#160; </pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum3">   3:</span>             NavigationItem mainNode = <span style="color:#0000ff;">new</span> NavigationItem(<span style="color:#006080;">&quot;ForerunnerG34&quot;</span>);</pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum4">   4:</span>&#160; </pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum5">   5:</span>             NavigationItem child = <span style="color:#0000ff;">new</span> NavigationItem(<span style="color:#006080;">&quot;Technologies&quot;</span>);</pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum6">   6:</span>             child.MenuItems.Add(<span style="color:#0000ff;">new</span> NavigationCommand(<span style="color:#006080;">&quot;ASP.NET MVC 2&quot;</span>, <span style="color:#006080;">&quot;Model View Controller&quot;</span>));</pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum7">   7:</span>             child.MenuItems.Add(<span style="color:#0000ff;">new</span> NavigationCommand(<span style="color:#006080;">&quot;Windows Presentation Foundation&quot;</span>, <span style="color:#006080;">&quot;WPF Rocks!&quot;</span>));</pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum8">   8:</span>             child.MenuItems.Add(<span style="color:#0000ff;">new</span> NavigationCommand(<span style="color:#006080;">&quot;Silverlight&quot;</span>,<span style="color:#006080;">&quot;Light the Web&quot;</span>));</pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum9">   9:</span>&#160; </pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum10">  10:</span>             NavigationItem child2 = <span style="color:#0000ff;">new</span> NavigationItem(<span style="color:#006080;">&quot;My Blogs&quot;</span>);</pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum11">  11:</span>             child2.MenuItems.Add(<span style="color:#0000ff;">new</span> NavigationCommand(<span style="color:#006080;">&quot;ForerunnerG34&quot;</span>, <span style="color:#006080;">&quot;forerunnerg34.wordpress.com&quot;</span>));</pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum12">  12:</span>             child2.MenuItems.Add(<span style="color:#0000ff;">new</span> NavigationCommand(<span style="color:#006080;">&quot;Blackout360&quot;</span>, <span style="color:#006080;">&quot;blackout360.wordpress.com&quot;</span>));</pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum13">  13:</span>&#160; </pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum14">  14:</span>             mainNode.Items.Add(child2);</pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum15">  15:</span>             mainNode.Items.Add(child);</pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum16">  16:</span>             </pre>
<p><!--CRLF--></p>
<pre style="text-align:left;line-height:12pt;background-color:white;width:100%;font-family:&#39;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;margin:0;padding:0;"><span style="color:#606060;" id="lnum17">  17:</span>             commandMenu.DataContext = root;</pre>
<p><!--CRLF--></div>
</div>
<p>&#160;</p>
<p align="justify">This a little example of the things you can do with WPF, I hope you find this interesting and encourage you to use WPF in your applications, basically <strong>if you can dream it, you can build it. </strong></p>
<p><a href="http://cid-926d6677262767bd.skydrive.live.com/self.aspx/ForerunnerG34/CommandMenu.zip" target="_blank">Download Source Code</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/forerunnerg34.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/forerunnerg34.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/forerunnerg34.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/forerunnerg34.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/forerunnerg34.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/forerunnerg34.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/forerunnerg34.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/forerunnerg34.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/forerunnerg34.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/forerunnerg34.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/forerunnerg34.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/forerunnerg34.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/forerunnerg34.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/forerunnerg34.wordpress.com/88/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=forerunnerg34.wordpress.com&amp;blog=10081268&amp;post=88&amp;subd=forerunnerg34&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://forerunnerg34.wordpress.com/2010/03/13/wpf-building-a-custom-treeview-with-a-combobox-inside/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7ae4015ed5758b8db26b1663365fba2f?s=96&#38;d=&#38;r=G" medium="image">
			<media:title type="html">ForerunnerG34</media:title>
		</media:content>

		<media:content url="http://forerunnerg34.files.wordpress.com/2010/03/preview_thumb.png" medium="image">
			<media:title type="html">Preview</media:title>
		</media:content>
	</item>
	</channel>
</rss>
