<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;DE8AQnk9fSp7ImA9WhRbEUw.&quot;"><id>tag:blogger.com,1999:blog-61023199121463803</id><updated>2012-02-01T09:20:43.765-08:00</updated><category term="Silverlight ComboBox Controls" /><category term="break point" /><category term="stringFormat" /><category term="xaml" /><category term="panels" /><category term="datatemplate" /><category term="debugging" /><category term="silverlight" /><category term="Wii" /><category term="expression blend" /><category term="animations" /><category term="events" /><category term="format" /><category term="dateTime" /><category term="date" /><category term="event handler" /><category term="string" /><category term="c#" /><category term="visual studio" /><category term="Windows Phone 7" /><category term="dispatcherTimer" /><category term="mouse" /><category term="custom" /><category term="cursor" /><category term="timer" /><category term="tab control" /><category term="best practice" /><category term="resources" /><category term="wpf" /><category term="remoting" /><category term="command line" /><category term="vista" /><title>hmaprk's GUI Blog</title><subtitle type="html">All about GUI's, WPF and Silverlight</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://dotnetgui.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://dotnetgui.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/61023199121463803/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>hmaprk</name><uri>http://www.blogger.com/profile/17148290247104823437</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>54</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/HmaprksGuiBlog" /><feedburner:info uri="hmaprksguiblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;A0IMRnY_cCp7ImA9WhRVGUw.&quot;"><id>tag:blogger.com,1999:blog-61023199121463803.post-5062058833703917031</id><published>2012-01-18T12:46:00.001-08:00</published><updated>2012-01-18T12:46:27.848-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-18T12:46:27.848-08:00</app:edited><title>How to be a Computer Expert!</title><content type="html">&lt;div class="wlWriterHeaderFooter" style="float:right; margin:0px; padding:0px 0px 4px 8px;"&gt;&lt;script type="text/javascript"&gt;digg_url = "http://dotnetgui.blogspot.com/2012/01/how-to-be-computer-expert.html";digg_title = "How to be a Computer Expert!";digg_bgcolor = "#FFFFFF";digg_skin = "normal";&lt;/script&gt;&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;digg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;&lt;/script&gt;&lt;/div&gt;&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;This one is all over the web. Just thought I’d post it here in case you haven’t see it. It sums it up pretty well.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-iXiGCV4Ecvw/TxcvoXrhuoI/AAAAAAAABtI/0h9nmUT1y1o/s1600-h/computer%252520flow%252520chart%25255B4%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="computer flow chart" border="0" alt="computer flow chart" src="http://lh3.ggpht.com/-8EEnqx5sGnc/TxcvoWFCZeI/AAAAAAAABtQ/dQZ9szf1RXw/computer%252520flow%252520chart_thumb%25255B2%25255D.jpg?imgmax=800" width="374" height="431" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:982f44ff-f264-405d-bd4a-2fa5c480f09e" class="wlWriterSmartContent"&gt;BuzzNet Tags: &lt;a href="http://www.buzznet.com/tags/computer+expert" rel="tag"&gt;computer expert&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/flow+chart" rel="tag"&gt;flow chart&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/61023199121463803-5062058833703917031?l=dotnetgui.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/cKaGrS7pw1_b06hlfUBB-ptbEXY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/cKaGrS7pw1_b06hlfUBB-ptbEXY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/cKaGrS7pw1_b06hlfUBB-ptbEXY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/cKaGrS7pw1_b06hlfUBB-ptbEXY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/HmaprksGuiBlog/~4/p5vd49oa6rM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dotnetgui.blogspot.com/feeds/5062058833703917031/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://dotnetgui.blogspot.com/2012/01/how-to-be-computer-expert.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/61023199121463803/posts/default/5062058833703917031?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/61023199121463803/posts/default/5062058833703917031?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/HmaprksGuiBlog/~3/p5vd49oa6rM/how-to-be-computer-expert.html" title="How to be a Computer Expert!" /><author><name>hmaprk</name><uri>http://www.blogger.com/profile/17148290247104823437</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/-8EEnqx5sGnc/TxcvoWFCZeI/AAAAAAAABtQ/dQZ9szf1RXw/s72-c/computer%252520flow%252520chart_thumb%25255B2%25255D.jpg?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://dotnetgui.blogspot.com/2012/01/how-to-be-computer-expert.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE8ERn08eip7ImA9WhRVE0w.&quot;"><id>tag:blogger.com,1999:blog-61023199121463803.post-581768119486045129</id><published>2012-01-11T12:13:00.001-08:00</published><updated>2012-01-11T12:13:27.372-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-11T12:13:27.372-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="wpf" /><category scheme="http://www.blogger.com/atom/ns#" term="datatemplate" /><category scheme="http://www.blogger.com/atom/ns#" term="tab control" /><title>How to Change the Font Size of a WPF Tab Control’s Header</title><content type="html">&lt;p&gt;To change the font size of the tab header of a wpf tab control you have to redefine the ItemTemplate property of the Tab Control.&lt;/p&gt;  &lt;p&gt;This is a question I have heard a lot, so I decided to blog about it for those of you needing to do the same thing. Here is a code sample.&lt;/p&gt;  &lt;p&gt;&amp;lt;DataTemplate x:Key=”temp”&amp;gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&amp;lt;TextBlock Text=”{Binding}” FontSize=”20”/&amp;gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;lt;/DataTemplate&amp;gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;lt;TabControl …. ItemTemplate=”{DynamicResource temp}”/&amp;gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;That’s all there is to it.&lt;/p&gt;  &lt;p&gt;Happy Coding!&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:3821c63e-e386-4cb2-a54d-d589af083be0" class="wlWriterEditableSmartContent"&gt;43 Things Tags: &lt;a href="http://www.43things.com/tag/wpf" rel="tag"&gt;wpf&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/tabControl" rel="tag"&gt;tabControl&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/tab" rel="tag"&gt;tab&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/tab+header" rel="tag"&gt;tab header&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/datatemplate" rel="tag"&gt;datatemplate&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/tabControl+itemtemplate" rel="tag"&gt;tabControl itemtemplate&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/wpf+tab+header" rel="tag"&gt;wpf tab header&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/tab+control+header" rel="tag"&gt;tab control header&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/61023199121463803-581768119486045129?l=dotnetgui.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/eYmcyTMIRv3MkVri-O6Xbn9PeBQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eYmcyTMIRv3MkVri-O6Xbn9PeBQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/eYmcyTMIRv3MkVri-O6Xbn9PeBQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eYmcyTMIRv3MkVri-O6Xbn9PeBQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/HmaprksGuiBlog/~4/xWxeBqYXMVo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dotnetgui.blogspot.com/feeds/581768119486045129/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://dotnetgui.blogspot.com/2012/01/how-to-change-font-size-of-wpf-tab.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/61023199121463803/posts/default/581768119486045129?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/61023199121463803/posts/default/581768119486045129?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/HmaprksGuiBlog/~3/xWxeBqYXMVo/how-to-change-font-size-of-wpf-tab.html" title="How to Change the Font Size of a WPF Tab Control’s Header" /><author><name>hmaprk</name><uri>http://www.blogger.com/profile/17148290247104823437</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://dotnetgui.blogspot.com/2012/01/how-to-change-font-size-of-wpf-tab.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEDRnw-cCp7ImA9WhRQGEU.&quot;"><id>tag:blogger.com,1999:blog-61023199121463803.post-5988658003994594209</id><published>2011-12-14T09:27:00.001-08:00</published><updated>2011-12-14T09:27:57.258-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-14T09:27:57.258-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="command line" /><category scheme="http://www.blogger.com/atom/ns#" term="remoting" /><title>Reboot from the Command Line</title><content type="html">&lt;p&gt;I often use a remote desktop connection to work on my desktop from my laptop. This is very handy, but there are some limitations. One such limitation is the lack of ability to reboot the machine you are remoting into. The option is not available within the start menu when you are remoting. There are some instances, though, when you really need to reboot. If you find yourself in this situation, you can reboot via the command line. Here is the command to do it.&lt;/p&gt;  &lt;p&gt;shutdown /r /t 01&lt;/p&gt;  &lt;p&gt;Happy Remoting!&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:89a54b7d-e5fa-42fc-b49c-4a9a4936fa7c" class="wlWriterEditableSmartContent"&gt;43 Things Tags: &lt;a href="http://www.43things.com/tag/command+line" rel="tag"&gt;command line&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/msdos" rel="tag"&gt;msdos&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/cmd" rel="tag"&gt;cmd&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/remote" rel="tag"&gt;remote&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/remoting" rel="tag"&gt;remoting&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/remote+desktop+connection" rel="tag"&gt;remote desktop connection&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/desktop+sharing" rel="tag"&gt;desktop sharing&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/shutdown" rel="tag"&gt;shutdown&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/reboot" rel="tag"&gt;reboot&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/MSDOS" rel="tag"&gt;MSDOS&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/DOS" rel="tag"&gt;DOS&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/61023199121463803-5988658003994594209?l=dotnetgui.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/5LhkVSiN-3EQDITQ_bJWKP8ZRJo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5LhkVSiN-3EQDITQ_bJWKP8ZRJo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/5LhkVSiN-3EQDITQ_bJWKP8ZRJo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5LhkVSiN-3EQDITQ_bJWKP8ZRJo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/HmaprksGuiBlog/~4/ZfDhSOzmo1g" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dotnetgui.blogspot.com/feeds/5988658003994594209/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://dotnetgui.blogspot.com/2011/12/reboot-from-command-line.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/61023199121463803/posts/default/5988658003994594209?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/61023199121463803/posts/default/5988658003994594209?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/HmaprksGuiBlog/~3/ZfDhSOzmo1g/reboot-from-command-line.html" title="Reboot from the Command Line" /><author><name>hmaprk</name><uri>http://www.blogger.com/profile/17148290247104823437</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://dotnetgui.blogspot.com/2011/12/reboot-from-command-line.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DE4FRHk8cCp7ImA9WhRRFUw.&quot;"><id>tag:blogger.com,1999:blog-61023199121463803.post-8188636355993036852</id><published>2011-11-28T13:48:00.001-08:00</published><updated>2011-11-28T13:48:35.778-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-28T13:48:35.778-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="resources" /><category scheme="http://www.blogger.com/atom/ns#" term="wpf" /><category scheme="http://www.blogger.com/atom/ns#" term="xaml" /><title>How to Create a Simple Splash Screen in WPF</title><content type="html">&lt;div class="wlWriterHeaderFooter" style="float:right; margin:0px; padding:0px 0px 4px 8px;"&gt;&lt;script type="text/javascript"&gt;digg_url = "http://dotnetgui.blogspot.com/2011/11/how-to-create-simple-splash-screen-in.html";digg_title = "How to Create a Simple Splash Screen in WPF";digg_bgcolor = "#FFFFFF";digg_skin = "normal";&lt;/script&gt;&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;digg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;&lt;/script&gt;&lt;/div&gt;&lt;p&gt;I have posted on this topic before, but I thought I would re-post with a step by step tutorial for those who are very new to wpf. Sorry to those of you who are more veterans. I will post more advanced topics soon, but this one’s for the newbies.&lt;/p&gt;  &lt;p&gt;Here goes…&lt;/p&gt;  &lt;p&gt;WPF makes creating a splash screen fairly simple. All you need to do is embed an image file into your project and change the Build Action on it.&lt;/p&gt;  &lt;p&gt;Here is a step-by-step tutorial on how to do this.&lt;/p&gt;  &lt;p&gt;Step 1) Create your application.   &lt;br /&gt;Here is the xaml for my very complicated application:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-Z-pOeOvfcU8/TtQBotUPDII/AAAAAAAABmM/sgcInolfrLU/s1600-h/image%25255B12%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/-43d7Y1XVSbc/TtQBpHkDR2I/AAAAAAAABmU/sEuvuyvnxa4/image_thumb%25255B4%25255D.png?imgmax=800" width="317" height="145" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Step 2) Add an image file to your application. PNG files with transparent backgrounds are supported and are often a good choice for splash screens. Here is the image I created in Photoshop… nice huh?&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-5oRup-yDdf4/TtQBpjiUWEI/AAAAAAAABmc/Dd7-KOrGUt0/s1600-h/image%25255B8%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/-9E7uGq6c08g/TtQBpycpQeI/AAAAAAAABmk/SnHj7vfLBwQ/image_thumb%25255B2%25255D.png?imgmax=800" width="244" height="137" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Step 3) Right click on the image file in the solution explorer and click on Properties&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-kZEvcXAyV8E/TtQBqbLcjQI/AAAAAAAABms/nl_SBYbAjAk/s1600-h/image%25255B2%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/-NGZPOJxCTW4/TtQBq62LNjI/AAAAAAAABm0/zfgiNdxccfs/image_thumb.png?imgmax=800" width="216" height="244" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Step 4) Set the Build Action to SplashScreen in the Properties panel&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-IZ_Mr84IE_I/TtQBrKxyApI/AAAAAAAABm8/97RtQU5RjjA/s1600-h/image%25255B5%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/-x-08BQpsvxY/TtQBrVBbsYI/AAAAAAAABnE/yNn7G-0uQgI/image_thumb%25255B1%25255D.png?imgmax=800" width="244" height="165" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Step 5) Build and run the application. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;You should now see your image splash before the application is loaded. I managed to get a screenshot as the splash screen was fading out and my application was starting to fade in.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-JgVD9Usn-yU/TtQBr_6yQ3I/AAAAAAAABnM/8su4_TVIQ70/s1600-h/image%25255B15%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/-5U5TFCoJQ74/TtQBsUtaM1I/AAAAAAAABnU/0IX_IpbN70k/image_thumb%25255B5%25255D.png?imgmax=800" width="244" height="182" /&gt;&lt;/a&gt;&lt;/p&gt;          &lt;p&gt;That’s all there is to it. It is very simple. There are other ways to show and hide your splashcreen in code, but I won’t get into that in this post. I just wanted to keep it simple for those of you new to SplashScreens in wpf. Happy Splash Screening!&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:f985f0c1-cf79-4623-89e6-717f43d3f384" class="wlWriterSmartContent"&gt;del.icio.us Tags: &lt;a href="http://del.icio.us/popular/wpf" rel="tag"&gt;wpf&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/splashscreen" rel="tag"&gt;splashscreen&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/splash+screen" rel="tag"&gt;splash screen&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/image" rel="tag"&gt;image&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/xaml" rel="tag"&gt;xaml&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/resource" rel="tag"&gt;resource&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/61023199121463803-8188636355993036852?l=dotnetgui.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/RXxjXT-W2UqyS3JEGqySUCFPDTc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/RXxjXT-W2UqyS3JEGqySUCFPDTc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/RXxjXT-W2UqyS3JEGqySUCFPDTc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/RXxjXT-W2UqyS3JEGqySUCFPDTc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/HmaprksGuiBlog/~4/6ONYIlVJI40" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dotnetgui.blogspot.com/feeds/8188636355993036852/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://dotnetgui.blogspot.com/2011/11/how-to-create-simple-splash-screen-in.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/61023199121463803/posts/default/8188636355993036852?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/61023199121463803/posts/default/8188636355993036852?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/HmaprksGuiBlog/~3/6ONYIlVJI40/how-to-create-simple-splash-screen-in.html" title="How to Create a Simple Splash Screen in WPF" /><author><name>hmaprk</name><uri>http://www.blogger.com/profile/17148290247104823437</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/-43d7Y1XVSbc/TtQBpHkDR2I/AAAAAAAABmU/sEuvuyvnxa4/s72-c/image_thumb%25255B4%25255D.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://dotnetgui.blogspot.com/2011/11/how-to-create-simple-splash-screen-in.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEFQXg-eip7ImA9WhdbEE0.&quot;"><id>tag:blogger.com,1999:blog-61023199121463803.post-1598545434430740511</id><published>2011-10-07T09:04:00.001-07:00</published><updated>2011-10-07T09:06:50.652-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-07T09:06:50.652-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="wpf" /><category scheme="http://www.blogger.com/atom/ns#" term="xaml" /><title>Wpf and the invisible checkbox (and radio button)</title><content type="html">&lt;div class="wlWriterHeaderFooter" style="float:right; margin:0px; padding:0px 0px 4px 8px;"&gt;&lt;script type="text/javascript"&gt;digg_url = "http://dotnetgui.blogspot.com/2011/10/wpf-and-invisible-checkbox-and-radio.html";digg_title = "Wpf and the invisible checkbox (and radio button)";digg_bgcolor = "#FFFFFF";digg_skin = "normal";&lt;/script&gt;&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;digg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;&lt;/script&gt;&lt;/div&gt;&lt;p&gt;Just ran into another strange wpf bug. This one involves checkboxes and radiobuttons. I was working on a login screen that has a couple of checkboxes for remembering the username and password. The code looked like this…&lt;/p&gt; &lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;StackPanel &lt;/span&gt;&lt;span style="color: red"&gt;HorizontalAlignment&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;Left&amp;quot; &lt;/span&gt;&lt;span style="color: red"&gt;Orientation&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;Horizontal&amp;quot;&amp;gt;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;CheckBox&lt;/span&gt;&lt;span style="color: #a31515"&gt; &lt;/span&gt;&lt;span style="color: red"&gt;Content&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;Username&amp;quot; &lt;/span&gt;&lt;span style="color: red"&gt;Foreground&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;White&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;quot;/&amp;gt;    &lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;&lt;span style="color: blue"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;CheckBox &lt;/span&gt;&lt;span style="color: red"&gt;Content&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;Password&amp;quot; &lt;/span&gt;&lt;span style="color: red"&gt;Foreground&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;White&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;quot;/&amp;gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;   &lt;br /&gt;&lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;StackPanel&amp;gt; &lt;/span&gt;&lt;/span&gt;  &lt;p&gt;These checboxes were on a dark colored panel, so the white text showed up nicely. Running the app on my Windows 7 box worked fine, but when I ran the app on a Windows XP box, you could not see the check mark inside the box when the user clicked on it. The control still worked, but the check was just invisible. Actually, it wasn’t invisible, it was just a white checkmark on a white box (aka… invisible). This is a wpf/windows xp/checkbox bug. In Windows XP, when the foreground color is changed, the checkmark picks up that color change… why? you ask?… I don’t know. But, here is a workaround for this situation. Simply put labels with the white foreground as the content for your checkboxes. Now the foreground color of the checkbox is still the default (black) color and the checkmark will be visible for those running the app in Windows XP. Here is the modified code.&lt;/p&gt;  &lt;blockquote&gt;   &lt;pre class="code"&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;StackPanel &lt;/span&gt;&lt;span style="color: red"&gt;HorizontalAlignment&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;Left&amp;quot;  &lt;/span&gt;&lt;span style="color: red"&gt;Orientation&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;Horizontal&amp;quot;&amp;gt;&lt;br /&gt;     &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;CheckBox&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br /&gt;          &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Label &lt;/span&gt;&lt;span style="color: red"&gt;Content&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;Username&amp;quot; &lt;/span&gt;&lt;span style="color: red"&gt;Foreground&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;White&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;quot;/&amp;gt;&lt;br /&gt;     &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;CheckBox&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br /&gt;&lt;span style="color: blue"&gt;     &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;CheckBox&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br /&gt;          &lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Label &lt;/span&gt;&lt;span style="color: red"&gt;Content&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;Password&amp;quot; &lt;/span&gt;&lt;span style="color: red"&gt;Foreground&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;White&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;quot;/&amp;gt; &lt;br /&gt;     &lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;&lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;CheckBox&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;&lt;span style="color: blue"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;  &lt;br /&gt;&lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;StackPanel&amp;gt; &lt;/span&gt;     &lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;I have also seen this issue with radiobuttons. Use the same workaround for that and you should be good to go. &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;I hope this helps. If it does, feel free to leave a comment. Thanks!&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:8570d890-0eea-470b-aab4-42829a56faf0" class="wlWriterSmartContent"&gt;43 Things Tags: &lt;a href="http://www.43things.com/tag/wpf" rel="tag"&gt;wpf&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/windows+xp" rel="tag"&gt;windows xp&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/radiobutton" rel="tag"&gt;radiobutton&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/checkbox" rel="tag"&gt;checkbox&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/wpf+checkbox+bug" rel="tag"&gt;wpf checkbox bug&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/wpf+windows+xp+checkbox+bug" rel="tag"&gt;wpf windows xp checkbox bug&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/wpf+radiobutton+bug" rel="tag"&gt;wpf radiobutton bug&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/invisible+checkbox" rel="tag"&gt;invisible checkbox&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/invisible+radiobutton" rel="tag"&gt;invisible radiobutton&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/61023199121463803-1598545434430740511?l=dotnetgui.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/XC5kpKSDvWK8wpKRUZ2PGJBYJpQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/XC5kpKSDvWK8wpKRUZ2PGJBYJpQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/XC5kpKSDvWK8wpKRUZ2PGJBYJpQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/XC5kpKSDvWK8wpKRUZ2PGJBYJpQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/HmaprksGuiBlog/~4/AYWMAH_0Hn0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dotnetgui.blogspot.com/feeds/1598545434430740511/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://dotnetgui.blogspot.com/2011/10/wpf-and-invisible-checkbox-and-radio.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/61023199121463803/posts/default/1598545434430740511?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/61023199121463803/posts/default/1598545434430740511?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/HmaprksGuiBlog/~3/AYWMAH_0Hn0/wpf-and-invisible-checkbox-and-radio.html" title="Wpf and the invisible checkbox (and radio button)" /><author><name>hmaprk</name><uri>http://www.blogger.com/profile/17148290247104823437</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://dotnetgui.blogspot.com/2011/10/wpf-and-invisible-checkbox-and-radio.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUcNRXoyfyp7ImA9WhdRFUg.&quot;"><id>tag:blogger.com,1999:blog-61023199121463803.post-1129494736455050698</id><published>2011-08-05T08:11:00.001-07:00</published><updated>2011-08-05T08:11:34.497-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-05T08:11:34.497-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="c#" /><title>Launching the Default Email Client</title><content type="html">&lt;div class="wlWriterHeaderFooter" style="float:right; margin:0px; padding:0px 0px 4px 8px;"&gt;&lt;script type="text/javascript"&gt;digg_url = "http://dotnetgui.blogspot.com/2011/08/launching-default-email-client.html";digg_title = "Launching the Default Email Client";digg_bgcolor = "#FFFFFF";digg_skin = "normal";&lt;/script&gt;&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;digg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;&lt;/script&gt;&lt;/div&gt;&lt;p&gt;I was asked to write some code to send an email through the default email client and I was pleasantly surprised as to how easy it was to do. I had never done this before, so it was a learning experience for me, so I thought I’d share it with all of you.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;string toEmail = &amp;quot;from@email.com&amp;quot;;     &lt;br /&gt;string subject = &amp;quot;Test Subject&amp;quot;;      &lt;br /&gt;string body = &amp;quot;test email message text&amp;quot;;      &lt;br /&gt;string message =      &lt;br /&gt;string.Format(&amp;quot;mailto:{0}?subject={1}&amp;amp;body={2}&amp;quot;,toEmail, subject, body);      &lt;br /&gt;Process.Start(message);&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;So that should do it. It’s pretty simple. When you run this code, you should see the default email client launch with the appropriate fields filled in.&lt;/p&gt;  &lt;p&gt;Cheers!&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:b8146a71-6262-46ad-a10f-caeb015fe875" class="wlWriterSmartContent"&gt;43 Things Tags: &lt;a href="http://www.43things.com/tag/c%23" rel="tag"&gt;c#&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/email" rel="tag"&gt;email&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/email+client" rel="tag"&gt;email client&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/send+mail" rel="tag"&gt;send mail&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/send+mail+in+code" rel="tag"&gt;send mail in code&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/61023199121463803-1129494736455050698?l=dotnetgui.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/kPqm38iuE7JcMjxvTgmEVjIi-1I/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/kPqm38iuE7JcMjxvTgmEVjIi-1I/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/kPqm38iuE7JcMjxvTgmEVjIi-1I/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/kPqm38iuE7JcMjxvTgmEVjIi-1I/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/HmaprksGuiBlog/~4/jhIcM-rdIGY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dotnetgui.blogspot.com/feeds/1129494736455050698/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://dotnetgui.blogspot.com/2011/08/launching-default-email-client.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/61023199121463803/posts/default/1129494736455050698?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/61023199121463803/posts/default/1129494736455050698?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/HmaprksGuiBlog/~3/jhIcM-rdIGY/launching-default-email-client.html" title="Launching the Default Email Client" /><author><name>hmaprk</name><uri>http://www.blogger.com/profile/17148290247104823437</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://dotnetgui.blogspot.com/2011/08/launching-default-email-client.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEYDRn0-eCp7ImA9WhZbFUQ.&quot;"><id>tag:blogger.com,1999:blog-61023199121463803.post-8176448827199212677</id><published>2011-06-20T11:54:00.000-07:00</published><updated>2011-06-20T11:56:17.350-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-06-20T11:56:17.350-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Windows Phone 7" /><title>First WP7 App</title><content type="html">&lt;div class="wlWriterHeaderFooter" style="float:right; margin:0px; padding:0px 0px 4px 8px;"&gt;&lt;script type="text/javascript"&gt;digg_url = "http://dotnetgui.blogspot.com/2011/06/first-wp7-app.html";digg_title = "First WP7 App";digg_bgcolor = "#FFFFFF";digg_skin = "normal";&lt;/script&gt;&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;digg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;&lt;/script&gt;&lt;/div&gt;&lt;p&gt;Hey everyone. I decided to try some Windows Phone 7 development to see how easy or hard it is. So far, I have found it to be pretty easy since I’m a WPF and Silverlight developer. If you are a .Net developer and are interested in mobile development, I would highly encourage you to give WP7 development a try. &lt;/p&gt;  &lt;p&gt;Here is a very simple application I wrote just to get my feet wet with WP7 development. It’s available as a free download in the marketplace, so if you have a Windows Phone 7 device, give it a shot and let me know what you think. Again, it is an extremely simple application, but if you are a baseball fan, it should be useful. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-C8Jwdz4mars/Tf-XtcGRM5I/AAAAAAAABjg/W4M97LRI610/s1600-h/LargePcAppTile%25255B2%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="LargePcAppTile" border="0" alt="LargePcAppTile" src="http://lh6.ggpht.com/-UjTuMWhnvxM/Tf-XtsxohMI/AAAAAAAABjk/hXyTJs-5wrI/LargePcAppTile_thumb.png?imgmax=800" width="204" height="204" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-PD0v3N8JD4g/Tf-XuVuM3ZI/AAAAAAAABjo/xa92iZwa4MU/s1600-h/screenshot1%25255B3%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="screenshot1" border="0" alt="screenshot1" src="http://lh5.ggpht.com/-SV20PwXAwA0/Tf-XumT70UI/AAAAAAAABjs/3BuDtMGeBGA/screenshot1_thumb%25255B1%25255D.png?imgmax=800" width="230" height="387" /&gt;&lt;/a&gt;&lt;a href="http://lh5.ggpht.com/-tlCbtjF04Xo/Tf-XvEQhi2I/AAAAAAAABjw/Tez0nmckLI4/s1600-h/screenshot2%25255B3%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="screenshot2" border="0" alt="screenshot2" src="http://lh3.ggpht.com/-SiR-ocHflQs/Tf-XzU7GZjI/AAAAAAAABj0/I08_gPJ373k/screenshot2_thumb%25255B1%25255D.png?imgmax=800" width="231" height="389" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;Let me know what you think.&lt;/p&gt;  &lt;p&gt;Thanks!&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:34f9b9b0-f9ee-4089-bb07-0f4affc27cfa" class="wlWriterSmartContent"&gt;del.icio.us Tags: &lt;a href="http://del.icio.us/popular/windows+phone+7" rel="tag"&gt;windows phone 7&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/wp7" rel="tag"&gt;wp7&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/baseball" rel="tag"&gt;baseball&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/mobile" rel="tag"&gt;mobile&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/cell" rel="tag"&gt;cell&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/ui" rel="tag"&gt;ui&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/pitch+counter" rel="tag"&gt;pitch counter&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/app" rel="tag"&gt;app&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/mobile+app" rel="tag"&gt;mobile app&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/application" rel="tag"&gt;application&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/61023199121463803-8176448827199212677?l=dotnetgui.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/-fUY0oomfrAlEDzeU2BxkhAiT3U/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-fUY0oomfrAlEDzeU2BxkhAiT3U/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/-fUY0oomfrAlEDzeU2BxkhAiT3U/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-fUY0oomfrAlEDzeU2BxkhAiT3U/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/HmaprksGuiBlog/~4/6_Qyj4-PAQQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dotnetgui.blogspot.com/feeds/8176448827199212677/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://dotnetgui.blogspot.com/2011/06/first-wp7-app.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/61023199121463803/posts/default/8176448827199212677?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/61023199121463803/posts/default/8176448827199212677?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/HmaprksGuiBlog/~3/6_Qyj4-PAQQ/first-wp7-app.html" title="First WP7 App" /><author><name>hmaprk</name><uri>http://www.blogger.com/profile/17148290247104823437</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/-UjTuMWhnvxM/Tf-XtsxohMI/AAAAAAAABjk/hXyTJs-5wrI/s72-c/LargePcAppTile_thumb.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://dotnetgui.blogspot.com/2011/06/first-wp7-app.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0cHQ3k9fyp7ImA9WhZbFUQ.&quot;"><id>tag:blogger.com,1999:blog-61023199121463803.post-4359387404431929255</id><published>2011-06-20T11:37:00.001-07:00</published><updated>2011-06-20T11:37:12.767-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-06-20T11:37:12.767-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="wpf" /><title>WPF Selected Treeview Item Background</title><content type="html">&lt;div class="wlWriterHeaderFooter" style="float:right; margin:0px; padding:0px 0px 4px 8px;"&gt;&lt;script type="text/javascript"&gt;digg_url = "http://dotnetgui.blogspot.com/2011/06/wpf-selected-treeview-item-background.html";digg_title = "WPF Selected Treeview Item Background";digg_bgcolor = "#FFFFFF";digg_skin = "normal";&lt;/script&gt;&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;digg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;&lt;/script&gt;&lt;/div&gt;&lt;p&gt;This one took me a while to figure out, so I thought I’d share it with everyone. If you have a treeview item and don’t want the selected item to be that ugly blue color, you can easily change it.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;All you need to do is add this line of code into your Treeview. In this particular example, I didn’t want the selected item to be colored at all, so I set the color to Transparent, but you can enter other colors here to suit your app’s needs.&lt;/p&gt;  &lt;p&gt;Hope this helps. Happy coding!&lt;/p&gt;   &lt;pre class="code"&gt;&lt;span style="color: blue"&gt;                    &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;TreeView.Resources&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br /&gt;                        &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;SolidColorBrush &lt;/span&gt;&lt;span style="color: red"&gt;Color&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;Transparent&amp;quot; &lt;/span&gt;&lt;span style="color: red"&gt;x&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: red"&gt;Key&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;{&lt;/span&gt;&lt;span style="color: #a31515"&gt;x&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;Static &lt;/span&gt;&lt;span style="color: red"&gt;SystemColors&lt;/span&gt;&lt;span style="color: blue"&gt;.HighlightBrushKey}&amp;quot;/&amp;gt;&lt;br /&gt;                    &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;TreeView.Resources&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:c8c17927-2660-4a15-bace-660288f430ca" class="wlWriterSmartContent"&gt;del.icio.us Tags: &lt;a href="http://del.icio.us/popular/wpf" rel="tag"&gt;wpf&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/treeview+item" rel="tag"&gt;treeview item&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/treeeview" rel="tag"&gt;treeeview&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/treeview+item+style" rel="tag"&gt;treeview item style&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/background" rel="tag"&gt;background&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/selected+item+background" rel="tag"&gt;selected item background&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/ui" rel="tag"&gt;ui&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/61023199121463803-4359387404431929255?l=dotnetgui.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/xYgm2BF6NcndAfpl85ofRhulzeI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xYgm2BF6NcndAfpl85ofRhulzeI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/xYgm2BF6NcndAfpl85ofRhulzeI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xYgm2BF6NcndAfpl85ofRhulzeI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/HmaprksGuiBlog/~4/mHExpL7fUbM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dotnetgui.blogspot.com/feeds/4359387404431929255/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://dotnetgui.blogspot.com/2011/06/wpf-selected-treeview-item-background.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/61023199121463803/posts/default/4359387404431929255?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/61023199121463803/posts/default/4359387404431929255?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/HmaprksGuiBlog/~3/mHExpL7fUbM/wpf-selected-treeview-item-background.html" title="WPF Selected Treeview Item Background" /><author><name>hmaprk</name><uri>http://www.blogger.com/profile/17148290247104823437</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://dotnetgui.blogspot.com/2011/06/wpf-selected-treeview-item-background.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEIARXk9fSp7ImA9WhZSEEU.&quot;"><id>tag:blogger.com,1999:blog-61023199121463803.post-6830925867597259133</id><published>2011-03-25T12:49:00.000-07:00</published><updated>2011-03-25T12:49:04.765-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-25T12:49:04.765-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="format" /><category scheme="http://www.blogger.com/atom/ns#" term="stringFormat" /><category scheme="http://www.blogger.com/atom/ns#" term="dateTime" /><category scheme="http://www.blogger.com/atom/ns#" term="xaml" /><category scheme="http://www.blogger.com/atom/ns#" term="string" /><category scheme="http://www.blogger.com/atom/ns#" term="date" /><title>Great DateTime SringFormat Link</title><content type="html">Just wanted to pass along a great link that has helped me out in the past&lt;br /&gt;
&lt;a href="http://www.dotnetperls.com/datetime-format"&gt;http://www.dotnetperls.com/datetime-format&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/61023199121463803-6830925867597259133?l=dotnetgui.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/-KjAkg7ESARugCXX3DIHGR8B6SQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-KjAkg7ESARugCXX3DIHGR8B6SQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/-KjAkg7ESARugCXX3DIHGR8B6SQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-KjAkg7ESARugCXX3DIHGR8B6SQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/HmaprksGuiBlog/~4/mROGZSWnkkI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dotnetgui.blogspot.com/feeds/6830925867597259133/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://dotnetgui.blogspot.com/2011/03/great-datetime-sringformat-link.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/61023199121463803/posts/default/6830925867597259133?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/61023199121463803/posts/default/6830925867597259133?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/HmaprksGuiBlog/~3/mROGZSWnkkI/great-datetime-sringformat-link.html" title="Great DateTime SringFormat Link" /><author><name>hmaprk</name><uri>http://www.blogger.com/profile/17148290247104823437</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://dotnetgui.blogspot.com/2011/03/great-datetime-sringformat-link.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0MMRno4fip7ImA9Wx9VFko.&quot;"><id>tag:blogger.com,1999:blog-61023199121463803.post-4818193501739579855</id><published>2011-02-02T10:31:00.001-08:00</published><updated>2011-02-02T10:31:27.436-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-02T10:31:27.436-08:00</app:edited><title>How to Properly Sort on a WPF DataGrid Column in Code</title><content type="html">&lt;div class="wlWriterHeaderFooter" style="float:right; margin:0px; padding:0px 0px 4px 8px;"&gt;&lt;script type="text/javascript"&gt;digg_url = "http://dotnetgui.blogspot.com/2011/02/how-to-properly-sort-on-wpf-datagrid.html";digg_title = "How to Properly Sort on a WPF DataGrid Column in Code";digg_bgcolor = "#FFFFFF";digg_skin = "normal";&lt;/script&gt;&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;digg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;&lt;/script&gt;&lt;/div&gt;&lt;p&gt;There are a lot of blog posts and articles out there on how to apply a sort to a datagrid in code, but there are very few out there that show you how to do it properly. Most of the posts I ran into show you how to apply the sort, but the column header does not update properly. The items are sorted, but the sort indicator (tiny triangle on the header) &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_xN_jEPjPuqY/TUmi-96t3nI/AAAAAAAABeY/0FxWFJwBRNI/s1600-h/image%5B2%5D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_xN_jEPjPuqY/TUmi_dTwtQI/AAAAAAAABec/XPj8WPccSDU/image_thumb.png?imgmax=800" width="137" height="52" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Does not appear. This can be really confusing especially if you have already sorted by another column by clicking on the column header. This makes the sort indicator appear on that column, but if you sort by a different one in the code behind, the sort indicator still shows that the grid is sorted by the first column (Thanks WPF DataGrid! Nice one!)&lt;/p&gt;  &lt;p&gt;Well, there is a way to get it working properly. Here it is.&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; private void applySortDescriptions(DataGridColumn col, ListSortDirection listSortDirection)   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //Clear current sort descriptions    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; MyDataGrid.Items.SortDescriptions.Clear();&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //Get property name to apply sort based on desired column   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; string propertyName = getSortPropertyName(col);&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //Add the new sort description   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; MyDataGrid.Items.SortDescriptions.Add(new SortDescription(propertyName, listSortDirection));    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //apply sort    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; applySortDirection(col, listSortDirection);&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //refresh items to display sort    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; MyDataGrid.Items.Refresh();    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; private string getSortPropertyName(DataGridColumn col)   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; //place logic in here that will return the name of the property to sort by (ex: return “name”; if you are sorting by the name property)&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return string.Empty;   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; private void applySortDirection(DataGridColumn col, ListSortDirection listSortDirection)   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; foreach (DataGridColumn c in PatientsViewDatGrid.Columns)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; c.SortDirection = null;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; col.SortDirection = listSortDirection;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;  &lt;p&gt;That should do it. Now you can sort and the column headers will show the sort indicator appropriately.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/61023199121463803-4818193501739579855?l=dotnetgui.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/N3fn0QhqUlLGgAnxf8VHK28Q0n0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/N3fn0QhqUlLGgAnxf8VHK28Q0n0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/N3fn0QhqUlLGgAnxf8VHK28Q0n0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/N3fn0QhqUlLGgAnxf8VHK28Q0n0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/HmaprksGuiBlog/~4/iwW40gqLl0c" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dotnetgui.blogspot.com/feeds/4818193501739579855/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://dotnetgui.blogspot.com/2011/02/how-to-properly-sort-on-wpf-datagrid.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/61023199121463803/posts/default/4818193501739579855?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/61023199121463803/posts/default/4818193501739579855?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/HmaprksGuiBlog/~3/iwW40gqLl0c/how-to-properly-sort-on-wpf-datagrid.html" title="How to Properly Sort on a WPF DataGrid Column in Code" /><author><name>hmaprk</name><uri>http://www.blogger.com/profile/17148290247104823437</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/_xN_jEPjPuqY/TUmi_dTwtQI/AAAAAAAABec/XPj8WPccSDU/s72-c/image_thumb.png?imgmax=800" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://dotnetgui.blogspot.com/2011/02/how-to-properly-sort-on-wpf-datagrid.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C04MQn4_fCp7ImA9Wx9XEEo.&quot;"><id>tag:blogger.com,1999:blog-61023199121463803.post-3558896846899448597</id><published>2011-01-03T08:26:00.001-08:00</published><updated>2011-01-03T08:26:23.044-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-03T08:26:23.044-08:00</app:edited><title>How to Create a Splash Screen for a WPF App</title><content type="html">&lt;div class="wlWriterHeaderFooter" style="float:right; margin:0px; padding:0px 0px 4px 8px;"&gt;&lt;script type="text/javascript"&gt;digg_url = "http://dotnetgui.blogspot.com/2011/01/how-to-create-splash-screen-for-wpf-app.html";digg_title = "How to Create a Splash Screen for a WPF App";digg_bgcolor = "#FFFFFF";digg_skin = "normal";&lt;/script&gt;&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;digg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;&lt;/script&gt;&lt;/div&gt;&lt;p&gt;Creating a Splash Screen for a WPF application is extremely simple. Simply add your image into your project and set the build action to SplashScreen.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_xN_jEPjPuqY/TSH4pvv7EfI/AAAAAAAABcA/Ybeq0eLqzgs/s1600-h/image%5B2%5D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_xN_jEPjPuqY/TSH4qXhxlEI/AAAAAAAABcE/6C3J8FeerpU/image_thumb.png?imgmax=800" width="244" height="200" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;That’s pretty much all it takes. When you start up your application, you will see your splash screen image appear while the application is initializing.&lt;/p&gt;  &lt;p&gt;You can also add a a new item to your project and select SplashScreen from the available templates&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_xN_jEPjPuqY/TSH4q0rTbII/AAAAAAAABcI/8qZZhcfy-lY/s1600-h/image%5B6%5D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_xN_jEPjPuqY/TSH4rKwmpGI/AAAAAAAABcM/zogeXUyjOnc/image_thumb%5B2%5D.png?imgmax=800" width="492" height="348" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;This will add a default image which you can then swap for your own, custom splash screen.&lt;/p&gt;    &lt;p&gt;Yet another approach would just be to use the Splash Screen APIs. You can create a new SplashScreen object and call it’s Show method to display it and it’s Close method to, you guessed it, close it.&lt;/p&gt;  &lt;p&gt;Happy Coding!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;   &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:a478f273-8d6e-4877-999b-4b71d2e91d74" class="wlWriterSmartContent"&gt;del.icio.us Tags: &lt;a href="http://del.icio.us/popular/wpf" rel="tag"&gt;wpf&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/splash+screen" rel="tag"&gt;splash screen&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/wpf+splash+screen" rel="tag"&gt;wpf splash screen&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/xaml" rel="tag"&gt;xaml&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/image" rel="tag"&gt;image&lt;/a&gt;&lt;/div&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/61023199121463803-3558896846899448597?l=dotnetgui.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/euLzqLdLoLMaqZOLHuiKIalhIF8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/euLzqLdLoLMaqZOLHuiKIalhIF8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/euLzqLdLoLMaqZOLHuiKIalhIF8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/euLzqLdLoLMaqZOLHuiKIalhIF8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/HmaprksGuiBlog/~4/Zkt_v6jLg_s" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dotnetgui.blogspot.com/feeds/3558896846899448597/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://dotnetgui.blogspot.com/2011/01/how-to-create-splash-screen-for-wpf-app.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/61023199121463803/posts/default/3558896846899448597?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/61023199121463803/posts/default/3558896846899448597?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/HmaprksGuiBlog/~3/Zkt_v6jLg_s/how-to-create-splash-screen-for-wpf-app.html" title="How to Create a Splash Screen for a WPF App" /><author><name>hmaprk</name><uri>http://www.blogger.com/profile/17148290247104823437</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/_xN_jEPjPuqY/TSH4qXhxlEI/AAAAAAAABcE/6C3J8FeerpU/s72-c/image_thumb.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://dotnetgui.blogspot.com/2011/01/how-to-create-splash-screen-for-wpf-app.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0ACQXs4fSp7ImA9Wx9RFEk.&quot;"><id>tag:blogger.com,1999:blog-61023199121463803.post-3345833894654891274</id><published>2010-12-15T12:42:00.001-08:00</published><updated>2010-12-15T12:42:40.535-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-15T12:42:40.535-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="visual studio" /><category scheme="http://www.blogger.com/atom/ns#" term="wpf" /><category scheme="http://www.blogger.com/atom/ns#" term="xaml" /><title>WPF VisualStateManager GotoState Bug</title><content type="html">&lt;div class="wlWriterHeaderFooter" style="float:right; margin:0px; padding:0px 0px 4px 8px;"&gt;&lt;script type="text/javascript"&gt;digg_url = "http://dotnetgui.blogspot.com/2010/12/wpf-visualstatemanager-gotostate-bug.html";digg_title = "WPF VisualStateManager GotoState Bug";digg_bgcolor = "#FFFFFF";digg_skin = "normal";&lt;/script&gt;&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;digg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;&lt;/script&gt;&lt;/div&gt;&lt;p&gt;So, I just wasted a couple of hours trying to figure this one out so I thought I’d post about it so you guys don’t have to waste as much time as I did on it.&lt;/p&gt;  &lt;p&gt;The WPF VisualStateManager implementation is still not as rock solid as Silverlight’s implementation (ok, let’s face it, Silverlight’s implementation is far from rock solid too, but it is much better of at this point). If you are trying to call the VisualStateManager.GotoState Method on a Window, you are going to be very very frustrated. Why? Because it doesn’t work. If you are inside a user control, it is fine, but inside of a Window… nope!&lt;/p&gt;  &lt;p&gt;Instead of calling this &lt;/p&gt;  &lt;pre class="code"&gt;&lt;span style="color: #2b91af"&gt;VisualStateManager&lt;/span&gt;.GoToState(&lt;span style="color: blue"&gt;this&lt;/span&gt;, &lt;span style="color: #a31515"&gt;&amp;quot;stateName&amp;quot;&lt;/span&gt;, &lt;span style="color: blue"&gt;true&lt;/span&gt;);&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;You are going to need to call this&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;&lt;span style="color: #2b91af"&gt;VisualStateManager&lt;/span&gt;.GoToElementState(&lt;span style="color: blue"&gt;this&lt;/span&gt;.RootElement &lt;span style="color: blue"&gt;as &lt;/span&gt;&lt;span style="color: #2b91af"&gt;FrameworkElement&lt;/span&gt;, &lt;span style="color: #a31515"&gt;&amp;quot;stateName&amp;quot;&lt;/span&gt;, &lt;span style="color: blue"&gt;true&lt;/span&gt;);&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;That should do it for you. Microsoft is aware of the issue and has promised to fix this, but who knows when that’s going to happen.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Happy state-changing!&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&amp;#160;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:c6a8447a-be92-458b-85c7-d0e1214bf973" class="wlWriterSmartContent"&gt;IceRocket Tags: &lt;a href="http://blogs.icerocket.com/search?q=wpf" rel="tag"&gt;wpf&lt;/a&gt;,&lt;a href="http://blogs.icerocket.com/search?q=wpf+visual+state+manager+bug" rel="tag"&gt;wpf visual state manager bug&lt;/a&gt;,&lt;a href="http://blogs.icerocket.com/search?q=vsm" rel="tag"&gt;vsm&lt;/a&gt;,&lt;a href="http://blogs.icerocket.com/search?q=gotostate" rel="tag"&gt;gotostate&lt;/a&gt;,&lt;a href="http://blogs.icerocket.com/search?q=visualstatemanager.gotostate" rel="tag"&gt;visualstatemanager.gotostate&lt;/a&gt;,&lt;a href="http://blogs.icerocket.com/search?q=microsoft" rel="tag"&gt;microsoft&lt;/a&gt;&lt;/div&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/61023199121463803-3345833894654891274?l=dotnetgui.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/yn--opZPhZ2Gd0c29-tXpfSSOBA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/yn--opZPhZ2Gd0c29-tXpfSSOBA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/yn--opZPhZ2Gd0c29-tXpfSSOBA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/yn--opZPhZ2Gd0c29-tXpfSSOBA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/HmaprksGuiBlog/~4/G987w6lz0HE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dotnetgui.blogspot.com/feeds/3345833894654891274/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://dotnetgui.blogspot.com/2010/12/wpf-visualstatemanager-gotostate-bug.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/61023199121463803/posts/default/3345833894654891274?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/61023199121463803/posts/default/3345833894654891274?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/HmaprksGuiBlog/~3/G987w6lz0HE/wpf-visualstatemanager-gotostate-bug.html" title="WPF VisualStateManager GotoState Bug" /><author><name>hmaprk</name><uri>http://www.blogger.com/profile/17148290247104823437</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://dotnetgui.blogspot.com/2010/12/wpf-visualstatemanager-gotostate-bug.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkEFQ385cCp7ImA9Wx9RFE8.&quot;"><id>tag:blogger.com,1999:blog-61023199121463803.post-496063173676519122</id><published>2010-12-15T07:53:00.001-08:00</published><updated>2010-12-15T07:56:52.128-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-15T07:56:52.128-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="resources" /><category scheme="http://www.blogger.com/atom/ns#" term="wpf" /><category scheme="http://www.blogger.com/atom/ns#" term="xaml" /><title>WPF - Accessing Resource Dictionaries in Separate Assemblies</title><content type="html">&lt;div class="wlWriterHeaderFooter" style="float:right; margin:0px; padding:0px 0px 4px 8px;"&gt;&lt;script type="text/javascript"&gt;digg_url = "http://dotnetgui.blogspot.com/2010/12/accessing-resource-dictionaries-in.html";digg_title = "WPF - Accessing Resource Dictionaries in Separate Assemblies";digg_bgcolor = "#FFFFFF";digg_skin = "normal";&lt;/script&gt;&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;digg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;&lt;/script&gt;&lt;/div&gt;&lt;p&gt;There are certain situations where you will need to access resource dictionaries outside of your application. For example, you may want to share one resource dictionary among several applications that share the same styles. &lt;/p&gt;  &lt;p&gt;What you want to do is use WPF’s pack URI Scheme.&lt;/p&gt;  &lt;p&gt;Remember to include a reference of the assembly containing the resource dictionary (YourAssembly) in the application project. Then, all you have to do is use this rather strange looking syntax to access that resource dictionary within your xaml.&lt;/p&gt;  &lt;p&gt;&lt;code&gt;&amp;lt;ResourceDictionary Source=&amp;quot;pack://application:,,,/YourAssembly;component/Subfolder/YourResourceDictionary.xaml&amp;quot;/&amp;gt;&amp;#160; &lt;br /&gt;&lt;/code&gt;&lt;/p&gt;  &lt;p&gt;&lt;code&gt;There are many variations of this syntax that you can use. Which one is right for you depends on exactly what you are trying to do. The above syntax should work for a majority of the situations. Accessing these resources can be done in both xaml and the code behind.&lt;/code&gt;&lt;/p&gt;  &lt;p&gt;&lt;code&gt;For more information on the pack URI Scheme syntax, follow this link:&lt;/code&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="http://msdn.microsoft.com/en-us/library/aa970069(v=vs.85).aspx" href="http://msdn.microsoft.com/en-us/library/aa970069(v=vs.85).aspx"&gt;http://msdn.microsoft.com/en-us/library/aa970069(v=vs.85).aspx&lt;/a&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;  &lt;p&gt;Note - this syntax is not only for resource dictionaries. This is useful for accessing several types of data files like images for example. This is commonly used for accessing resource dictionaries, but it is not limited to that. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;   &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:ba637e82-336b-4965-a74f-4183558639c0" class="wlWriterSmartContent"&gt;BuzzNet Tags: &lt;a href="http://www.buzznet.com/tags/wpf" rel="tag"&gt;wpf&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/windows+presentation+foundation" rel="tag"&gt;windows presentation foundation&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/wpf+pack+uri+scheme" rel="tag"&gt;wpf pack uri scheme&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/pack+uri+syntax" rel="tag"&gt;pack uri syntax&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/resource+dictionaries" rel="tag"&gt;resource dictionaries&lt;/a&gt;&lt;/div&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/61023199121463803-496063173676519122?l=dotnetgui.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/VGJnHpn5-o1rp-BnvIezgkklX2w/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/VGJnHpn5-o1rp-BnvIezgkklX2w/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/VGJnHpn5-o1rp-BnvIezgkklX2w/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/VGJnHpn5-o1rp-BnvIezgkklX2w/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/HmaprksGuiBlog/~4/JQCL-iMoWjY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dotnetgui.blogspot.com/feeds/496063173676519122/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://dotnetgui.blogspot.com/2010/12/accessing-resource-dictionaries-in.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/61023199121463803/posts/default/496063173676519122?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/61023199121463803/posts/default/496063173676519122?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/HmaprksGuiBlog/~3/JQCL-iMoWjY/accessing-resource-dictionaries-in.html" title="WPF - Accessing Resource Dictionaries in Separate Assemblies" /><author><name>hmaprk</name><uri>http://www.blogger.com/profile/17148290247104823437</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://dotnetgui.blogspot.com/2010/12/accessing-resource-dictionaries-in.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C04HQXs9eip7ImA9Wx5SF0w.&quot;"><id>tag:blogger.com,1999:blog-61023199121463803.post-5630158955828709084</id><published>2010-08-13T08:05:00.001-07:00</published><updated>2010-08-13T08:05:30.562-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-13T08:05:30.562-07:00</app:edited><title>Silverlight: Blank Line in TextBlock</title><content type="html">&lt;div class="wlWriterHeaderFooter" style="float:right; margin:0px; padding:0px 0px 4px 8px;"&gt;&lt;script type="text/javascript"&gt;digg_url = "http://dotnetgui.blogspot.com/2010/08/silverlight-blank-line-in-textblock.html";digg_title = "Silverlight: Blank Line in TextBlock";digg_bgcolor = "#FFFFFF";digg_skin = "normal";&lt;/script&gt;&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;digg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;&lt;/script&gt;&lt;/div&gt;&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;This will be a relatively short one. I just wanted to post this out there in case anyone is wondering how to do this.There are several ways to create a blank line within a single textblock (or label) in Silverlight. The simplest is to use these special characters: &lt;/p&gt;  &lt;p&gt;&amp;amp;#xd;&amp;amp;#xa;&lt;/p&gt;  &lt;p&gt;So, the following xaml&lt;/p&gt;  &lt;p&gt;&amp;lt;TextBlock Text=&amp;quot;hello&amp;amp;#xd;&amp;amp;#xa;world&amp;quot;/&amp;gt;&lt;/p&gt;  &lt;p&gt;produces this text block&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_xN_jEPjPuqY/TGVfOFpvXZI/AAAAAAAABYE/VTxsLSQv2AU/s1600-h/image%5B2%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_xN_jEPjPuqY/TGVfOBXgtoI/AAAAAAAABYI/OvPzE6U46SE/image_thumb.png?imgmax=800" width="75" height="50" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:78cb486b-116c-4f25-bba9-03cf711c2f29" class="wlWriterSmartContent"&gt;IceRocket Tags: &lt;a href="http://blogs.icerocket.com/search?q=Microsoft+Silvelright" rel="tag"&gt;Microsoft Silvelright&lt;/a&gt;,&lt;a href="http://blogs.icerocket.com/search?q=Textblox" rel="tag"&gt;Textblox&lt;/a&gt;,&lt;a href="http://blogs.icerocket.com/search?q=blank+line" rel="tag"&gt;blank line&lt;/a&gt;,&lt;a href="http://blogs.icerocket.com/search?q=special+characters" rel="tag"&gt;special characters&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/61023199121463803-5630158955828709084?l=dotnetgui.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/EoNyWvW8VfeR0HHeJlFGcqQdnH4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EoNyWvW8VfeR0HHeJlFGcqQdnH4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/EoNyWvW8VfeR0HHeJlFGcqQdnH4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EoNyWvW8VfeR0HHeJlFGcqQdnH4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/HmaprksGuiBlog/~4/IkWR_WmF28A" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dotnetgui.blogspot.com/feeds/5630158955828709084/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://dotnetgui.blogspot.com/2010/08/silverlight-blank-line-in-textblock.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/61023199121463803/posts/default/5630158955828709084?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/61023199121463803/posts/default/5630158955828709084?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/HmaprksGuiBlog/~3/IkWR_WmF28A/silverlight-blank-line-in-textblock.html" title="Silverlight: Blank Line in TextBlock" /><author><name>hmaprk</name><uri>http://www.blogger.com/profile/17148290247104823437</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/_xN_jEPjPuqY/TGVfOBXgtoI/AAAAAAAABYI/OvPzE6U46SE/s72-c/image_thumb.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://dotnetgui.blogspot.com/2010/08/silverlight-blank-line-in-textblock.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEcEQ389eCp7ImA9WxFaEE4.&quot;"><id>tag:blogger.com,1999:blog-61023199121463803.post-3760280544696099361</id><published>2010-07-13T07:40:00.001-07:00</published><updated>2010-07-13T07:40:02.160-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-13T07:40:02.160-07:00</app:edited><title>Bing Videos… Are you Kidding Me?!?!?!?</title><content type="html">&lt;div class="wlWriterHeaderFooter" style="float:right; margin:0px; padding:0px 0px 4px 8px;"&gt;&lt;script type="text/javascript"&gt;digg_url = "http://dotnetgui.blogspot.com/2010/07/bing-videos-are-you-kidding-me.html";digg_title = "Bing Videos… Are you Kidding Me?!?!?!?";digg_bgcolor = "#FFFFFF";digg_skin = "normal";&lt;/script&gt;&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;digg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;&lt;/script&gt;&lt;/div&gt;&lt;p&gt;So there is nothing technical about this post, but I found it interesting. I have been a big supporter of Microsoft Silverlight, but I do find it a bit frustrating when I find out they don’t use their own technologies internally. Check this post out, it points out how Microsoft uses Flash for their Bing videos rather than Silverlight!&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_xN_jEPjPuqY/TDx6vdQzUjI/AAAAAAAABXw/5rvTqpoNvzY/s1600-h/image%5B16%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_xN_jEPjPuqY/TDx6v4KdIOI/AAAAAAAABX0/NbM7mgwNaS0/image_thumb%5B10%5D.png?imgmax=800" width="529" height="307" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Now, when you click on the video, you are taken to a Silverlight player where you can view the entire clip, but why the use of Flash for the preview? Why not Silverlight? What was the technical challenge that caused them to go with Flash? &lt;/p&gt;  &lt;p&gt;&lt;a title="http://geekygab.blogspot.com/2010/07/bing-videos-are-you-kidding-me.html" href="http://geekygab.blogspot.com/2010/07/bing-videos-are-you-kidding-me.html"&gt;http://geekygab.blogspot.com/2010/07/bing-videos-are-you-kidding-me.html&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;   &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:c00e6265-a0e0-4ee0-9db5-0854140bc787" class="wlWriterSmartContent"&gt;BuzzNet Tags: &lt;a href="http://www.buzznet.com/tags/Microsoft" rel="tag"&gt;Microsoft&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/Bing" rel="tag"&gt;Bing&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/Silverlight+vs+Flash" rel="tag"&gt;Silverlight vs Flash&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/Adobe+Flash" rel="tag"&gt;Adobe Flash&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/Bing+and+Flash" rel="tag"&gt;Bing and Flash&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/Microsoft+and+Flash" rel="tag"&gt;Microsoft and Flash&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/Bing+Vidoes" rel="tag"&gt;Bing Vidoes&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/Video" rel="tag"&gt;Video&lt;/a&gt;&lt;/div&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/61023199121463803-3760280544696099361?l=dotnetgui.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/JP-UuRZh7IAliRglCYHtlxDHm8w/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JP-UuRZh7IAliRglCYHtlxDHm8w/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/JP-UuRZh7IAliRglCYHtlxDHm8w/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JP-UuRZh7IAliRglCYHtlxDHm8w/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/HmaprksGuiBlog/~4/P4Q70f572I0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dotnetgui.blogspot.com/feeds/3760280544696099361/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://dotnetgui.blogspot.com/2010/07/bing-videos-are-you-kidding-me.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/61023199121463803/posts/default/3760280544696099361?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/61023199121463803/posts/default/3760280544696099361?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/HmaprksGuiBlog/~3/P4Q70f572I0/bing-videos-are-you-kidding-me.html" title="Bing Videos… Are you Kidding Me?!?!?!?" /><author><name>hmaprk</name><uri>http://www.blogger.com/profile/17148290247104823437</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/_xN_jEPjPuqY/TDx6v4KdIOI/AAAAAAAABX0/NbM7mgwNaS0/s72-c/image_thumb%5B10%5D.png?imgmax=800" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://dotnetgui.blogspot.com/2010/07/bing-videos-are-you-kidding-me.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck8MRXw-eSp7ImA9WxFbEEU.&quot;"><id>tag:blogger.com,1999:blog-61023199121463803.post-6791861474783457002</id><published>2010-07-02T07:28:00.001-07:00</published><updated>2010-07-02T07:28:04.251-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-02T07:28:04.251-07:00</app:edited><title>Get Local Time Zone</title><content type="html">&lt;div class="wlWriterHeaderFooter" style="float:right; margin:0px; padding:0px 0px 4px 8px;"&gt;&lt;script type="text/javascript"&gt;digg_url = "http://dotnetgui.blogspot.com/2010/07/get-local-time-zone.html";digg_title = "Get Local Time Zone";digg_bgcolor = "#FFFFFF";digg_skin = "normal";&lt;/script&gt;&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;digg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;&lt;/script&gt;&lt;/div&gt;&lt;p&gt;Here’s a quick post on how to get the local time zone in your Silverlight Applications. You need to use the System.TimeZoneInfo class to get this information. This simple call will give you your local time zone.&lt;/p&gt;  &lt;pre class="code"&gt;&lt;span style="color: #2b91af"&gt;TimeZoneInfo&lt;/span&gt;.Local.StandardName&lt;/pre&gt;&lt;br /&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;If you have a DateTime value you want to convert to local time, just call the ToLocalTime method on it and that should do it. You can also use the ToUniversalTime method on it to convert it to UTC time.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:85880b2f-ca29-4522-80f4-6b7c377e7bc1" class="wlWriterSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/silverlight" rel="tag"&gt;silverlight&lt;/a&gt;,&lt;a href="http://technorati.com/tags/silverlight+TimeZoneInfo" rel="tag"&gt;silverlight TimeZoneInfo&lt;/a&gt;,&lt;a href="http://technorati.com/tags/c%23+local+time+zone" rel="tag"&gt;c# local time zone&lt;/a&gt;,&lt;a href="http://technorati.com/tags/c%23+TimeZoneInfo" rel="tag"&gt;c# TimeZoneInfo&lt;/a&gt;,&lt;a href="http://technorati.com/tags/TimeZoneInfo.Local.StandardName" rel="tag"&gt;TimeZoneInfo.Local.StandardName&lt;/a&gt;,&lt;a href="http://technorati.com/tags/TimeZoneInfo.Local" rel="tag"&gt;TimeZoneInfo.Local&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/61023199121463803-6791861474783457002?l=dotnetgui.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/7n-AhOzn4B-wlhUKdPbNCJvBdQ0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7n-AhOzn4B-wlhUKdPbNCJvBdQ0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/7n-AhOzn4B-wlhUKdPbNCJvBdQ0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7n-AhOzn4B-wlhUKdPbNCJvBdQ0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/HmaprksGuiBlog/~4/wyCtg8h2OUs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dotnetgui.blogspot.com/feeds/6791861474783457002/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://dotnetgui.blogspot.com/2010/07/get-local-time-zone.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/61023199121463803/posts/default/6791861474783457002?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/61023199121463803/posts/default/6791861474783457002?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/HmaprksGuiBlog/~3/wyCtg8h2OUs/get-local-time-zone.html" title="Get Local Time Zone" /><author><name>hmaprk</name><uri>http://www.blogger.com/profile/17148290247104823437</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://dotnetgui.blogspot.com/2010/07/get-local-time-zone.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUUBRnc8eCp7ImA9WxFVF0U.&quot;"><id>tag:blogger.com,1999:blog-61023199121463803.post-2017533650245047998</id><published>2010-06-17T08:07:00.001-07:00</published><updated>2010-06-17T08:07:37.970-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-17T08:07:37.970-07:00</app:edited><title>Snippet Designer</title><content type="html">&lt;div class="wlWriterHeaderFooter" style="float:right; margin:0px; padding:0px 0px 4px 8px;"&gt;&lt;script type="text/javascript"&gt;digg_url = "http://dotnetgui.blogspot.com/2010/06/snippet-designer.html";digg_title = "Snippet Designer";digg_bgcolor = "#FFFFFF";digg_skin = "normal";&lt;/script&gt;&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;digg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;&lt;/script&gt;&lt;/div&gt;&lt;p&gt;I am a big proponent of code snippets. I use them all the time and I tend to write my own snippets for code I write over and over. Recently, I found a nice Visual Studio extension out in codeplex that lets you write your own code snippets a bit faster than editing the xml yourself. Although it isn’t very difficult, I have found this new method of writing snippets a bit faster, so I thought I would blog about it. If you are interested in trying this out, here is the url: &lt;a title="http://snippetdesigner.codeplex.com/" href="http://snippetdesigner.codeplex.com/"&gt;http://snippetdesigner.codeplex.com/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The extension takes no time to install. once you have it installed, all you do is select the code you want to be created as a snippet and right click and export it as a snippet. From there, you open up a nice designer that lets you change the details of your snippet and create Replacements. It is a very cool tool and once you play around with it for a while, you’ll be creating snippets in no time and well on your way to saving time in your coding.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_xN_jEPjPuqY/TBo6LvOr31I/AAAAAAAABSc/LV-9eKcGLfQ/s1600-h/image%5B7%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_xN_jEPjPuqY/TBo6MWM4aHI/AAAAAAAABSg/xHhQ39Wjg3g/image_thumb%5B3%5D.png?imgmax=800" width="519" height="463" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_xN_jEPjPuqY/TBo6NW5dzdI/AAAAAAAABSk/xJ8IKhxy9oA/s1600-h/image%5B3%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_xN_jEPjPuqY/TBo6NwERdNI/AAAAAAAABSo/pgrfoiJoth0/image_thumb%5B1%5D.png?imgmax=800" width="570" height="365" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Enjoy!&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:1f73d6d5-6763-42f9-bf12-2fe1ee6989ce" class="wlWriterSmartContent"&gt;43 Things Tags: &lt;a href="http://www.43things.com/tag/visual+studio+2010" rel="tag"&gt;visual studio 2010&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/visual+studio" rel="tag"&gt;visual studio&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/microsoft" rel="tag"&gt;microsoft&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/code+snippets" rel="tag"&gt;code snippets&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/snippets" rel="tag"&gt;snippets&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/code+snippet+manager" rel="tag"&gt;code snippet manager&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/snippet+designer" rel="tag"&gt;snippet designer&lt;/a&gt;,&lt;a href="http://www.43things.com/tag/codeplex" rel="tag"&gt;codeplex&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/61023199121463803-2017533650245047998?l=dotnetgui.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/uxHJ0Lj2RvcZGGovJolw9nwpBGc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/uxHJ0Lj2RvcZGGovJolw9nwpBGc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/uxHJ0Lj2RvcZGGovJolw9nwpBGc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/uxHJ0Lj2RvcZGGovJolw9nwpBGc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/HmaprksGuiBlog/~4/jc8zlhg-L4o" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dotnetgui.blogspot.com/feeds/2017533650245047998/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://dotnetgui.blogspot.com/2010/06/snippet-designer.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/61023199121463803/posts/default/2017533650245047998?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/61023199121463803/posts/default/2017533650245047998?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/HmaprksGuiBlog/~3/jc8zlhg-L4o/snippet-designer.html" title="Snippet Designer" /><author><name>hmaprk</name><uri>http://www.blogger.com/profile/17148290247104823437</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/_xN_jEPjPuqY/TBo6MWM4aHI/AAAAAAAABSg/xHhQ39Wjg3g/s72-c/image_thumb%5B3%5D.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://dotnetgui.blogspot.com/2010/06/snippet-designer.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C04ASXw5eyp7ImA9WxFQFk0.&quot;"><id>tag:blogger.com,1999:blog-61023199121463803.post-5696422737196200804</id><published>2010-05-11T11:19:00.001-07:00</published><updated>2010-05-11T11:19:08.223-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-11T11:19:08.223-07:00</app:edited><title>Another Strange Silverlight Error: “Layout cycle detected. Layout could not complete”</title><content type="html">&lt;div class="wlWriterHeaderFooter" style="float:right; margin:0px; padding:0px 0px 4px 8px;"&gt;&lt;script type="text/javascript"&gt;digg_url = "http://dotnetgui.blogspot.com/2010/05/another-strange-silverlight-error.html";digg_title = "Another Strange Silverlight Error: “Layout cycle detected. Layout could not complete”";digg_bgcolor = "#FFFFFF";digg_skin = "normal";&lt;/script&gt;&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;digg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;&lt;/script&gt;&lt;/div&gt;&lt;p&gt;Wow! Is this one ever frustrating! So here’s the situation:&lt;/p&gt;  &lt;p&gt;I’ve got a datagrid which uses RowGroups. Everything is working just fine until I get a request from the product owner to hide/show several of the columns on that datagrid by clicking a button. I figured “This isn’t going to be too bad. I’ve done this before with other datagrids. Great, I’ll have it done in 10 minutes.” WRONG! To my surprise, I wrote some code very similar to what I’ve done in the past, but I started seeing this funky error “Layout cycle detected. Layout could not complete”. Because this is a Silverlight error, I did not get any other helpful information. Thanks so much Silverlight. Well, I can’t tell you that I completely understand the internals of Silverlight and what is causing this issue, but I do know that it has something to do with looping inside the the UpdateLayout method is executing for the datagrid. It seems to be getting stuck in an infinite loop. After a lot of searching and trying out different things, I came up with a workaround. If you are experiencing this problem, try removing the datagrid from its parent prior to making the change (in my case adding/removing columns) and then add the datagrid back to it’s parent’s Children collection immediately after you make the change.&lt;/p&gt;  &lt;p&gt;This solved it for me. Here is a snippet:&lt;/p&gt;  &lt;pre class="code"&gt;&lt;span style="color: blue"&gt;            if &lt;/span&gt;(show == &lt;span style="color: blue"&gt;true&lt;/span&gt;)&lt;br /&gt;            {&lt;br /&gt;                _clmOne.Visibility = &lt;span style="color: #2b91af"&gt;Visibility&lt;/span&gt;.Visible;&lt;br /&gt;                _clmTwo.Visibility = &lt;span style="color: #2b91af"&gt;Visibility&lt;/span&gt;.Visible;&lt;br /&gt;                _clmThree.Visibility = &lt;span style="color: #2b91af"&gt;Visibility&lt;/span&gt;.Visible;&lt;br /&gt;            }&lt;br /&gt;            &lt;span style="color: blue"&gt;else&lt;br /&gt;            &lt;/span&gt;{&lt;br /&gt;                &lt;span style="color: green"&gt;//Hack:Need to remove the grid prior to adding columns to avoid Exception.&lt;br /&gt;                &lt;/span&gt;&lt;span style="color: blue"&gt;this&lt;/span&gt;.LayoutRoot.Children.Remove(myDataGrid);&lt;br /&gt;                _clmOne.Visibility = &lt;span style="color: #2b91af"&gt;Visibility&lt;/span&gt;.Collapsed;&lt;br /&gt;                _clmTwo.Visibility = &lt;span style="color: #2b91af"&gt;Visibility&lt;/span&gt;.Collapsed;&lt;br /&gt;                _clmThree.Visibility = &lt;span style="color: #2b91af"&gt;Visibility&lt;/span&gt;.Collapsed;&lt;br /&gt;                &lt;span style="color: blue"&gt;this&lt;/span&gt;.LayoutRoot.Children.Add(myDataGrid);&lt;br /&gt;            }&lt;br /&gt;&lt;font face="Verdana"&gt;&lt;/font&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;&lt;font face="Verdana"&gt;I hope this helps you guys out. Happy Silverlighting!&lt;/font&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:24af2cd2-abfa-4788-8528-3c960a56c715" class="wlWriterSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Silverlight+Datagrid" rel="tag"&gt;Silverlight Datagrid&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Silverlight+Bug" rel="tag"&gt;Silverlight Bug&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Microsoft" rel="tag"&gt;Microsoft&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Microsoft+Silverlight" rel="tag"&gt;Microsoft Silverlight&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Layout+Cycle+Detected" rel="tag"&gt;Layout Cycle Detected&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/61023199121463803-5696422737196200804?l=dotnetgui.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/kg6ifdZJ92Cu49K3K_92kBeSizw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/kg6ifdZJ92Cu49K3K_92kBeSizw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/kg6ifdZJ92Cu49K3K_92kBeSizw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/kg6ifdZJ92Cu49K3K_92kBeSizw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/HmaprksGuiBlog/~4/C0lpfnu0Rqk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dotnetgui.blogspot.com/feeds/5696422737196200804/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://dotnetgui.blogspot.com/2010/05/another-strange-silverlight-error.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/61023199121463803/posts/default/5696422737196200804?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/61023199121463803/posts/default/5696422737196200804?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/HmaprksGuiBlog/~3/C0lpfnu0Rqk/another-strange-silverlight-error.html" title="Another Strange Silverlight Error: “Layout cycle detected. Layout could not complete”" /><author><name>hmaprk</name><uri>http://www.blogger.com/profile/17148290247104823437</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://dotnetgui.blogspot.com/2010/05/another-strange-silverlight-error.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkUFQnwzfip7ImA9WxFRFEo.&quot;"><id>tag:blogger.com,1999:blog-61023199121463803.post-3463036474259281247</id><published>2010-04-28T08:56:00.001-07:00</published><updated>2010-04-28T08:56:53.286-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-28T08:56:53.286-07:00</app:edited><title>Are You Annoyed With The Visual Studio XAML Design View?</title><content type="html">&lt;div class="wlWriterHeaderFooter" style="float:right; margin:0px; padding:0px 0px 4px 8px;"&gt;&lt;script type="text/javascript"&gt;digg_url = "http://dotnetgui.blogspot.com/2010/04/are-you-annoyed-with-visual-studio-xaml.html";digg_title = "Are You Annoyed With The Visual Studio XAML Design View?";digg_bgcolor = "#FFFFFF";digg_skin = "normal";&lt;/script&gt;&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;digg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;&lt;/script&gt;&lt;/div&gt;&lt;p&gt;I know I was! Sure, Visual Studio 2010 has a much improved designer (especially if you are working with Silverlight), but for the most part, the designer for Silverlight and WPF applications is pretty weak. I would much rather work in Blend or straight XAML. If I had to edit a XAML page in Visual Studio, I would always open the file and immediately switch to full XAML view. The designer always took too long to load and it wasted a lot of my time. Well, if you are in the same boat, here is a little tip. You can configure Visual Studio to always open XAML files in full XAML view and bypass the designer. To do this, go to the Tools menu and select Options. In the options dialog, select the Text Editor element on the left hand side and go to XAML and the Miscellaneous. Under the Default View section, make sure the ‘Always open documents in Full XAML view’ is checked and click ok. That should do it. From now on you will open your XAML files directly in the XAML view and you won’t have to wait for the editor to load and tell you it can’t render the XAML.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_xN_jEPjPuqY/S9haunwif7I/AAAAAAAABPQ/E_HRsLgDCyA/s1600-h/image%5B3%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_xN_jEPjPuqY/S9hawXQ5rwI/AAAAAAAABPU/KQgy_jlMrNk/image_thumb%5B1%5D.png?imgmax=800" width="823" height="496" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;em&gt;Note: The version of VS I am running is VS 2010 Ultimate.&lt;/em&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:fdacd191-3586-4659-b607-f98cdd6ccad6" class="wlWriterSmartContent"&gt;del.icio.us Tags: &lt;a href="http://del.icio.us/popular/Visual+Studio" rel="tag"&gt;Visual Studio&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Visual+Studio+2010" rel="tag"&gt;Visual Studio 2010&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/XAML+Designer" rel="tag"&gt;XAML Designer&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/XAML+Editor" rel="tag"&gt;XAML Editor&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/VS+Disable+Design+View" rel="tag"&gt;VS Disable Design View&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/VS+2010" rel="tag"&gt;VS 2010&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/WPF" rel="tag"&gt;WPF&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Silverlight" rel="tag"&gt;Silverlight&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/61023199121463803-3463036474259281247?l=dotnetgui.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/LShNG_e-CehKme5S2sxUSDrrm9Y/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LShNG_e-CehKme5S2sxUSDrrm9Y/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/LShNG_e-CehKme5S2sxUSDrrm9Y/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LShNG_e-CehKme5S2sxUSDrrm9Y/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/HmaprksGuiBlog/~4/Y9u2n1xEpXo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dotnetgui.blogspot.com/feeds/3463036474259281247/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://dotnetgui.blogspot.com/2010/04/are-you-annoyed-with-visual-studio-xaml.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/61023199121463803/posts/default/3463036474259281247?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/61023199121463803/posts/default/3463036474259281247?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/HmaprksGuiBlog/~3/Y9u2n1xEpXo/are-you-annoyed-with-visual-studio-xaml.html" title="Are You Annoyed With The Visual Studio XAML Design View?" /><author><name>hmaprk</name><uri>http://www.blogger.com/profile/17148290247104823437</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/_xN_jEPjPuqY/S9hawXQ5rwI/AAAAAAAABPU/KQgy_jlMrNk/s72-c/image_thumb%5B1%5D.png?imgmax=800" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://dotnetgui.blogspot.com/2010/04/are-you-annoyed-with-visual-studio-xaml.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0QER3w5eSp7ImA9WxFSE0g.&quot;"><id>tag:blogger.com,1999:blog-61023199121463803.post-222082822590257605</id><published>2010-04-15T11:14:00.001-07:00</published><updated>2010-04-15T11:15:06.221-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-15T11:15:06.221-07:00</app:edited><title>Silverlight 4 Just Released – Books to Help You Out</title><content type="html">&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;With the release of Sivlerlight 4 and all the tools related to that technology, now is a great time to learn how to develop rich web applications using Microsoft Silverlight. This knowledge will also allow you to create rich applications for the upcoming Windows Phone 7 devices. Follow the links below to purchase some of the newest (most up to date) books on Silverlight development. &lt;/p&gt;  &lt;p&gt;&lt;iframe style="width: 120px; height: 240px" marginheight="0" src="http://rcm.amazon.com/e/cm?t=geegab0b-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=as1&amp;amp;asins=1430272074&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" frameborder="0" marginwidth="0" scrolling="no"&gt;&lt;/iframe&gt;&amp;#160;&amp;#160; &lt;iframe style="width: 120px; height: 240px" marginheight="0" src="http://rcm.amazon.com/e/cm?t=geegab0b-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=as1&amp;amp;asins=1430229799&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" frameborder="0" marginwidth="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;iframe style="width: 120px; height: 240px" marginheight="0" src="http://rcm.amazon.com/e/cm?t=geegab0b-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=as1&amp;amp;asins=1847199844&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" frameborder="0" marginwidth="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;iframe style="width: 120px; height: 240px" marginheight="0" src="http://rcm.amazon.com/e/cm?t=geegab0b-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=as1&amp;amp;asins=1847199763&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" frameborder="0" marginwidth="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;iframe style="width: 120px; height: 240px" marginheight="0" src="http://rcm.amazon.com/e/cm?t=geegab0b-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=as1&amp;amp;asins=143022973X&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" frameborder="0" marginwidth="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;iframe style="width: 120px; height: 240px" marginheight="0" src="http://rcm.amazon.com/e/cm?t=geegab0b-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=as1&amp;amp;asins=0470524650&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" frameborder="0" marginwidth="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;iframe style="width: 120px; height: 240px" marginheight="0" src="http://rcm.amazon.com/e/cm?t=geegab0b-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=as1&amp;amp;asins=0470534044&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" frameborder="0" marginwidth="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;/p&gt;  &lt;p&gt;&lt;iframe style="width: 120px; height: 240px" marginheight="0" src="http://rcm.amazon.com/e/cm?t=geegab0b-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=as1&amp;amp;asins=1430224258&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" frameborder="0" marginwidth="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;iframe style="width: 120px; height: 240px" marginheight="0" src="http://rcm.amazon.com/e/cm?t=geegab0b-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=as1&amp;amp;asins=1430230606&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" frameborder="0" marginwidth="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;iframe style="width: 120px; height: 240px" marginheight="0" src="http://rcm.amazon.com/e/cm?t=geegab0b-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=as1&amp;amp;asins=1430230185&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" frameborder="0" marginwidth="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;iframe style="width: 120px; height: 240px" marginheight="0" src="http://rcm.amazon.com/e/cm?t=geegab0b-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=as1&amp;amp;asins=0672333368&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" frameborder="0" marginwidth="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;iframe style="width: 120px; height: 240px" marginheight="0" src="http://rcm.amazon.com/e/cm?t=geegab0b-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=as1&amp;amp;asins=0672330628&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" frameborder="0" marginwidth="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;iframe style="width: 120px; height: 240px" marginheight="0" src="http://rcm.amazon.com/e/cm?t=geegab0b-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=as1&amp;amp;asins=0672330571&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" frameborder="0" marginwidth="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;iframe style="width: 120px; height: 240px" marginheight="0" src="http://rcm.amazon.com/e/cm?t=geegab0b-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=as1&amp;amp;asins=1430229918&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" frameborder="0" marginwidth="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:bfb8879c-052d-40f6-bf53-e4a73a923871" class="wlWriterEditableSmartContent"&gt;BuzzNet Tags: &lt;a href="http://www.buzznet.com/tags/Silverlight" rel="tag"&gt;Silverlight&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/Silverlight4" rel="tag"&gt;Silverlight4&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/Books" rel="tag"&gt;Books&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/Reference" rel="tag"&gt;Reference&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/Microsoft+Silverlight" rel="tag"&gt;Microsoft Silverlight&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/Windows+Phone+7" rel="tag"&gt;Windows Phone 7&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/Windows+Phone+7+Series" rel="tag"&gt;Windows Phone 7 Series&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/XAML" rel="tag"&gt;XAML&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/C%23" rel="tag"&gt;C#&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/Developer" rel="tag"&gt;Developer&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/61023199121463803-222082822590257605?l=dotnetgui.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/cHKGcAaaTT6RIJ6juDAFBeGyd6w/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/cHKGcAaaTT6RIJ6juDAFBeGyd6w/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/cHKGcAaaTT6RIJ6juDAFBeGyd6w/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/cHKGcAaaTT6RIJ6juDAFBeGyd6w/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/HmaprksGuiBlog/~4/yz_BDwekRes" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dotnetgui.blogspot.com/feeds/222082822590257605/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://dotnetgui.blogspot.com/2010/04/silverlight-4-just-released-books-to.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/61023199121463803/posts/default/222082822590257605?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/61023199121463803/posts/default/222082822590257605?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/HmaprksGuiBlog/~3/yz_BDwekRes/silverlight-4-just-released-books-to.html" title="Silverlight 4 Just Released – Books to Help You Out" /><author><name>hmaprk</name><uri>http://www.blogger.com/profile/17148290247104823437</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://dotnetgui.blogspot.com/2010/04/silverlight-4-just-released-books-to.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEANQX0yfCp7ImA9WxBaFk4.&quot;"><id>tag:blogger.com,1999:blog-61023199121463803.post-2581801097348590975</id><published>2010-03-26T13:53:00.001-07:00</published><updated>2010-03-26T13:53:10.394-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-26T13:53:10.394-07:00</app:edited><title>How to use Isolated Storage on Windows Phone 7</title><content type="html">&lt;div class="wlWriterHeaderFooter" style="float:right; margin:0px; padding:0px 0px 4px 8px;"&gt;&lt;script type="text/javascript"&gt;digg_url = "http://dotnetgui.blogspot.com/2010/03/how-to-use-isolated-storage-on-windows.html";digg_title = "How to use Isolated Storage on Windows Phone 7";digg_bgcolor = "#FFFFFF";digg_skin = "normal";&lt;/script&gt;&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;digg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;&lt;/script&gt;&lt;/div&gt;&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_xN_jEPjPuqY/S60esgTsMII/AAAAAAAABKo/ZF2FCk-D4r0/s1600-h/image%5B3%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_xN_jEPjPuqY/S60etD6hmGI/AAAAAAAABKs/sFyOekBfZQ4/image_thumb%5B1%5D.png?imgmax=800" width="192" height="369" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;I wrote a little sample application that lets the user work with the isolated storage on a Windows Phone 7 device. I won’t bother you with the details of the xaml because the UI is relatively straight forward. There are only a handful of controls and they are all pretty standard. What I want to share here is the code behind that makes this application work. Besides, it’s not really the most amazing app out there, it’s just meant to show you how to work with ISO storage.&lt;/p&gt;  &lt;p&gt;The key take-aways from this are:&lt;/p&gt;  &lt;p&gt;1) You will need to add reference to the System.IO.IsolatedStorage assembly and add the corresponding using statement.&lt;/p&gt;  &lt;p&gt;2) You save and retrieve the settings by calling &lt;span style="color: #2b91af"&gt;IsolatedStorageSettings&lt;/span&gt;.ApplicationSettings&lt;/p&gt;  &lt;p&gt;3) You access the setting values via their keys - &lt;span style="color: #2b91af"&gt;IsolatedStorageSettings&lt;/span&gt;.ApplicationSettings[“key”]= “value”; &lt;/p&gt;  &lt;p&gt;Hopefully this gets you started saving and retrieving data to and from a Windows Phone 7 device.&lt;/p&gt;  &lt;p&gt;More to come… happy coding!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;pre class="code"&gt;&lt;span style="color: blue"&gt;using &lt;/span&gt;System;&lt;br /&gt;&lt;span style="color: blue"&gt;using &lt;/span&gt;System.Collections.Generic;&lt;br /&gt;&lt;span style="color: blue"&gt;using &lt;/span&gt;System.Linq;&lt;br /&gt;&lt;span style="color: blue"&gt;using &lt;/span&gt;System.Net;&lt;br /&gt;&lt;span style="color: blue"&gt;using &lt;/span&gt;System.Windows;&lt;br /&gt;&lt;span style="color: blue"&gt;using &lt;/span&gt;System.Windows.Controls;&lt;br /&gt;&lt;span style="color: blue"&gt;using &lt;/span&gt;System.Windows.Documents;&lt;br /&gt;&lt;span style="color: blue"&gt;using &lt;/span&gt;System.Windows.Input;&lt;br /&gt;&lt;span style="color: blue"&gt;using &lt;/span&gt;System.Windows.Media;&lt;br /&gt;&lt;span style="color: blue"&gt;using &lt;/span&gt;System.Windows.Media.Animation;&lt;br /&gt;&lt;span style="color: blue"&gt;using &lt;/span&gt;System.Windows.Shapes;&lt;br /&gt;&lt;span style="color: blue"&gt;using &lt;/span&gt;Microsoft.Phone.Controls;&lt;br /&gt;&lt;span style="color: blue"&gt;using &lt;/span&gt;System.IO.IsolatedStorage;&lt;br /&gt;&lt;span style="color: blue"&gt;using &lt;/span&gt;System.IO;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue"&gt;namespace &lt;/span&gt;Isolated_Storage&lt;br /&gt;{&lt;br /&gt;    &lt;span style="color: blue"&gt;public partial class &lt;/span&gt;&lt;span style="color: #2b91af"&gt;MainPage &lt;/span&gt;: &lt;span style="color: #2b91af"&gt;PhoneApplicationPage&lt;br /&gt;    &lt;/span&gt;{&lt;br /&gt;        &lt;span style="color: blue"&gt;private &lt;/span&gt;&lt;span style="color: #2b91af"&gt;IsolatedStorageSettings &lt;/span&gt;appSettings;&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: blue"&gt;public &lt;/span&gt;MainPage()&lt;br /&gt;        {            &lt;br /&gt;            InitializeComponent();&lt;br /&gt;&lt;br /&gt;            SupportedOrientations = &lt;span style="color: #2b91af"&gt;SupportedPageOrientation&lt;/span&gt;.Portrait | &lt;span style="color: #2b91af"&gt;SupportedPageOrientation&lt;/span&gt;.Landscape;&lt;br /&gt;&lt;br /&gt;            btnAdd.Click += &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;RoutedEventHandler&lt;/span&gt;(btnAdd_Click);&lt;br /&gt;            btnRead.Click += &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;RoutedEventHandler&lt;/span&gt;(btnRead_Click);&lt;br /&gt;            txtValue.TextChanged += &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;TextChangedEventHandler&lt;/span&gt;(txtValue_TextChanged);&lt;br /&gt;&lt;br /&gt;            appSettings = &lt;span style="color: #2b91af"&gt;IsolatedStorageSettings&lt;/span&gt;.ApplicationSettings;&lt;br /&gt;&lt;br /&gt;            UpdateSettingsCount();&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: blue"&gt;private void &lt;/span&gt;UpdateSettingsCount()&lt;br /&gt;        {&lt;br /&gt;            lblCount.Text = &lt;span style="color: #2b91af"&gt;String&lt;/span&gt;.Format(&lt;span style="color: #a31515"&gt;&amp;quot;App Settings Count: {0}&amp;quot;&lt;/span&gt;, appSettings.Count);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: blue"&gt;void &lt;/span&gt;txtValue_TextChanged(&lt;span style="color: blue"&gt;object &lt;/span&gt;sender, &lt;span style="color: #2b91af"&gt;TextChangedEventArgs &lt;/span&gt;e)&lt;br /&gt;        {&lt;br /&gt;            btnAdd.IsEnabled = txtValue.Text.Trim().Length &amp;gt; 0;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: blue"&gt;void &lt;/span&gt;btnRead_Click(&lt;span style="color: blue"&gt;object &lt;/span&gt;sender, &lt;span style="color: #2b91af"&gt;RoutedEventArgs &lt;/span&gt;e)&lt;br /&gt;        {&lt;br /&gt;            lstItems.Items.Clear();&lt;br /&gt;            LoadData();&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: blue"&gt;void &lt;/span&gt;btnAdd_Click(&lt;span style="color: blue"&gt;object &lt;/span&gt;sender, &lt;span style="color: #2b91af"&gt;RoutedEventArgs &lt;/span&gt;e)&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: #2b91af"&gt;IsolatedStorageSettings&lt;/span&gt;.ApplicationSettings[(appSettings.Count + 1).ToString()] = txtValue.Text;&lt;br /&gt;            UpdateSettingsCount();&lt;br /&gt;        }        &lt;br /&gt;        &lt;br /&gt;        &lt;span style="color: blue"&gt;private void &lt;/span&gt;LoadData() &lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: blue"&gt;for &lt;/span&gt;(&lt;span style="color: blue"&gt;int &lt;/span&gt;i = 0; i &amp;lt; appSettings.Count; i++)&lt;br /&gt;            {&lt;br /&gt;                &lt;span style="color: blue"&gt;string &lt;/span&gt;entry = &lt;span style="color: blue"&gt;string&lt;/span&gt;.Format(&lt;span style="color: #a31515"&gt;&amp;quot;Key: {0} {1}Value: {2}&amp;quot;&lt;/span&gt;, i + 1, &lt;span style="color: #2b91af"&gt;Environment&lt;/span&gt;.NewLine, appSettings[(i + 1).ToString()].ToString());&lt;br /&gt;                lstItems.Items.Add(entry);&lt;br /&gt;            }             &lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:f0342807-03f1-4dd7-9403-4f6ef39a0987" class="wlWriterSmartContent"&gt;del.icio.us Tags: &lt;a href="http://del.icio.us/popular/Windows+Phone+7" rel="tag"&gt;Windows Phone 7&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/WindowsPhone7" rel="tag"&gt;WindowsPhone7&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/WindowsPhone" rel="tag"&gt;WindowsPhone&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Windows+Phone" rel="tag"&gt;Windows Phone&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Isolated+Storage" rel="tag"&gt;Isolated Storage&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Windows+Phone+Isolated+Storage" rel="tag"&gt;Windows Phone Isolated Storage&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Silverlight" rel="tag"&gt;Silverlight&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Silverlight+Isolated+Storage" rel="tag"&gt;Silverlight Isolated Storage&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Data" rel="tag"&gt;Data&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/mobile" rel="tag"&gt;mobile&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/61023199121463803-2581801097348590975?l=dotnetgui.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/u08qiH3cPRoAy7T8RUYVhI6zw28/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/u08qiH3cPRoAy7T8RUYVhI6zw28/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/u08qiH3cPRoAy7T8RUYVhI6zw28/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/u08qiH3cPRoAy7T8RUYVhI6zw28/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/HmaprksGuiBlog/~4/clnQlUocbTk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dotnetgui.blogspot.com/feeds/2581801097348590975/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://dotnetgui.blogspot.com/2010/03/how-to-use-isolated-storage-on-windows.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/61023199121463803/posts/default/2581801097348590975?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/61023199121463803/posts/default/2581801097348590975?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/HmaprksGuiBlog/~3/clnQlUocbTk/how-to-use-isolated-storage-on-windows.html" title="How to use Isolated Storage on Windows Phone 7" /><author><name>hmaprk</name><uri>http://www.blogger.com/profile/17148290247104823437</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/_xN_jEPjPuqY/S60etD6hmGI/AAAAAAAABKs/sFyOekBfZQ4/s72-c/image_thumb%5B1%5D.png?imgmax=800" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://dotnetgui.blogspot.com/2010/03/how-to-use-isolated-storage-on-windows.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0IAQHo7eSp7ImA9WxBaFUk.&quot;"><id>tag:blogger.com,1999:blog-61023199121463803.post-8043080940926643622</id><published>2010-03-25T11:25:00.001-07:00</published><updated>2010-03-25T11:25:41.401-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-25T11:25:41.401-07:00</app:edited><title>How to add an Application Bar to your Windows Phone 7 App</title><content type="html">&lt;div class="wlWriterHeaderFooter" style="float:right; margin:0px; padding:0px 0px 4px 8px;"&gt;&lt;script type="text/javascript"&gt;digg_url = "http://dotnetgui.blogspot.com/2010/03/how-to-add-application-bar-to-your.html";digg_title = "How to add an Application Bar to your Windows Phone 7 App";digg_bgcolor = "#FFFFFF";digg_skin = "normal";&lt;/script&gt;&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;digg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;&lt;/script&gt;&lt;/div&gt;&lt;p&gt;When developing Windows Phone 7 apps, it is recommended not to include custom menus within the application in order to keep apps consistent across the platform. Instead developers should use the Application Bar to place such menu-like commands. &lt;/p&gt;  &lt;p&gt;To do this, you first add a reference to the Microsoft.Phone.Shell assembly. You then need to add your images (button icons) to the project. You need to change the Build Action to Content and set Copy to Output Directory to Copy Always.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_xN_jEPjPuqY/S6uqkm2ap7I/AAAAAAAABJk/UUcwE8_yC9g/s1600-h/image%5B2%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_xN_jEPjPuqY/S6uqlPWoyfI/AAAAAAAABJo/tUe_HzXyHlE/image_thumb.png?imgmax=800" width="244" height="44" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Here are the best practices Microsoft recommends for the images used in the Application Bar (ooops… I’m not following all of these in my example)&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Icon images should use a white foreground on a transparent background using an alpha channel. The Application Bar will colorize the icon according to the current style settings and colored icons can cause this effect to display unpredictably. &lt;/li&gt;    &lt;li&gt;The circle displayed on each Icon Button is drawn by the Application Bar and should not be included in the source image. &lt;/li&gt;    &lt;li&gt;Icon images should be 48 x 48 pixels in size. The white foreground graphic for the button should fit in a 26 x 26 area square in the center of the image so that it does not overlap the circle. &lt;/li&gt;    &lt;li&gt;Do not use an Icon Button for a back button that navigates backwards in the page stack. All Windows Phones are required to have a dedicated hardware back button that should always be used for backward navigation. &lt;/li&gt;    &lt;li&gt;Use Icon Buttons for the primary, most-used actions in your menu. Some actions are difficult to convey clearly with an icon. If this is the case, consider using a Menu Item instead. &lt;/li&gt;    &lt;li&gt;Choose icons that have clear meanings when the Application Bar is rotated. The Application Bar automatically handles changes in screen orientation. When the device is in a landscape orientation, the menu is displayed vertically on the side of the screen. The icon buttons are rotated so that they appear upright to the user, but the order of the icons in the list is not changed. It is possible for icon meanings to be confused when this occurs, particularly if two of the icons are mirror images of each other along the Y axis. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Now to the xaml.&lt;/p&gt;  &lt;p&gt;Add the following xaml to attribute to the phoneNavigation:PhoneApplicationPage node: &lt;/p&gt;  &lt;pre class="code"&gt;&lt;span style="color: red"&gt;xmlns&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: red"&gt;shell&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone.Shell&amp;quot;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;to access the newly added dll reference.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Finally, add the following code inside the node phoneNavigation:PhoneApplicationPage node.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;&lt;span style="color: blue"&gt;    &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;phoneNavigation&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;PhoneApplicationPage.ApplicationBar&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br /&gt;        &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;shell&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;ApplicationBar &lt;/span&gt;&lt;span style="color: red"&gt;Visible&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;True&amp;quot; &lt;/span&gt;&lt;span style="color: red"&gt;IsMenuEnabled&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;True&amp;quot;&amp;gt;&lt;br /&gt;            &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;shell&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;ApplicationBar.Buttons&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br /&gt;                &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;shell&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;ApplicationBarIconButton &lt;/span&gt;&lt;span style="color: red"&gt;IconUri&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;/Images/thumbs up.png&amp;quot;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;shell&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;ApplicationBarIconButton&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br /&gt;                &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;shell&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;ApplicationBarIconButton &lt;/span&gt;&lt;span style="color: red"&gt;IconUri&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;/Images/thumbs down.png&amp;quot;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;shell&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;ApplicationBarIconButton&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br /&gt;            &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;shell&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;ApplicationBar.Buttons&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br /&gt;            &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;shell&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;ApplicationBar.MenuItems&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br /&gt;                &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;shell&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;ApplicationBarMenuItem &lt;/span&gt;&lt;span style="color: red"&gt;x&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: red"&gt;Name&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;menuItem1&amp;quot; &lt;/span&gt;&lt;span style="color: red"&gt;Text&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;MenuItem 1&amp;quot;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;shell&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;ApplicationBarMenuItem&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br /&gt;                &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;shell&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;ApplicationBarMenuItem &lt;/span&gt;&lt;span style="color: red"&gt;x&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: red"&gt;Name&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;menuItem2&amp;quot; &lt;/span&gt;&lt;span style="color: red"&gt;Text&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;MenuItem 2&amp;quot;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;shell&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;ApplicationBarMenuItem&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br /&gt;            &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;shell&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;ApplicationBar.MenuItems&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br /&gt;        &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;shell&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;ApplicationBar&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br /&gt;    &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;phoneNavigation&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;PhoneApplicationPage.ApplicationBar&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&amp;#160;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;This code sample works with the following image storage structure:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://lh5.ggpht.com/_xN_jEPjPuqY/S6uqlQZA8XI/AAAAAAAABJs/ooY_C-yhJHI/s1600-h/image%5B5%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_xN_jEPjPuqY/S6uqlq6qCJI/AAAAAAAABJw/0JQ862hkUUE/image_thumb%5B1%5D.png?imgmax=800" width="223" height="197" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;The result:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://lh3.ggpht.com/_xN_jEPjPuqY/S6uqmB_3HEI/AAAAAAAABJ0/FS3sr6s-41w/s1600-h/image%5B9%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_xN_jEPjPuqY/S6uqmtIDgBI/AAAAAAAABJ4/BuPUgztsaVw/image_thumb%5B3%5D.png?imgmax=800" width="243" height="471" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;If the user clicks on the ellipses on the right side of the Application Bar, it will expand to show the menu items added.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://lh6.ggpht.com/_xN_jEPjPuqY/S6uqnRXR0kI/AAAAAAAABJ8/_xA-BECzgjE/s1600-h/image%5B15%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_xN_jEPjPuqY/S6uqn2Cor9I/AAAAAAAABKA/fKWe64_Gmvc/image_thumb%5B7%5D.png?imgmax=800" width="242" height="450" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;If your application is setup to handle both orientations (this is the default behavior) then the menu items and the buttons will rotate appropriately when the phone’s orientation changes.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://lh6.ggpht.com/_xN_jEPjPuqY/S6uqoTRZHkI/AAAAAAAABKE/qBZxMjxemDs/s1600-h/image%5B19%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_xN_jEPjPuqY/S6uqoj95G3I/AAAAAAAABKI/WBZfn68906I/image_thumb%5B9%5D.png?imgmax=800" width="609" height="316" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:ebd7e546-bc25-4d73-b94e-55fb2869ab63" class="wlWriterSmartContent"&gt;del.icio.us Tags: &lt;a href="http://del.icio.us/popular/Windows+Phone+7" rel="tag"&gt;Windows Phone 7&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/WindowsPhone7" rel="tag"&gt;WindowsPhone7&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Winodows+Phone+7+Application+Bar" rel="tag"&gt;Winodows Phone 7 Application Bar&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Windows+Phone+Application+Bar" rel="tag"&gt;Windows Phone Application Bar&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Silverlight" rel="tag"&gt;Silverlight&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/61023199121463803-8043080940926643622?l=dotnetgui.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/YovJDiNxhmBEDHR_TjKGwksGeU8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/YovJDiNxhmBEDHR_TjKGwksGeU8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/YovJDiNxhmBEDHR_TjKGwksGeU8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/YovJDiNxhmBEDHR_TjKGwksGeU8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/HmaprksGuiBlog/~4/VXZb17dVUr4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dotnetgui.blogspot.com/feeds/8043080940926643622/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://dotnetgui.blogspot.com/2010/03/how-to-add-application-bar-to-your.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/61023199121463803/posts/default/8043080940926643622?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/61023199121463803/posts/default/8043080940926643622?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/HmaprksGuiBlog/~3/VXZb17dVUr4/how-to-add-application-bar-to-your.html" title="How to add an Application Bar to your Windows Phone 7 App" /><author><name>hmaprk</name><uri>http://www.blogger.com/profile/17148290247104823437</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/_xN_jEPjPuqY/S6uqlPWoyfI/AAAAAAAABJo/tUe_HzXyHlE/s72-c/image_thumb.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://dotnetgui.blogspot.com/2010/03/how-to-add-application-bar-to-your.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0QMRHc8eCp7ImA9WxBaFEg.&quot;"><id>tag:blogger.com,1999:blog-61023199121463803.post-9145412714408918580</id><published>2010-03-24T11:29:00.001-07:00</published><updated>2010-03-24T11:29:45.970-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-24T11:29:45.970-07:00</app:edited><title>Windows Phone 7 Development: Using InputScopes</title><content type="html">&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;I went to Mix2010 this year and attended Mike Harsh’s talk on Building Windows Phone Applications with Silverlight (Part 1). After the session, I wanted to play around with InputScopes a little bit more, so I decided to try replicate the sample application he showed during the session. It is a really simple application. I figured I would post it since the presentation didn’t cover all of the implementation details.&lt;/p&gt;  &lt;p&gt;There is a textbox where the user can type text and a listbox which contains all the available InputScopes. When the user selects an InputScope, it is applied to the textbox. This controls what the virtual keyboard looks like when the user is typing in. For instance, if the user selects the TelephoneNumber InputScope, the keyboard will look like this&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_xN_jEPjPuqY/S6paD6L0j3I/AAAAAAAABIs/QSRH_HwigYo/s1600-h/image%5B2%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_xN_jEPjPuqY/S6paEoDehLI/AAAAAAAABIw/qbhZIwdoY7E/image_thumb.png?imgmax=800" width="244" height="173" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;But if he or she selects the InputScope the keyboard will look like this&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_xN_jEPjPuqY/S6paEyLE0RI/AAAAAAAABI0/y7JQswpdfrQ/s1600-h/image%5B5%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_xN_jEPjPuqY/S6paFWavG4I/AAAAAAAABI4/1cE7PkusTtk/image_thumb%5B1%5D.png?imgmax=800" width="244" height="171" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;So, first to the xaml. This part couldn’t be simpler. Inside the content grid, I added a textbox and a listbox. I also changed the title lable to InpuScopes. That’s it for the xaml&lt;/p&gt;  &lt;pre class="code"&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;TextBox &lt;/span&gt;&lt;span style="color: red"&gt;x&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: red"&gt;Name&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;txtInput&amp;quot; &lt;/span&gt;&lt;span style="color: red"&gt;Height&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;50&amp;quot; &lt;/span&gt;&lt;span style="color: red"&gt;VerticalAlignment&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;Top&amp;quot; /&amp;gt;           &lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;ListBox &lt;/span&gt;&lt;span style="color: red"&gt;Height&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;580&amp;quot; &lt;/span&gt;&lt;span style="color: red"&gt;x&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: red"&gt;Name&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;lstScope&amp;quot; &lt;/span&gt;&lt;span style="color: red"&gt;HorizontalAlignment&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;Stretch&amp;quot; &lt;/span&gt;&lt;span style="color: red"&gt;Margin&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;0,66,0,0&amp;quot; &lt;/span&gt;&lt;span style="color: red"&gt;VerticalAlignment&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;Top&amp;quot; &lt;/span&gt;&lt;span style="color: red"&gt;Width&lt;/span&gt;&lt;span style="color: blue"&gt;=&amp;quot;460&amp;quot; /&amp;gt;&lt;/span&gt;&lt;span style="color: blue"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;And this is what it looks like. In this screenshot, the listbox is already populated, but we’ll take care of that in a minute in the code behind.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://lh5.ggpht.com/_xN_jEPjPuqY/S6paF_U7P6I/AAAAAAAABI8/Ol6F68_eE8c/s1600-h/image%5B8%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_xN_jEPjPuqY/S6paGZdZ86I/AAAAAAAABJA/c5QZjQXizQI/image_thumb%5B2%5D.png?imgmax=800" width="126" height="244" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;In the class constructor I added the bottom two lines. The first one calls a GetNames method which basically returns a list of all the names of the given Enum. The second line simply assigns an event handler to the SelectionChanged event of the listbox. This could have been done in xaml, but I arbitrarily chose to do it in code.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;&lt;span style="color: blue"&gt;public &lt;/span&gt;MainPage()&lt;br /&gt;{&lt;br /&gt;     InitializeComponent();&lt;br /&gt;&lt;br /&gt;     SupportedOrientations = &lt;span style="color: #2b91af"&gt;SupportedPageOrientation&lt;/span&gt;.Portrait | &lt;span style="color: #2b91af"&gt;SupportedPageOrientation&lt;/span&gt;.Landscape;&lt;br /&gt;&lt;br /&gt;     lstScope.ItemsSource = &lt;span style="color: blue"&gt;this&lt;/span&gt;.GetNames(&lt;span style="color: blue"&gt;typeof&lt;/span&gt;(&lt;span style="color: #2b91af"&gt;InputScopeNameValue&lt;/span&gt;));&lt;br /&gt;     lstScope.SelectionChanged += &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;SelectionChangedEventHandler&lt;/span&gt;(lstScope_SelectionChanged);&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;Here is the implementation of the GetNames method. This will take any enumeration type and return a list of strings with all the values.&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;&lt;span style="color: blue"&gt;private  &lt;/span&gt;&lt;span style="color: #2b91af"&gt;IEnumerable&lt;/span&gt;&amp;lt;&lt;span style="color: blue"&gt;string&lt;/span&gt;&amp;gt; GetNames(&lt;span style="color: #2b91af"&gt;Type &lt;/span&gt;enumType)&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: blue"&gt;     if &lt;/span&gt;(!enumType.IsEnum)&lt;br /&gt;     {&lt;br /&gt;          t&lt;span style="color: blue"&gt;hrow new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;InvalidOperationException&lt;/span&gt;(&lt;span style="color: #a31515"&gt;&amp;quot;Not an enum type&amp;quot;&lt;/span&gt;);&lt;br /&gt;     }&lt;br /&gt;&lt;br /&gt;     &lt;span style="color: #2b91af"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: blue"&gt;string&lt;/span&gt;&amp;gt; nameList = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: #2b91af"&gt;String&lt;/span&gt;&amp;gt;();&lt;br /&gt;     &lt;span style="color: #2b91af"&gt;FieldInfo&lt;/span&gt;[] fiArray = enumType.GetFields();&lt;br /&gt;     &lt;span style="color: blue"&gt;foreach&lt;/span&gt;(&lt;span style="color: #2b91af"&gt;FieldInfo &lt;/span&gt;fi &lt;span style="color: blue"&gt;in &lt;/span&gt;fiArray)&lt;br /&gt;     {&lt;br /&gt;          &lt;span style="color: blue"&gt;if &lt;/span&gt;(fi.FieldType.IsEnum)&lt;br /&gt;          {&lt;br /&gt;               nameList.Add(fi.Name);&lt;br /&gt;          }&lt;br /&gt;     }&lt;br /&gt;&lt;br /&gt;     &lt;span style="color: blue"&gt;return &lt;/span&gt;nameList;&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;Finally, I implemented the SelectionChanged event handler for the listbox. I basically get the appropriate enum value from the selected string and call the SetInputScope method which essentially sets the input scope for the textbox. That’s it. &lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;&lt;span style="color: blue"&gt;void &lt;/span&gt;lstScope_SelectionChanged(&lt;span style="color: blue"&gt;object &lt;/span&gt;sender, &lt;span style="color: #2b91af"&gt;SelectionChangedEventArgs &lt;/span&gt;e)&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: #2b91af"&gt;     InputScopeNameValue &lt;/span&gt;val;&lt;br /&gt;&lt;br /&gt;     &lt;span style="color: blue"&gt;if &lt;/span&gt;(&lt;span style="color: #2b91af"&gt;Enum&lt;/span&gt;.IsDefined(&lt;span style="color: blue"&gt;typeof&lt;/span&gt;(&lt;span style="color: #2b91af"&gt;InputScopeNameValue&lt;/span&gt;), lstScope.SelectedItem))&lt;br /&gt;     {&lt;br /&gt;          val = (&lt;span style="color: #2b91af"&gt;InputScopeNameValue&lt;/span&gt;)&lt;span style="color: #2b91af"&gt;Enum&lt;/span&gt;.Parse(&lt;span style="color: blue"&gt;typeof&lt;/span&gt;(&lt;span style="color: #2b91af"&gt;InputScopeNameValue&lt;/span&gt;), lstScope.SelectedItem.ToString(), &lt;span style="color: blue"&gt;true&lt;/span&gt;);&lt;br /&gt;          SetInputScope(val);&lt;br /&gt;     }&lt;br /&gt;}        &lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue"&gt;private void &lt;/span&gt;SetInputScope(&lt;span style="color: #2b91af"&gt;InputScopeNameValue &lt;/span&gt;val)&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: blue"&gt;     try&lt;br /&gt;     &lt;/span&gt;{&lt;br /&gt;          txtInput.InputScope = &lt;span style="color: blue"&gt;new &lt;/span&gt;System.Windows.Input.&lt;span style="color: #2b91af"&gt;InputScope&lt;/span&gt;()&lt;br /&gt;          {&lt;br /&gt;               Names = { &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;InputScopeName&lt;/span&gt;() { NameValue = val } }&lt;br /&gt;          };&lt;br /&gt;     }&lt;br /&gt;     &lt;span style="color: blue"&gt;catch &lt;/span&gt;(&lt;span style="color: #2b91af"&gt;Exception&lt;/span&gt;)&lt;br /&gt;     {&lt;br /&gt;          &lt;span style="color: green"&gt;//Don't do anything. This fails with some of the InputScopes // Bug?&lt;br /&gt;     &lt;/span&gt;}            &lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:569b8500-993a-4a6f-af12-9851b69258bb" class="wlWriterEditableSmartContent"&gt;BuzzNet Tags: &lt;a href="http://www.buzznet.com/tags/WindowsPhone7" rel="tag"&gt;WindowsPhone7&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/WindowsPhone" rel="tag"&gt;WindowsPhone&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/Windows+Phone" rel="tag"&gt;Windows Phone&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/Windows+Phone+Emulator" rel="tag"&gt;Windows Phone Emulator&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/Silverlight" rel="tag"&gt;Silverlight&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/InputScope" rel="tag"&gt;InputScope&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/Keyboard" rel="tag"&gt;Keyboard&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/Microsoft+Silverlight" rel="tag"&gt;Microsoft Silverlight&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/61023199121463803-9145412714408918580?l=dotnetgui.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/gIiEOfTeJ306WSJHVxXPDLl2ujo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/gIiEOfTeJ306WSJHVxXPDLl2ujo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/gIiEOfTeJ306WSJHVxXPDLl2ujo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/gIiEOfTeJ306WSJHVxXPDLl2ujo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/HmaprksGuiBlog/~4/7KIJ0Q3m88g" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dotnetgui.blogspot.com/feeds/9145412714408918580/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://dotnetgui.blogspot.com/2010/03/windows-phone-7-development-using.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/61023199121463803/posts/default/9145412714408918580?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/61023199121463803/posts/default/9145412714408918580?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/HmaprksGuiBlog/~3/7KIJ0Q3m88g/windows-phone-7-development-using.html" title="Windows Phone 7 Development: Using InputScopes" /><author><name>hmaprk</name><uri>http://www.blogger.com/profile/17148290247104823437</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/_xN_jEPjPuqY/S6paEoDehLI/AAAAAAAABIw/qbhZIwdoY7E/s72-c/image_thumb.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://dotnetgui.blogspot.com/2010/03/windows-phone-7-development-using.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEUNR3s4cCp7ImA9WxBaE0s.&quot;"><id>tag:blogger.com,1999:blog-61023199121463803.post-6750937392627213503</id><published>2010-03-23T09:38:00.001-07:00</published><updated>2010-03-23T09:38:16.538-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-23T09:38:16.538-07:00</app:edited><title>Windows Phone 7 Book</title><content type="html">&lt;p&gt;Charles Petzold has written a Windows Phone 7 book and has posted a free preview here: &lt;a title="http://charlespetzold.com/phone/index.html" href="http://charlespetzold.com/phone/index.html"&gt;http://charlespetzold.com/phone/index.html&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Just thought I’d spread the word. More to come on Windows Phone 7 development. Happy Coding!&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:af881981-d077-476c-a760-c6aec12a1324" class="wlWriterEditableSmartContent"&gt;BuzzNet Tags: &lt;a href="http://www.buzznet.com/tags/Windows+Phone+7" rel="tag"&gt;Windows Phone 7&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/Windows+Phone" rel="tag"&gt;Windows Phone&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/Mobile" rel="tag"&gt;Mobile&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/Charles+Petzold" rel="tag"&gt;Charles Petzold&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/Silverlight" rel="tag"&gt;Silverlight&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/book" rel="tag"&gt;book&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/download" rel="tag"&gt;download&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/61023199121463803-6750937392627213503?l=dotnetgui.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Zk_n7QPWhFGz6X9DPWDNhVm9Ga8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Zk_n7QPWhFGz6X9DPWDNhVm9Ga8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Zk_n7QPWhFGz6X9DPWDNhVm9Ga8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Zk_n7QPWhFGz6X9DPWDNhVm9Ga8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/HmaprksGuiBlog/~4/kvTmRoD3kug" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dotnetgui.blogspot.com/feeds/6750937392627213503/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://dotnetgui.blogspot.com/2010/03/windows-phone-7-book.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/61023199121463803/posts/default/6750937392627213503?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/61023199121463803/posts/default/6750937392627213503?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/HmaprksGuiBlog/~3/kvTmRoD3kug/windows-phone-7-book.html" title="Windows Phone 7 Book" /><author><name>hmaprk</name><uri>http://www.blogger.com/profile/17148290247104823437</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://dotnetgui.blogspot.com/2010/03/windows-phone-7-book.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0MMRXc4cSp7ImA9WxBUFkk.&quot;"><id>tag:blogger.com,1999:blog-61023199121463803.post-3935768731148469261</id><published>2010-03-03T12:51:00.001-08:00</published><updated>2010-03-03T12:51:24.939-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-03T12:51:24.939-08:00</app:edited><title>Creating a Vista "Flip 3D" Menu Using Custom Layout Panels</title><content type="html">&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_xN_jEPjPuqY/S47LZisFqrI/AAAAAAAAA-0/ZvnekXB_Auc/s1600-h/image%5B126%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_xN_jEPjPuqY/S47LbTQcaDI/AAAAAAAAA-4/AN9cv8WyTTE/image_thumb%5B81%5D.png?imgmax=800" width="834" height="457" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Silverlight provides several layout panels which can be used to layout almost any simple user interface. These layout panels are the Grid, Canvas and StackPanel. In more sophisticated user interfaces, however, these basic layout panels may not be enough. In this chapter, you will learn how to create a custom layout panel that organizes its children in a 3D stack. We will create a test application for this panel which will allow you to manipulate various properties of the panel in order to achieve different visual effects including one similar to what is seen in Windows Vista Ultimate “Flip 3D” feature (Alt+Tab while various applications or folders are open to see the “Flip 3D” feature in action) .&lt;/p&gt;  &lt;p&gt;To begin, we need to create a new project Silverlight Class Library project in visual studio and name it CustomPanels. Now, add a class to the project and name it Stack3DPanel. Stack3DPanel needs to derive from Panel in order to inherit some of the properties and methods common to all layout panels. The most important of these is the ‘Children’ property which contains all the visual elements to be arranged by the panel. Next, we will add the dependency properties needed to manipulate the way the panel will layout its children. &lt;/p&gt;  &lt;p&gt;&lt;u&gt;Define Dependency Properties&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;Whenever creating properties on custom Silverlight classes, you should consider making those properties dependency properties. Although there are numerous reasons to create them as dependency properties, the most compelling reasons are arguably that dependency properties can support animations, styling and data binding. The dependency properties we will create for the Stack3DPanel are the DepthOffset, HorizontalOffset, VerticalOffset, SkewYAngle and Blur properties. &lt;u&gt;&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;Before creating the dependency properties, we need to create a static event handler which will execute whenever any of the dependency properties’ values change. Whenever a dependency property value changes, we want to rearrange the children in the panel accordingly. To do so, we simply call the InvalidateArrange method available to us because we derived from the Panel class. Notice we cannot directly access the panel’s InvalidateArrange method by calling this.InvalidateArrange() because this method is a static method. However, the DependencyObject parameter contains a reference to the panel. We can therefore access it as a Stack3DPanel to get to the InvalidateArrange method.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_xN_jEPjPuqY/S47LbqS-SDI/AAAAAAAAA-8/1UTGAdJ4ZSA/s1600-h/image%5B3%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_xN_jEPjPuqY/S47LcH4O6NI/AAAAAAAAA_A/69vn1jnsZI8/image_thumb%5B1%5D.png?imgmax=800" width="644" height="203" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;The DepthOffset property specifies the depth between items within the panel. This correlates to the projected location of the item relative to the z axis. The greater the DepthOffsett, the greater the distance between objects in the panel. Consequently, the items in the panel will appear to get closer to the user as the DepthOffset increases. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_xN_jEPjPuqY/S47Lcc2rj2I/AAAAAAAAA_E/PolL7o_v6Lg/s1600-h/image%5B15%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_xN_jEPjPuqY/S47Lc4xp-JI/AAAAAAAAA_I/Tpa8iwxweq8/image_thumb%5B7%5D.png?imgmax=800" width="376" height="358" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Note, the Stack3DPanel arranges its children in a Last In First Out (LIFO) fashion. In other words, the first item inserted into the panel is placed at the bottom of the stack and all successive items will be placed on top of that. To add the DepthOffset property, we need to add a public static dependency property and a public property to access it. This pattern will be repeated for all the dependency properties we will create for this panel. &lt;/p&gt;  &lt;p&gt;In order for the Silverlight property system to use the dependency property, we must follow the naming conventions it defines. Dependency properties themselves have unique basic names (DepthOffset). When creating the identifiers for those properties, the basic name is combined with the suffix Property (DepthOffsetProperty). When defining the property’s identifier, we register the dependency property by calling the static Register method of the DependencyProperty class. We will provide 4 parameters for this method. The first is the basic name of the property (i.e. DepthOffset). The second is the data type of that property. The third parameter identifies the type of the class registering the dependency property which in this case is Stack3DPanel. The final parameter is of type PropertyMetaData. This last parameter ultimately identifies what event handler to execute whenever the value of that dependency property changes. In this implementation, we want the same method to be executed whenever any of our dependency properties change, so instead of defining a new PropertyMetaData object within the Register method call (which is typically done), we will define a private variable of type PropertyMetaData which will point to the OnLayoutPropertyChanged event handler.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_xN_jEPjPuqY/S47LdZNrXPI/AAAAAAAAA_M/UbUoBz7tyiU/s1600-h/image%5B7%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_xN_jEPjPuqY/S47Ld4sU-6I/AAAAAAAAA_Q/OXp_exo5OPc/image_thumb%5B3%5D.png?imgmax=800" width="743" height="219" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;After we have created the property identifier, we can create the property which simply sets/gets the appropriate dependency property value from the Silverlight property system by calling get/set value for the appropriate property identifier.&lt;/p&gt;  &lt;p&gt;public double DepthOffset&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_xN_jEPjPuqY/S47LeVg_daI/AAAAAAAAA_U/RhaRjV4PTPE/s1600-h/image%5B11%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_xN_jEPjPuqY/S47LejZql2I/AAAAAAAAA_Y/oZBiM36ExUE/image_thumb%5B5%5D.png?imgmax=800" width="763" height="163" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;For the following dependency properties, we follow this same pattern; define the identifier by registering and then the property with a getter and setter for which access the registered dependency property.&lt;/p&gt;  &lt;p&gt;The HorizontalOffset property specifies the amount of horizontal space between items within the panel. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_xN_jEPjPuqY/S47LfFt3CZI/AAAAAAAAA_c/EuvdAF8rroI/s1600-h/image%5B19%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_xN_jEPjPuqY/S47Lfvm5IOI/AAAAAAAAA_g/XlKl6BSuFF0/image_thumb%5B9%5D.png?imgmax=800" width="800" height="444" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;First, we register the dependency property.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_xN_jEPjPuqY/S47LgfgKBaI/AAAAAAAAA_k/2p_-vKyNkP0/s1600-h/image%5B23%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_xN_jEPjPuqY/S47Lgla8kkI/AAAAAAAAA_o/XBtsekIB0g0/image_thumb%5B11%5D.png?imgmax=800" width="819" height="162" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;And then we define the HorizontalOffset property.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_xN_jEPjPuqY/S47LhMB1QSI/AAAAAAAAA_s/DirflceFRms/s1600-h/image%5B27%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_xN_jEPjPuqY/S47Lhl4dHyI/AAAAAAAAA_w/9WXgYOqJSiE/image_thumb%5B13%5D.png?imgmax=800" width="839" height="159" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The VerticalOffset property specifies the amount of vertical space between items within the panel.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_xN_jEPjPuqY/S47Lhx6AoDI/AAAAAAAAA_0/tzj1x2Livzg/s1600-h/image%5B31%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_xN_jEPjPuqY/S47LidaWKBI/AAAAAAAAA_4/uRnuyrnnVPY/image_thumb%5B15%5D.png?imgmax=800" width="630" height="410" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;First, we register the dependency property.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_xN_jEPjPuqY/S47Li20o1OI/AAAAAAAAA_8/7e_49fgtjSA/s1600-h/image%5B39%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_xN_jEPjPuqY/S47LjHPuy4I/AAAAAAAABAA/-_KsG7Bmtpk/image_thumb%5B19%5D.png?imgmax=800" width="651" height="127" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;And then we define the VerticalOffset property.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_xN_jEPjPuqY/S47Ljh3gpiI/AAAAAAAABAE/OIYo6PDnGro/s1600-h/image%5B35%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_xN_jEPjPuqY/S47LkUveayI/AAAAAAAABAI/8CfRPEYdRFE/image_thumb%5B17%5D.png?imgmax=800" width="665" height="121" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;The SkewYAngle property specifies the angle by which all the items within the panel are skewed along the y axis to create various visual effects.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_xN_jEPjPuqY/S47LknVp2rI/AAAAAAAABAM/ivU-YLfAnHk/s1600-h/image%5B43%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_xN_jEPjPuqY/S47LlNIUkqI/AAAAAAAABAQ/Rom6ooPB7pE/image_thumb%5B21%5D.png?imgmax=800" width="409" height="458" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;First, we register the dependency property.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_xN_jEPjPuqY/S47LlbrAzRI/AAAAAAAABAU/mr2eVwG82_U/s1600-h/image%5B47%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_xN_jEPjPuqY/S47LmRsPwAI/AAAAAAAABAY/BPNFkZJWsSk/image_thumb%5B23%5D.png?imgmax=800" width="673" height="142" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;And then we define the SkewYAngle property.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_xN_jEPjPuqY/S47Lmrk1B2I/AAAAAAAABAc/R19KI0jLjk4/s1600-h/image%5B51%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_xN_jEPjPuqY/S47LnPNYKII/AAAAAAAABAg/Af5T9tRmeWs/image_thumb%5B25%5D.png?imgmax=800" width="707" height="154" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Lastly, Blur property specifies if a blur effect is applied to the items within the panel giving the illusion of loss of focus as the individual items are further away from the user.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_xN_jEPjPuqY/S47LnQ2criI/AAAAAAAABAk/Psp5baY9Ct0/s1600-h/image%5B55%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_xN_jEPjPuqY/S47LnjhXq3I/AAAAAAAABAo/YFGt3pDPkIM/image_thumb%5B27%5D.png?imgmax=800" width="556" height="300" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Firs, we register the dependency property.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_xN_jEPjPuqY/S47LoXTwvCI/AAAAAAAABAs/P9dpuYCb9_o/s1600-h/image%5B59%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_xN_jEPjPuqY/S47Lot9YcKI/AAAAAAAABAw/bj_A7w9RYDQ/image_thumb%5B29%5D.png?imgmax=800" width="588" height="126" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;And then we define the Blur property. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_xN_jEPjPuqY/S47LpA2KmRI/AAAAAAAABA0/wfLhzP2jYbA/s1600-h/image%5B63%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_xN_jEPjPuqY/S47LpoM9-DI/AAAAAAAABA4/5dvMPJ2U1WQ/image_thumb%5B31%5D.png?imgmax=800" width="608" height="143" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;u&gt;Implement Overrides&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;Now it’s time to work on the heart of the Stack3DPanel. Whenever creating custom layout panels, the two most important methods that you must override are MeasureOverride and ArrangeOverride. We’ll start by implementing the MeasureOverride method.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_xN_jEPjPuqY/S47Lp07v6OI/AAAAAAAABA8/2AofLn88cn0/s1600-h/image%5B67%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_xN_jEPjPuqY/S47LqQy3Q8I/AAAAAAAABBA/qRf8vTC2QOg/image_thumb%5B33%5D.png?imgmax=800" width="629" height="201" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;MeasureOverride method first calls the Measure method for each child element. This call is necessary for the child element to calculate its DesiredSize property, which is later used in the ArrangeOverride method. The method then simply returns the availableSize it originally provided. &lt;/p&gt;  &lt;p&gt;As its name suggests, the ArrangeOverride method is responsible for placing the children of the panel in their appropriate locations. In essence, this method contains all the logic which causes the panel to arrange its children in a 3D stack formation. While iterating through all its children, the ArrangeOverride method first center aligns each child element both vertically and horizontally. Second, a BlurEffect is applied to the children if the Blur property is set to true and if the current child element is not the first in the list. We do not want the first child element blurred because it appears in front of all the other elements. The appropriate visual effect is for those that are further back to appear blurred while the ones in front appear more focused. Then, the elements are placed on the panel. This is done by calling the child.Arrange method. Initially, all the children are placed in the same location. A series of projections and a transforms are then applied to the children according to their relative position to achieve the appropriate visual effect. First, a SkewTransform is applied with the AngleY set to the value in the SkewYAngle property as a RenderTransform. Finally, a PlaneProjection is applied to each child element. Where LocalOffsetZ, LocalOffsetX and LocalOffset Y are set to i*DepthOffset, i*HorizontalOffset and i*VerticalOffset respectively. At the conclusion of the method, the finalSize value passed in as a parameter is returned. This is typically done in most custom panel implementations. Note: when the panel is rendered, the last child element will appear in the front of the stack (closest to the user) and the first child element will appear in the back (furthest from the user). &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_xN_jEPjPuqY/S47Lq56oXhI/AAAAAAAABBE/3snvXtD0Tq8/s1600-h/image%5B71%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_xN_jEPjPuqY/S47Lrd2O0yI/AAAAAAAABBI/t_RwC6jbMSI/image_thumb%5B35%5D.png?imgmax=800" width="970" height="1037" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;u&gt;Define Operations&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;One feature we will add to this custom panel is the ability to interact with it. We want to allow users to cycle through the items in the stack panel by popping the element on top off the stack and pushing it to the bottom of the stack allowing users to easily flip through the children in the panel. To do this, we must implement the Push, Pop, Cycle and CycleBack methods. &lt;/p&gt;  &lt;p&gt;The panel we are creating is called a 3DStackPanel because it lays out its children in a 3 dimensional stack formation. The way we will implement that adding and removing of items from this panel, however, will more closely resemble that of a queue. Because we are calling it a 3DStackPanel, we will use name these operations Push and Pop as is typical of any stack. Note, in a traditional queue implementation, elements are added in the back of the queue and removed from the front. These operations are known as enqueue and dequeue respectively. In essence, we will implement an enqueue method and name it push and a dequeue method and name it pop.&lt;/p&gt;  &lt;p&gt;We start with the simplest method to implement – Push. The Push method takes in an UIElement as an input parameter. This is the element that is to be inserted into the stack. We simply insert it in the front of the Children collection. Because of how the ArrangeOverride method was implemented, inserting the element in the front of the Children collection will make it appear in the back of the stack once it is rendered to the screen.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_xN_jEPjPuqY/S47Lr0RHPZI/AAAAAAAABBM/ouOYo26arP0/s1600-h/image%5B75%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_xN_jEPjPuqY/S47LsO0tvNI/AAAAAAAABBQ/LkVLnV1Tm0w/image_thumb%5B37%5D.png?imgmax=800" width="529" height="135" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;The Pop operation will simply remove the last child element (which is rendered at the front of the stack) from the stack and returns it. We need to check for an empty Children collection. If there are no children, the method simply returns null;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_xN_jEPjPuqY/S47LsjvivhI/AAAAAAAABBU/XKlJcYXHgC0/s1600-h/image%5B79%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_xN_jEPjPuqY/S47LtFp5BtI/AAAAAAAABBY/os_Ts-6gnB8/image_thumb%5B39%5D.png?imgmax=800" width="830" height="287" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Now that Push and Pop have been implemented, we can add two other methods that combine these operations to allow us to flip through the stack. The cycle method will take the element appearing in the front and place it in the back. This is done by calling the Pop method and then the Push method with that same element. After we have rearranged the Children collection by calling the Push and Pop methods, we call the InvalidateArrange method to rearrange the elements on the screen.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_xN_jEPjPuqY/S47LtasJvkI/AAAAAAAABBc/dKNzs4dn7m0/s1600-h/image%5B83%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_xN_jEPjPuqY/S47Lt05BiBI/AAAAAAAABBg/1tjj9s6VLtM/image_thumb%5B41%5D.png?imgmax=800" width="589" height="280" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;The CycleBack method will do the opposite of the Cycle method. It removes the first element in the Children collection, which appears in the back of the stack, and sets it as the last in the Children collection, which in turn places it in the front of the stack when rendered. Again, once the Children are rearranged, we call InvalidateArrange to arrange the elements on the screen.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_xN_jEPjPuqY/S47LuT3dCQI/AAAAAAAABBk/uEJgye_YA6E/s1600-h/image%5B87%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_xN_jEPjPuqY/S47Lujx5erI/AAAAAAAABBo/adepgpkuKgM/image_thumb%5B43%5D.png?imgmax=800" width="593" height="246" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;The last piece of functionality we will add is mousewheel interactivity. We will allow users to cycle back and forth through the elements in the panel by scrolling back and forth on the mouse wheel. To do this, we need to add a MouseWheel event handler. We then simply call the Cycle and CycleBack methods inside the event handler depending on which way the mouse wheel is rolled.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_xN_jEPjPuqY/S47LvIATnMI/AAAAAAAABBs/snStpEi-Sfk/s1600-h/image%5B91%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_xN_jEPjPuqY/S47Lvn_-u0I/AAAAAAAABBw/xeaTM5NP5p8/image_thumb%5B45%5D.png?imgmax=800" width="847" height="358" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;We have now finished implementing our custom Stack3DPanel. Now, let’s create a sample application to use this panel to arrange images in the 3D stack.&lt;/p&gt;  &lt;p&gt;&lt;u&gt;Create Sample Application&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;Add a new Silverlight Application project to the Visual Studio Solution and name it PictureStack. This will add two projects to the solution, the silverlight project (PictureStack) and a web project (PictureStack.Web). Paste the following XAML into MainPage.xaml located in the silverlight project to layout the user interface. In this user interface, we are placing an instance of the Stack3DPanel and using data binding to manipulate all the dependency properties we defined for it.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_xN_jEPjPuqY/S47LwN-N4SI/AAAAAAAABB0/sRiaYild2vU/s1600-h/image%5B120%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_xN_jEPjPuqY/S47Lw6X19xI/AAAAAAAABB8/J2Bv0BzYvew/image_thumb%5B77%5D.png?imgmax=800" width="896" height="970" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_xN_jEPjPuqY/S47LxYbMEKI/AAAAAAAABCA/rGM1_u4XbrA/s1600-h/image%5B119%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_xN_jEPjPuqY/S47Lx8N1NFI/AAAAAAAABCE/TqyW6HMvpmk/image_thumb%5B71%5D.png?imgmax=800" width="930" height="665" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Now add the following code to MainPage.xaml.cs to implement the application logic. All we are doing is calling the Cycle method when the cycle button is clicked and using an OpenFileDialog to add images to the Stack3DPanel. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_xN_jEPjPuqY/S47LyQ2Z2AI/AAAAAAAABCI/JwlH4FPSYpo/s1600-h/image%5B112%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_xN_jEPjPuqY/S47LyxZLOVI/AAAAAAAABCM/W9AiSdUj-24/image_thumb%5B60%5D.png?imgmax=800" width="993" height="1167" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Now, run the application and experiment by changing the values of the slider to come up with different visual effects. I encourage you to also experiment with this new panel by placing images and other user interface elements such as buttons, textboxes, and other layout panels to create more sophisticated user interfaces. An interesting use of this custom panel would be to use to layout various screens of an application wizard. &lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:ef905fc1-20b4-4d3e-aec3-525f4ecca02b" class="wlWriterEditableSmartContent"&gt;BuzzNet Tags: &lt;a href="http://www.buzznet.com/tags/flip3d" rel="tag"&gt;flip3d&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/silverlight" rel="tag"&gt;silverlight&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/image" rel="tag"&gt;image&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/stackpanel" rel="tag"&gt;stackpanel&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/imagestack" rel="tag"&gt;imagestack&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/custom+panel" rel="tag"&gt;custom panel&lt;/a&gt;,&lt;a href="http://www.buzznet.com/tags/panel" rel="tag"&gt;panel&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/61023199121463803-3935768731148469261?l=dotnetgui.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/EbRZWhZbwbVB3KRmproJmcJLEGQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EbRZWhZbwbVB3KRmproJmcJLEGQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/EbRZWhZbwbVB3KRmproJmcJLEGQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EbRZWhZbwbVB3KRmproJmcJLEGQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/HmaprksGuiBlog/~4/UGET6OVnTI0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dotnetgui.blogspot.com/feeds/3935768731148469261/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://dotnetgui.blogspot.com/2010/03/creating-vista-3d-menu-using-custom.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/61023199121463803/posts/default/3935768731148469261?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/61023199121463803/posts/default/3935768731148469261?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/HmaprksGuiBlog/~3/UGET6OVnTI0/creating-vista-3d-menu-using-custom.html" title="Creating a Vista &amp;quot;Flip 3D&amp;quot; Menu Using Custom Layout Panels" /><author><name>hmaprk</name><uri>http://www.blogger.com/profile/17148290247104823437</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/_xN_jEPjPuqY/S47LbTQcaDI/AAAAAAAAA-4/AN9cv8WyTTE/s72-c/image_thumb%5B81%5D.png?imgmax=800" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://dotnetgui.blogspot.com/2010/03/creating-vista-3d-menu-using-custom.html</feedburner:origLink></entry></feed>

