<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Windows Presentation Foundation User Education</title><link>http://blogs.msdn.com/b/wpfsdk/</link><description /><dc:language>en-US</dc:language><generator>Telligent Community 5.6.583.17018 (Build: 5.6.583.17018)</generator><item><title>Write Your Own Surface App with WPF!</title><link>http://blogs.msdn.com/b/wpfsdk/archive/2011/07/12/write-your-own-surface-app-with-wpf.aspx</link><pubDate>Tue, 12 Jul 2011 22:15:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10185805</guid><dc:creator>Margaret Parsons [MSFT]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/wpfsdk/rsscomments.aspx?WeblogPostID=10185805</wfw:commentRss><comments>http://blogs.msdn.com/b/wpfsdk/archive/2011/07/12/write-your-own-surface-app-with-wpf.aspx#comments</comments><description>&lt;p&gt;Hey WPF devs - as of today you can get the Microsoft&amp;nbsp;Surface 2.0 SDK and write your own surface app.&amp;nbsp; You can even use a Windows 7 touch computer to create and test your app!&amp;nbsp; To start playing and get more info, go to the &lt;a href="http://www.surface.com"&gt;www.surface.com&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10185805" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/WPF/">WPF</category><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/Windows+7/">Windows 7</category><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/Surface/">Surface</category></item><item><title>Inspire Improvements to Windows Phone Documentation</title><link>http://blogs.msdn.com/b/wpfsdk/archive/2010/12/03/inspire-improvements-to-windows-phone-documentation.aspx</link><pubDate>Fri, 03 Dec 2010 19:47:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10100137</guid><dc:creator>snoutholder</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/wpfsdk/rsscomments.aspx?WeblogPostID=10100137</wfw:commentRss><comments>http://blogs.msdn.com/b/wpfsdk/archive/2010/12/03/inspire-improvements-to-windows-phone-documentation.aspx#comments</comments><description>&lt;p&gt;&lt;span style="color: #1f497d;"&gt;
&lt;p&gt;We are doing a study to see how we are doing with our documentation.&amp;nbsp; Your input will inform and inspire improvements and new features for developers.&lt;br /&gt;We&amp;rsquo;re looking for developers who&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Code at least 20 hours per week&lt;/li&gt;
&lt;li&gt;Are employed as software developers&lt;/li&gt;
&lt;li&gt;Do not have a degree in user experience or usability&lt;/li&gt;
&lt;li&gt;Have NOT worked for Microsoft in the past 5 years (including CSG and v-)&lt;/li&gt;
&lt;li&gt;Do not have development experience with the Windows Phone 7&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To participate, contact &lt;a href="mailto:yannr@microsoft.com"&gt;yannr@microsoft.com&lt;/a&gt;&lt;br /&gt;We also encourage interested participants to fill out the survey at &lt;a href="https://illumeweb.smdisp.net/Collector/Survey.ashx?Name=FY2011"&gt;https://illumeweb.smdisp.net/Collector/Survey.ashx?Name=FY2011&lt;/a&gt;&lt;/p&gt;
&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10100137" width="1" height="1"&gt;</description></item><item><title>A WPF Lab right in Visual Studio!</title><link>http://blogs.msdn.com/b/wpfsdk/archive/2010/11/10/a-wpf-lab-right-in-visual-studio.aspx</link><pubDate>Wed, 10 Nov 2010 00:27:48 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10088541</guid><dc:creator>Carole Snyder - MSFT</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/wpfsdk/rsscomments.aspx?WeblogPostID=10088541</wfw:commentRss><comments>http://blogs.msdn.com/b/wpfsdk/archive/2010/11/10/a-wpf-lab-right-in-visual-studio.aspx#comments</comments><description>&lt;p&gt;&lt;span style="font-family: arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;I recently learned about &lt;/span&gt;&lt;/span&gt;&lt;a href="http://visualstudiogallery.msdn.microsoft.com/en-us/7fe6f504-a58d-456e-8f55-e64bddc81a41"&gt;&lt;span style="font-family: arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Ron Jacob's Hand on Lab&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt; for Windows Workflow Foundation 4 and I liked it so much that I decided to create one for WPF. Check out the &lt;/span&gt;&lt;/span&gt;&lt;a href="http://visualstudiogallery.msdn.microsoft.com/en-us/20dfcfd5-d763-4e9a-a8d7-f421e435622c?SRC=Home"&gt;&lt;span style="font-family: arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;WPF Simple Application Walkthough&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt; on Visual Studio Gallery!&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;I adapted an &lt;/span&gt;&lt;/span&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb546972.aspx"&gt;&lt;span style="font-family: arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;existing topic on MSDN&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt; to integrate directly with Visual Studio.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;The lab demonstrates creating a WPF application and doing some simple data binding.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;Those of you who are familiar with WPF won't learn anything new, but I'm hoping you will check it out anyway, to let us know if you like this method of learning.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;/span&gt;&lt;span style="font-family: arial,helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;A few things to keep in mind: You need Visual Studio Pro, Premium, or Ultimate to install the lab.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;The lab is presently in C# only.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;No Visual&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;Basic.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;I know that overcoming those limitations are important to many of you and I hope we can do so in the future, but I wanted to get something to the community so we can get your feedback!&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10088541" width="1" height="1"&gt;</description></item><item><title>MSDN Magazine - A Coder’s Guide to Writing API Documentation</title><link>http://blogs.msdn.com/b/wpfsdk/archive/2010/11/05/msdn-magazine-a-coder-s-guide-to-writing-api-documentation.aspx</link><pubDate>Fri, 05 Nov 2010 22:19:20 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10086948</guid><dc:creator>Jim Walker - MSFT</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/wpfsdk/rsscomments.aspx?WeblogPostID=10086948</wfw:commentRss><comments>http://blogs.msdn.com/b/wpfsdk/archive/2010/11/05/msdn-magazine-a-coder-s-guide-to-writing-api-documentation.aspx#comments</comments><description>&lt;p&gt;Peter Gruenbaum has written a great article in the November 2010 issue of MSDN Magazine about the why and how of&amp;nbsp;documenting APIs . You can read it online here: &lt;a href="http://msdn.microsoft.com/en-us/magazine/gg309172.aspx"&gt;Hello World! A Coder's Guide to Writing API Documentation&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10086948" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/General/">General</category><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/Documents/">Documents</category><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/MSDN/">MSDN</category></item><item><title>My favorite feature of the WPF and Silverlight Tools update</title><link>http://blogs.msdn.com/b/wpfsdk/archive/2010/08/26/my-favorite-feature-of-the-wpf-and-silverlight-tools-update.aspx</link><pubDate>Thu, 26 Aug 2010 20:33:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10054780</guid><dc:creator>Carole Snyder - MSFT</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/wpfsdk/rsscomments.aspx?WeblogPostID=10054780</wfw:commentRss><comments>http://blogs.msdn.com/b/wpfsdk/archive/2010/08/26/my-favorite-feature-of-the-wpf-and-silverlight-tools-update.aspx#comments</comments><description>&lt;p&gt;&amp;nbsp;Update:&amp;nbsp; I guess I didn't check the link I originally posted well enough.&amp;nbsp; It's fixed, now.&amp;nbsp; Thanks to &lt;span style="font-family: 'Arial','sans-serif'; font-size: 10pt; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA;"&gt;Thomas Freudenberg for providing the correct link.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in; font-family: Calibri; font-size: 11pt;"&gt;OK, I know this update is several months old, but I was so excited to see this feature that I wanted to share.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;If you're like me, you spend a fair amount of time in XAML files.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;These files, of course, get long and unwieldy.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;I've long appreciated the ability to collapse sections in Visual Studio to make navigating the files quicker,&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;but I've been less that happy with the amount of information you see when elements are collapsed.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;For example, if you collapse the following style elements:&lt;/p&gt;
&lt;p style="margin: 0in; font-family: Calibri; font-size: 11pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0in;"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-64-10/0363.collapsedxaml1.png" border="0" /&gt;&lt;/p&gt;
&lt;p style="margin: 0in; font-family: Calibri; font-size: 11pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0in; font-family: Calibri; font-size: 11pt;"&gt;You only see &amp;lt;Style&amp;hellip;/&amp;gt;, which doesn't give you enough information to know what each element really is.&lt;/p&gt;
&lt;p style="margin: 0in; font-family: Calibri; font-size: 11pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0in;"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-64-10/5040.collapsedxaml2.png" border="0" /&gt;&lt;/p&gt;
&lt;p style="margin: 0in; font-family: Calibri; font-size: 11pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0in; font-family: Calibri; font-size: 11pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0in; font-family: Calibri; font-size: 11pt;"&gt;The &lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=40ef0f31-cb95-426d-9ce0-00dcfabf3df5"&gt;update for WPF and Silverlight tools in Visual Studio 2010&lt;/a&gt; changes this feature so that the first line is shown.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;This is a great addition because now you have control over what you see when an element is collapsed.&lt;/p&gt;
&lt;p style="margin: 0in; font-family: Calibri; font-size: 11pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0in;"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-64-10/4405.collapsedxaml3.png" border="0" /&gt;&lt;/p&gt;
&lt;p style="margin: 0in; font-family: Calibri; font-size: 11pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0in; font-family: Calibri; font-size: 11pt;"&gt;The entire first line is shown, so you can decide how much information is shown.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;In the following illustration, I moved the TargetType property of each style to the first line of the element.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;Now you see the key and target type for the styles.&lt;/p&gt;
&lt;p style="margin: 0in; font-family: Calibri; font-size: 11pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0in;"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-64-10/3438.collapsedxaml4.png" border="0" /&gt;&lt;/p&gt;
&lt;p style="margin: 0in; font-family: Calibri; font-size: 11pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0in; font-family: Calibri; font-size: 11pt;"&gt;Thanks, Visual Studio, for this great addition!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10054780" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/XAML/">XAML</category></item><item><title>Experiments with WindowChrome</title><link>http://blogs.msdn.com/b/wpfsdk/archive/2010/08/25/experiments-with-windowchrome.aspx</link><pubDate>Wed, 25 Aug 2010 18:25:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10054252</guid><dc:creator>Jim Walker - MSFT</dc:creator><slash:comments>9</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/wpfsdk/rsscomments.aspx?WeblogPostID=10054252</wfw:commentRss><comments>http://blogs.msdn.com/b/wpfsdk/archive/2010/08/25/experiments-with-windowchrome.aspx#comments</comments><description>&lt;p&gt;In July, the &lt;a target="_blank" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=2BFC3187-74AA-4154-A670-76EF8BC2A0B4"&gt;Microsoft Ribbon for WPF&lt;/a&gt; was released. Hopefully you saw the announcements from the &lt;a target="_blank" href="http://blogs.msdn.com/b/wpf/archive/2010/08/03/introducing-microsoft-ribbon-for-wpf.aspx"&gt;WPF Team&lt;/a&gt; and on &lt;a target="_blank" href="http://10rem.net/blog/2010/08/02/announcing-microsoft-ribbon-for-wpf-rtw"&gt;Pete Brown&amp;rsquo;s blog&lt;/a&gt;, and have already downloaded the Ribbon. A little bonus that you get with the Ribbon is the &lt;a target="_blank" href="http://code.msdn.microsoft.com/WPFShell"&gt;WPF Shell Integration Library&lt;/a&gt; and &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/microsoft.windows.shell.aspx"&gt;documentation&lt;/a&gt; for it on MSDN. This library includes the &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/microsoft.windows.shell.windowchrome.aspx"&gt;WindowChrome&lt;/a&gt; class, which the RibbonWindow uses to draw things like the QuickAccessToolbar and contextual tab headers in the non-client area of the window. You can use the shell integration features without using the Ribbon, or you can download and use it on its own from &lt;a target="_blank" href="http://code.msdn.microsoft.com/WPFShell"&gt;MSDN Code Gallery&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Since the &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/microsoft.windows.shell.windowchrome.aspx"&gt;WindowChrome&lt;/a&gt; documentation only shows an example of creating a standard looking window, I wanted to share some other experiments that look a little more interesting. I built a simple calculator application, and gave it some different looks using WindowChrome. Double-clicking the system button switches to the next style. In these screen shots, only the window style is changing; the calculator control is the same.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-64-10-metablogapi/6886.4Calc_5F00_2.png"&gt;&lt;img height="387" width="420" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-64-10-metablogapi/1106.4Calc_5F00_thumb.png" alt="4Calc" border="0" title="4Calc" style="background-image: none; border-right-width: 0px; margin: 5px 5px 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this post, I&amp;rsquo;ll quickly walk through creating the last style shown, which is modeled after the Gadgets window in Windows 7.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-64-10-metablogapi/0844.GadgetWindow_5F00_2.png"&gt;&lt;img height="166" width="277" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-64-10-metablogapi/2570.GadgetWindow_5F00_thumb.png" alt="GadgetWindow" border="0" title="GadgetWindow" style="background-image: none; border-right-width: 0px; margin: 5px 5px 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Using the WindowChrome class&lt;/h3&gt;
&lt;p&gt;The first thing to do to use the WindowChrome class is to &lt;a href="http://msdn.microsoft.com/en-us/library/wkze6zky.aspx"&gt;add a reference&lt;/a&gt; to the Microsoft.Windows.Shell assembly. If you have the WPF Ribbon installed, you&amp;rsquo;ll find it listed under Assemblies &amp;gt; Extensions &amp;gt; Microsoft.Windows.Shell. If you are using the stand-alone library from Code Gallery, you&amp;rsquo;ll need to browse to where you put the .dll file.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-64-10-metablogapi/0116.AddRef_5F00_2.png"&gt;&lt;img height="357" width="596" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-64-10-metablogapi/5238.AddRef_5F00_thumb.png" alt="AddRef" border="0" title="AddRef" style="background-image: none; border-right-width: 0px; margin: 5px 5px 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Next, we&amp;rsquo;ll do some basic set up of the project and application window. &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Add an Images folder to the project for icons and backgrounds. &lt;/li&gt;
&lt;li&gt;Add XML namespace references for the Shell library and the local application. &lt;/li&gt;
&lt;li&gt;Set the name, title, size, and icon properties.
&lt;p&gt;(You&amp;rsquo;ll also need to add the icon to the project. Calculator.ico is from the &lt;a href="http://msdn.microsoft.com/en-us/library/ms247035.aspx"&gt;Visual Studio Image Library&lt;/a&gt; (&amp;gt; Objects &amp;gt;ico_format &amp;gt; WinVista). The other images in this example were created using Paint.NET.)&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;When you're done, the XAML will look like this:&lt;/p&gt;
&lt;pre style="line-height: normal; font-family: "&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Window&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; x&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;:&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;Class&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;=&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;"WpfChromeCalculator.MainWindow"&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;xmlns&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;=&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;"http://schemas.microsoft.com/winfx/2006/xaml/presentation"&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;xmlns&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;:&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;x&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;=&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;"http://schemas.microsoft.com/winfx/2006/xaml"&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;xmlns&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;:&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;shell&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;=&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;"clr-namespace:Microsoft.Windows.Shell;assembly=Microsoft.Windows.Shell"&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;xmlns&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;:&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;local&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;=&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;"clr-namespace:WpfChromeCalculator"&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;Title&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;=&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;"Chrome Calculator"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; Height&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;=&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;"260"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; Width&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;=&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;"300"&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;Icon&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;=&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;"Images/calculator.ico"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; x&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;:&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;Name&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;=&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;"CalcWindow"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="line-height: normal; font-family: "&gt;&lt;span style="FONT-FAMILY: Consolas"&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #0000ff;"&gt;    &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Grid&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Grid&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Window&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Now we can use WindowChrome to add some styles to the application. The WindowChrome documentation gives an overview of how to style the window using WindowChrome, so I won't cover everything in detail here. &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/microsoft.windows.shell.windowchrome.aspx"&gt;Check out the overview&lt;/a&gt;, and then we&amp;rsquo;ll get to customizing a style...&lt;/p&gt;
&lt;h3&gt;Styling WindowChrome&lt;/h3&gt;
&lt;p&gt;First, we&amp;rsquo;ll add a style to our window resources with a target type of local:MainWindow. We attach the WindowChrome object to the MainWindow using the WindowChrome attached property.&lt;/p&gt;
&lt;p&gt;To get the transparent look of the gadget window, we&amp;rsquo;ll set the &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/microsoft.windows.shell.windowchrome.glassframethickness.aspx"&gt;WindowChrome.GlassFrameThickness&lt;/a&gt; property to -1. This makes the glass effect cover the entire window. We&amp;rsquo;ll also set the &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/microsoft.windows.shell.windowchrome.resizeborderthickness.aspx"&gt;ResizeBorderThickness&lt;/a&gt; and &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/microsoft.windows.shell.windowchrome.captionheight.aspx"&gt;CaptionHeight&lt;/a&gt; properties. These areas are not visible, but respond to the mouse to provide window resizing and dragging.&lt;/p&gt;
&lt;pre style="line-height: normal; font-family: "&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Window.Resources&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #a31515;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Style&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; x&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;:&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;Key&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;=&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;"GadgetStyle"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; TargetType&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="{&lt;/span&gt;&lt;span style="color: #a31515;"&gt;x&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;:&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Type&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; local&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;:&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;MainWindow&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;}&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Setter&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; Property&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;=&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;"shell:WindowChrome.WindowChrome"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Setter.Value&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;shell&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;:&lt;/span&gt;&lt;span style="color: #a31515;"&gt;WindowChrome&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; GlassFrameThickness&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;=&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;"-1"&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #ff0000;"&gt; ResizeBorderThickness&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;=&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;"4"&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #ff0000;"&gt; CaptionHeight&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;=&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;"36"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #0000ff;"&gt;      &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Setter.Value&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #a31515;"&gt; &amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Setter&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt; &amp;hellip;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Next, we&amp;rsquo;ll add a control template that specifies the elements of the application window. The first thing to do here is to provide a ContentPresenter that displays the contents of the window. To make the content fit within the window border, we&amp;rsquo;ll put it inside an invisible Border and set the margins to match the widths of the window border (0 on the sides, 25 on the bottom, and 40 (RisizeBorderThickness + CaptionHeight) on the top).&lt;/p&gt;
&lt;p&gt;Finally, we can specify any controls or other content that will appear in the border. This is the main point of using WindowChrome - the ability to put your own interactive WPF content in the window border. For the sake of this demonstration, the content will be a simple button to represent the System button, and a TextBlock to display the window title.&lt;/p&gt;
&lt;pre style="line-height: normal; font-family: "&gt;&lt;span style="FONT-FAMILY: ; FONT-SIZE: x-small"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #a31515;"&gt;&amp;hellip; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Setter&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; Property&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;=&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;"Template"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #a31515;"&gt; &amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Setter.Value&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;ControlTemplate&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; TargetType&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="{&lt;/span&gt;&lt;span style="color: #a31515;"&gt;x&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;:&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Type&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; local&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;:&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;MainWindow&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;}&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Grid&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #a31515;"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #008000;"&gt;&amp;lt;!-- This is the ContentPresenter that displays the window content. --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Border&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; Margin&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;=&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;"0,40,0,25"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt; &amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;ContentPresenter&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; Content&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="{&lt;/span&gt;&lt;span style="color: #a31515;"&gt;TemplateBinding&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; Content&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;}&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Border&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #008000;"&gt;&amp;lt;!--This is the transparent white rectangle that goes behind the window content.--&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Border&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; Margin&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;=&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;"1,40,1,25"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; BorderBrush&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;=&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;"Gray"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; BorderThickness&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;=&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;"0,1,0,1"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; &lt;br /&gt;                  Grid.ZIndex&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;=&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;"-1"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Rectangle&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; Fill&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;=&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;"White"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; Opacity&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;=&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;"0.5"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt; /&amp;gt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Border&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #008000;"&gt;&amp;lt;!-- Window Border Content --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span style="color: #008000;"&gt;&amp;lt;!-- System Button --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;       &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Button&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; VerticalAlignment&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;=&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;"Top"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; HorizontalAlignment&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;=&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;"Left"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; Padding&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;=&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;"1"&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #ff0000;"&gt; Margin&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="{&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Binding&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; RelativeSource&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;={&lt;/span&gt;&lt;span style="color: #a31515;"&gt;RelativeSource&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; TemplatedParent&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;},&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: #ff0000;"&gt;&amp;nbsp;&lt;br /&gt;                    Path&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;=(&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;shell&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;:&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;WindowChrome&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;.&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;WindowChrome&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;).&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;ResizeBorderThickness&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;}&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #ff0000;"&gt; shell&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;:&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;WindowChrome.IsHitTestVisibleInChrome&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;=&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;"True"&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #ff0000;"&gt; Command&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="{&lt;/span&gt;&lt;span style="color: #a31515;"&gt;x&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;:&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Static&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; shell&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;:&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;SystemCommands&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;.&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;ShowSystemMenuCommand&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;}&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;"&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #ff0000;"&gt; CommandParameter&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="{&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Binding&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; ElementName&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;=&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;CalcWindow&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;}&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Image&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; Source&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="{&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Binding&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; RelativeSource&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;=&lt;br /&gt;                                      {&lt;/span&gt;&lt;span style="color: #a31515;"&gt;RelativeSource&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; TemplatedParent&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;},&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; Path&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;=&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;Icon&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;}&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #ff0000;"&gt; Width&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;=&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;"16"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; Height&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;=&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;"16"&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #ff0000;"&gt; shell&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;:&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;WindowChrome.IsHitTestVisibleInChrome&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;=&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;"True"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Button&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&amp;lt;!-- Window Title --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;TextBlock&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; VerticalAlignment&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;=&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;"Bottom"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; TextAlignment&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;=&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;"Center"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; &lt;br /&gt;                       Padding&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;=&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;"0,0,0,8"&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #ff0000;"&gt; Text&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="{&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Binding&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; RelativeSource&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;=&lt;br /&gt;                                     {&lt;/span&gt;&lt;span style="color: #a31515;"&gt;RelativeSource&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; TemplatedParent&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;},&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; Path&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;=&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;Title&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;}&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt; /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Grid&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;ControlTemplate&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Setter.Value&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #a31515;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Setter&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: Consolas"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: #a31515;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Style&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&lt;span style="font-size: small;"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Window.Resources&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;There are a few interesting things to note in this XAML. &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The button margin is bound to the &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/microsoft.windows.shell.windowchrome.resizeborderthickness.aspx"&gt;ResizeBorderThickness&lt;/a&gt; property. This keeps the button from covering the resize border, so you can resize the window from the upper left corner. &lt;/li&gt;
&lt;li&gt;The button command is set to &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/microsoft.windows.shell.systemcommands.showsystemmenucommand.aspx"&gt;SystemCommands.ShowSystemMenuCommand&lt;/a&gt;. This shows the system menu when the button is clicked, just like the real system button. Download the project to see the full implementation.&amp;nbsp; &lt;/li&gt;
&lt;li&gt;On both the button and the image, we set the &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/microsoft.windows.shell.windowchrome.ishittestvisibleinchrome.aspx"&gt;IsHitTestVisibleInChrome&lt;/a&gt; attached property to true. This allows the button to receive mouse input. By default, elements that are placed in the window border are not interactive. &lt;/li&gt;
&lt;li&gt;The image that is in the button is bound to the Window.Icon property, so the replacement &amp;ldquo;system&amp;rdquo; button displays the application icon. Similarly, the TextBlock is bound to the Window.Title property. &lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Applying the Style to the Window&lt;/h3&gt;
&lt;p&gt;Now that the window style is defined, we need to apply it to the window. To do this, we&amp;rsquo;ll handle the Window.Loaded event and set the Window.Style property. Since this style uses Aero glass effects, it won&amp;rsquo;t render correctly on systems that aren&amp;rsquo;t using Aero glass (Windows XP, or Vista/ Window 7 with Aero disabled). Before we apply the style, we&amp;rsquo;ll want to check if glass effects are enabled, and only apply the style if they are. Fortunately, the Microsoft.Windows.Shell namespace also includes the &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/microsoft.windows.shell.systemparameters2.aspx"&gt;SystemParameters2&lt;/a&gt; class, which provides an easy way to access system settings that are useful with WindowChrome. We can simply check the IsGlassEnabled property before setting the style.&lt;/p&gt;
&lt;pre style="line-height: normal; font-family: "&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;public&lt;/span&gt;&lt;span style="color: #000000;"&gt; MainWindow()&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; InitializeComponent();&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Loaded += &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #2b91af;"&gt;RoutedEventHandler&lt;/span&gt;&lt;span style="color: #000000;"&gt;(MainWindow_Loaded);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;void&lt;/span&gt;&lt;span style="color: #000000;"&gt; MainWindow_Loaded(&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;object&lt;/span&gt;&lt;span style="color: #000000;"&gt; sender, &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;RoutedEventArgs&lt;/span&gt;&lt;span style="color: #000000;"&gt; e)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #2b91af;"&gt;Style&lt;/span&gt;&lt;span style="color: #000000;"&gt; _style = &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;if&lt;/span&gt;&lt;span style="color: #000000;"&gt; (Microsoft.Windows.Shell.&lt;/span&gt;&lt;span style="color: #2b91af;"&gt;SystemParameters2&lt;/span&gt;&lt;span style="color: #000000;"&gt;.Current.IsGlassEnabled == &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;true&lt;/span&gt;&lt;span style="color: #000000;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _style = (&lt;/span&gt;&lt;span style="color: #2b91af;"&gt;Style&lt;/span&gt;&lt;span style="color: #000000;"&gt;)Resources[&lt;/span&gt;&lt;span style="color: #a31515;"&gt;"GadgetStyle"&lt;/span&gt;&lt;span style="color: #000000;"&gt;];&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;&lt;span style="color: #000000;"&gt;.Style = _style;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;With just this XAML and code, we&amp;rsquo;ve got a window that resembles the Windows 7 gadget window. Now we just need to add some content.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-64-10-metablogapi/8484.GadgetWindowEmpty_5F00_2.png"&gt;&lt;img height="329" width="322" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-64-10-metablogapi/8484.GadgetWindowEmpty_5F00_thumb.png" alt="GadgetWindowEmpty" border="0" title="GadgetWindowEmpty" style="background-image: none; border-right-width: 0px; margin: 5px 5px 5px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You can download the complete sample from &lt;a target="_blank" href="http://code.msdn.microsoft.com/wpfsdkblog/Release/ProjectReleases.aspx?ReleaseId=4878"&gt;MSDN Code Gallery&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10054252" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/Styles+and+Templates/">Styles and Templates</category><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/Sample/">Sample</category><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/Glass/">Glass</category><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/DWM/">DWM</category><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/Chrome/">Chrome</category></item><item><title>Getting Started with WPF</title><link>http://blogs.msdn.com/b/wpfsdk/archive/2010/08/17/getting-started-with-wpf.aspx</link><pubDate>Tue, 17 Aug 2010 20:29:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10051167</guid><dc:creator>Margaret Parsons [MSFT]</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/wpfsdk/rsscomments.aspx?WeblogPostID=10051167</wfw:commentRss><comments>http://blogs.msdn.com/b/wpfsdk/archive/2010/08/17/getting-started-with-wpf.aspx#comments</comments><description>&lt;p&gt;The writers on the WPF Developer Content team own over 30K topics in the MSDN library.&amp;nbsp; But one of the most&amp;nbsp;viewed topics is Getting Started (WPF).&amp;nbsp; I'm trying to make the topic more helpful, relevant, to the point, etc.&amp;nbsp; I updated the page a few months ago and was hoping I'd get some feedback from customers who either loved it or hated it.&amp;nbsp;So far, I've heard crickets.&amp;nbsp;Basically, I took the old page, which was just a list of links to all the topics down one level in the tree and replaced that with a list of what I thought people might be looking for when they click on a topic called "Getting Started." I was trying not to make it a long topic that you'd have to read though but more of a jumping off point.&amp;nbsp; If you are interested, here is the link to the &lt;a href="http://msdn.microsoft.com/en-us/library/ms742119(VS.90).aspx"&gt;3.5 version&lt;/a&gt; and the &lt;a href="http://msdn.microsoft.com/en-us/library/ms742119.aspx"&gt;4 version&lt;/a&gt;. What do you think? Is it more useful? Not? If not, why not?&amp;nbsp; Send me feedback via the feedback on MSDN or just leave a comment here.&lt;/p&gt;
&lt;p&gt;Thanks,&lt;br /&gt;Margaret&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10051167" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/WPF/">WPF</category><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/-NET+Framework+4/">.NET Framework 4</category></item><item><title>Have you started developing for Windows Phone 7 yet?</title><link>http://blogs.msdn.com/b/wpfsdk/archive/2010/07/30/have-you-started-developing-for-windows-phone-7-yet.aspx</link><pubDate>Fri, 30 Jul 2010 17:07:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10044322</guid><dc:creator>Carole Snyder - MSFT</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/wpfsdk/rsscomments.aspx?WeblogPostID=10044322</wfw:commentRss><comments>http://blogs.msdn.com/b/wpfsdk/archive/2010/07/30/have-you-started-developing-for-windows-phone-7-yet.aspx#comments</comments><description>&lt;p&gt;&amp;nbsp;If you haven't heard the latest buzz about the Windows Phone 7, you must be living under a rock.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;Or at least away from the Internet!&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;Now you can develop applications for Windows Phone before it even debuts!&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;The&amp;nbsp;&lt;a href="http://www.microsoft.com/downloads/info.aspx?na=40&amp;amp;p=4&amp;amp;SrcDisplayLang=en&amp;amp;SrcCategoryId=&amp;amp;SrcFamilyId=ca23285f-bab8-47fa-b364-11553e076a9a&amp;amp;u=http%3a%2f%2fgo.microsoft.com%2ffwlink%2f%3fLinkID%3d189554" title="http://www.microsoft.com/downloads/info.aspx?na=40&amp;amp;p=3&amp;amp;SrcDisplayLang=en&amp;amp;SrcCategoryId=&amp;amp;SrcFamilyId=ca23285f-bab8-47fa-b364-11553e076a9a&amp;amp;u=http%3a%2f%2fgo.microsoft.com%2ffwlink%2f%3fLinkID%3d189554"&gt;Windows Phone 7 Developer Toolkit&lt;/a&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;is available for download.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Also, be sure to check out the &lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=ca23285f-bab8-47fa-b364-11553e076a9a"&gt;Windows Phone 7 Training Kit for Developers&lt;/a&gt;.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;This neat little package comes with walkthroughs to help you get started developing for the Windows Phone with Visual Studio 2010 and Expression Blend.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;Enjoy!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10044322" width="1" height="1"&gt;</description></item><item><title>Principles of software development from an alumnus of the WPF team</title><link>http://blogs.msdn.com/b/wpfsdk/archive/2010/07/29/principles-of-software-development-from-an-alumnus-of-the-wpf-team.aspx</link><pubDate>Wed, 28 Jul 2010 23:54:52 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10043630</guid><dc:creator>Margaret Parsons [MSFT]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/wpfsdk/rsscomments.aspx?WeblogPostID=10043630</wfw:commentRss><comments>http://blogs.msdn.com/b/wpfsdk/archive/2010/07/29/principles-of-software-development-from-an-alumnus-of-the-wpf-team.aspx#comments</comments><description>&lt;p&gt;I got an email the other day from &lt;a href="http://blogs.msdn.com/b/ivo_manolov/"&gt;Ivo Manolov&lt;/a&gt; who worked for several years as the test lead for WPF and then for a bit as the PM lead. He's recently moved to a new group, but he summarized what he's learned from his experience leading the WPF team into two blog posts. One on driving projects (&lt;a href="http://blogs.msdn.com/b/ivo_manolov/archive/2010/07/18/10039624.aspx"&gt;&lt;span style="color: #000000;"&gt;Principles 1: The Essence of Driving &amp;ndash; A Crash Course in Project Management&lt;/span&gt;&lt;/a&gt;) and one on testing (&lt;a href="http://blogs.msdn.com/b/ivo_manolov/archive/2010/07/23/10042059.aspx"&gt;&lt;span style="color: #000000;"&gt;Principles 2: Principles of Software Testing&lt;/span&gt;&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Enjoy!&lt;/p&gt;
&lt;p&gt;Margaret&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10043630" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/WPF/">WPF</category></item><item><title>The new WPF Team Blog - one place to get it all!</title><link>http://blogs.msdn.com/b/wpfsdk/archive/2010/07/21/the-new-wpf-team-blog-one-place-to-get-it-all.aspx</link><pubDate>Wed, 21 Jul 2010 14:22:53 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10040933</guid><dc:creator>Margaret Parsons [MSFT]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/wpfsdk/rsscomments.aspx?WeblogPostID=10040933</wfw:commentRss><comments>http://blogs.msdn.com/b/wpfsdk/archive/2010/07/21/the-new-wpf-team-blog-one-place-to-get-it-all.aspx#comments</comments><description>&lt;p&gt;The WPF team has put together a new blog where you can go and find out what the people who create WPF are up to. We'll still be here writing the developer content and blogging about that, but if you want to find out what your favorite WPF developer (or tester, PM, architect, etc.) &amp;nbsp;is thinking about, check out the new &lt;a href="http://blogs.msdn.com/b/wpf/"&gt;WPF Team Blog&lt;/a&gt;.&amp;nbsp; They've even got a WPF Twitter Feed!&lt;/p&gt;
&lt;p&gt;Margaret&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10040933" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/WPF/">WPF</category></item><item><title>Finding code in the MSDN Library</title><link>http://blogs.msdn.com/b/wpfsdk/archive/2010/07/07/finding-code-in-the-msdn-library.aspx</link><pubDate>Wed, 07 Jul 2010 22:26:07 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10035605</guid><dc:creator>Margaret Parsons [MSFT]</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/wpfsdk/rsscomments.aspx?WeblogPostID=10035605</wfw:commentRss><comments>http://blogs.msdn.com/b/wpfsdk/archive/2010/07/07/finding-code-in-the-msdn-library.aspx#comments</comments><description>&lt;p&gt;At Tech Ed, one of the things we heard over and over is “More code!”&amp;#160; This is not a new comment. We hear it a lot and believe me we are trying to get the code you want (simpler, more complex, full downloadable sample) where you want it. But there are a few tricks to finding code already out there.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1. Use MSDN search&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;MSDN Search has a new feature which will show you which pages have code examples. It isn’t always 100% accurate but it is pretty good most of the time. For searching tips, see the blog post &lt;a href="http://blogs.msdn.com/b/silverlight_sdk/archive/2008/06/26/tips-and-tricks-for-searching-for-silverlight-content-on-msdn.aspx"&gt;Tips and Tricks for searching for Silverlight content on MSDN&lt;/a&gt; and replace the word “Silverlight” with “WPF.” And for more info on MSDN URLs, see &lt;a href="http://blogs.msdn.com/b/wpfsdk/archive/2009/02/13/which-doc-set-am-i-in.aspx"&gt;Too many pages with the same name&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-64-10-metablogapi/0842.MSDNSearch_5F00_4.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="MSDNSearch" border="0" alt="MSDNSearch" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-64-10-metablogapi/1512.MSDNSearch_5F00_thumb_5F00_1.jpg" width="644" height="188" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;2. Look for titles that start with “How To” or “Walkthrough”&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;We have two content types that are specifically intended to included code, not just words. In general, a “How To” is going to be a short topic showing you how to accomplish a (relatively) simple task. While a “Walkthrough” is usually going to be a long, step-by-step list of instructions that (usually) results in a full, running sample at the end.&amp;#160; Walkthroughs almost always have a downloadable sample that you can get.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-64-10-metablogapi/0028.Walkthrough_5F00_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Walkthrough" border="0" alt="Walkthrough" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-64-10-metablogapi/3107.Walkthrough_5F00_thumb.jpg" width="644" height="239" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;3. Look for Example sections in the Class Library&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Whenever you land on what we call our reference topics (e.g.,&amp;#160; &lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.control.foreground.aspx"&gt;Control.Foreground Property (System.Windows.Controls)&lt;/a&gt;), the pages have a specific set of sections, including Syntax, Remarks and Examples. The syntax sections are all auto-generated so they are provided for your convenience. The authored content is in the Remarks, Examples and See Also. In addition to the example provided, WPF content uses a unique system where we can include “How To” topics in the reference pages. If we have linked to more than one, the first will appear as an example and you will find a table, way down at the bottom of the page which contains links to more code using this API. The See Also section frequently contains links to more useful content, so don’t forget to scroll to the bottom of the page when you are looking for help.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-64-10-metablogapi/8867.MoreCode_5F00_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="MoreCode" border="0" alt="MoreCode" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-64-10-metablogapi/7875.MoreCode_5F00_thumb.jpg" width="644" height="279" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;4. Take advantage of the various community sites that contain sample code.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;We post all the full samples used in our documentation on code gallery. You can download one at a time or all of them from &lt;a href="http://code.msdn.microsoft.com/wpfsamples"&gt;WPF Documentation Samples&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;In addition to what we provide, there are several other places to look.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://windowsclient.net/downloads/"&gt;WindowsClient.Net&lt;/a&gt; provides starter kits and samples to get you started writing your applications.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/Project/ProjectDirectory.aspx?TagName=WPF"&gt;MSDN Code Gallery&lt;/a&gt; contains a lot of sample apps provided by the community. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/tags/WPF/"&gt;MSDN Blogs&lt;/a&gt; often have a lot of interesting code examples. Also note that when you use MSDN Search, it includes blog entries and uses the same “Includes Example Code” listed in #1.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;And as always, you can get help with your code from the community (as well as a lot of people who work on WPF) on the &lt;a href="http://social.msdn.microsoft.com/Forums/en-US/wpf/threads"&gt;Forums&lt;/a&gt;. And if you have requests, comments, issues, etc for our documentation, use the Feedback button (at the bottom of the page in Lightweight and the stars at the top in Classic MSDN view. And if you don’t know what I’m talking about see &lt;a href="http://blogs.msdn.com/b/innovation/archive/2009/10/26/launching-lightweight-beta-view-for-msdn-library.aspx"&gt;this post&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Margaret&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10035605" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/Tips+_2600_amp_3B00_+Tricks/">Tips &amp;amp; Tricks</category><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/WPF/">WPF</category><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/Sample/">Sample</category><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/MSDN/">MSDN</category></item><item><title>Find the WPF sample you want with this "map"</title><link>http://blogs.msdn.com/b/wpfsdk/archive/2010/06/30/find-the-wpf-sample-you-want-with-this-quot-map-quot.aspx</link><pubDate>Wed, 30 Jun 2010 20:43:06 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10033115</guid><dc:creator>Margaret Parsons [MSFT]</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/wpfsdk/rsscomments.aspx?WeblogPostID=10033115</wfw:commentRss><comments>http://blogs.msdn.com/b/wpfsdk/archive/2010/06/30/find-the-wpf-sample-you-want-with-this-quot-map-quot.aspx#comments</comments><description>&lt;p&gt;I got an email the other day that included a twitter post with a link to this "map" of our documentation samples. It is a pretty fun way to see what all we have available. I don't know who created it but I really like it!&amp;nbsp;&amp;nbsp;Especially since we had a hard time designing our wiki page on code gallery. Check it out and see what you think. &lt;a href="http://vivamind.net/maps/detail/70/WPF-Documentation-Samples"&gt;http://vivamind.net/maps/detail/70/WPF-Documentation-Samples&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Margaret&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10033115" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/WPF/">WPF</category><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/Sample/">Sample</category><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/-NET+Framework+4/">.NET Framework 4</category></item><item><title>Greetings from TechEd 2010 </title><link>http://blogs.msdn.com/b/wpfsdk/archive/2010/06/07/greetings-from-teched-2010.aspx</link><pubDate>Mon, 07 Jun 2010 17:40:20 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10021084</guid><dc:creator>Margaret Parsons [MSFT]</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/wpfsdk/rsscomments.aspx?WeblogPostID=10021084</wfw:commentRss><comments>http://blogs.msdn.com/b/wpfsdk/archive/2010/06/07/greetings-from-teched-2010.aspx#comments</comments><description>&lt;p&gt;This week I'm hanging out at &lt;a href="http://www.microsoft.com/events/techednorthamerica/"&gt;TechEd 2010&lt;/a&gt; to find out more about&amp;nbsp;what customers are interested in learning about in our documentation. I'll be attending sessions and attempting to get people to tell me all about their experience with the MSDN Library. If you are at TechEd, you can find me (or my friend Cheryl) lurking in the Exhibition Hall in the TLC Blue section, either by the WPF or paterns &amp;amp; practices booth. We'll be trying to get customers to fill out our survey to let us know more about how they use the Library and what they like and don't like about it.&amp;nbsp; You can also go&lt;a href="http://go.microsoft.com/fwlink/?LinkId=119565"&gt; here&lt;/a&gt; to fill out this survey online.&amp;nbsp; The survey was created by our content architect, &lt;a href="http://blogs.msdn.com/b/kathleen/"&gt;Kathleen McGrath&lt;/a&gt;, who is also here running around waving surveys!&amp;nbsp; Your feedback is extremely important to us and we get very little of it.&amp;nbsp;&amp;nbsp;So if you use the Library, please take a few moments to fill out&lt;a href="http://go.microsoft.com/fwlink/?LinkId=119565"&gt; the Visual Studio and .NET Framework Library Content Survey&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;Margaret&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10021084" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/-NET+Framework/">.NET Framework</category><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/Visual+Studio/">Visual Studio</category><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/MSDN/">MSDN</category><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/-NET+Framework+4/">.NET Framework 4</category><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/Offline+Documentation/">Offline Documentation</category></item><item><title>More tools for WPF 4 application development</title><link>http://blogs.msdn.com/b/wpfsdk/archive/2010/05/26/more-tools-for-wpf-4-application-development.aspx</link><pubDate>Wed, 26 May 2010 22:40:43 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10015952</guid><dc:creator>Margaret Parsons [MSFT]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/wpfsdk/rsscomments.aspx?WeblogPostID=10015952</wfw:commentRss><comments>http://blogs.msdn.com/b/wpfsdk/archive/2010/05/26/more-tools-for-wpf-4-application-development.aspx#comments</comments><description>&lt;p&gt;You might have heard a lot of buzz about the recent release of the Silverlight 4 Tools for Visual Studio 2010.&amp;#160; But what you might not have heard is that a lot of the features in the new tools work just as well for developing a WPF application!&amp;#160; Here’s some of the features you might find interesting:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;When you are working with styles, you now get intellisense based on the target type (yay!) &lt;/li&gt;    &lt;li&gt; “Go To Value Definition” feature that will take you to where style being applied is defined.&lt;/li&gt;    &lt;li&gt;Drag and drop data sources to create resources &lt;/li&gt;    &lt;li&gt;Right-click context menu on Grid design that lets you add and remove rows and columns&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Go &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=902a7539-c4b5-4e54-b4c9-1432daabe1e8&amp;amp;displaylang=en"&gt;here&lt;/a&gt; for the download and see the &lt;a href="http://blogs.msdn.com/b/wpfsldesigner/archive/2010/05/17/final-release-of-silverlight-4-tools-for-visual-studio-2010-is-now-available.aspx"&gt;blog post&lt;/a&gt; by Mark Wilson-Thomas for way more details.&lt;/p&gt;  &lt;p&gt;Also, the Performance Suite is now available for WPF 4 developers.&amp;#160; Now you can use all the great profiling tools you loved for 3.5 with your 4 app.&amp;#160; See Jossef Goldberg’s &lt;a href="http://blogs.msdn.com/b/jgoldb/archive/2010/05/21/wpfperf-performance-profiling-tools-for-wpf-4-is-now-available.aspx"&gt;blog post&lt;/a&gt; for details.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10015952" width="1" height="1"&gt;</description></item><item><title>Help Viewer Power Tool Provides Index and Standalone Window</title><link>http://blogs.msdn.com/b/wpfsdk/archive/2010/05/14/help-viewer-power-tool-provides-index-and-standalone-window.aspx</link><pubDate>Fri, 14 May 2010 17:48:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10013256</guid><dc:creator>Carole Snyder - MSFT</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/wpfsdk/rsscomments.aspx?WeblogPostID=10013256</wfw:commentRss><comments>http://blogs.msdn.com/b/wpfsdk/archive/2010/05/14/help-viewer-power-tool-provides-index-and-standalone-window.aspx#comments</comments><description>&amp;nbsp; 
&lt;P style="MARGIN: 0in"&gt;&lt;SPAN style="FONT-FAMILY: Calibri; FONT-SIZE: 11pt"&gt;Microsoft released a &lt;/SPAN&gt;&lt;A href="http://code.msdn.microsoft.com/HelpViewerPowerTool/"&gt;&lt;SPAN style="FONT-FAMILY: Calibri; FONT-SIZE: 11pt"&gt;Power Tool&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="FONT-FAMILY: Calibri; FONT-SIZE: 11pt"&gt; that &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Verdana; COLOR: #080808; FONT-SIZE: 10pt"&gt;adds keyword index capability to the Help Viewer with an option to display help in a standalone window. If you've been missing these features in Visual Studio 2010, check it out! If you have any questions or problems with the Power Tool, you can go to the Developer Documentation and Help System forum at &lt;/SPAN&gt;&lt;A href="http://social.msdn.microsoft.com/Forums/en-US/devdocs/threads"&gt;&lt;SPAN style="FONT-FAMILY: Verdana; COLOR: #080808; FONT-SIZE: 10pt"&gt;http://social.msdn.microsoft.com/Forums/en-US/devdocs/threads&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="FONT-FAMILY: Verdana; COLOR: #080808; FONT-SIZE: 10pt"&gt;. &lt;/SPAN&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10013256" width="1" height="1"&gt;</description></item><item><title>Calling a Stored Procedure from your WPF app</title><link>http://blogs.msdn.com/b/wpfsdk/archive/2010/05/04/calling-a-stored-procedure-from-your-wpf-app.aspx</link><pubDate>Tue, 04 May 2010 22:59:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10007424</guid><dc:creator>Margaret Parsons [MSFT]</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/wpfsdk/rsscomments.aspx?WeblogPostID=10007424</wfw:commentRss><comments>http://blogs.msdn.com/b/wpfsdk/archive/2010/05/04/calling-a-stored-procedure-from-your-wpf-app.aspx#comments</comments><description>&lt;P&gt;Recently I needed to get data from a database by calling a stored procedure. This seemed like it should be easy to do but it ended taking me 2 days to find the right feature that would work. My knowledge of databases is extremely limited and I ended up winding along a not very helpful path. Hopefully this blog post will help you avoid the same pitfalls.&lt;/P&gt;
&lt;P&gt;I started off thinking I needed something from LINQ to SQL so I searched for that and came up with the &lt;A href="http://msdn.microsoft.com/en-us/library/bb386976.aspx" mce_href="http://msdn.microsoft.com/en-us/library/bb386976.aspx"&gt;LINQ to SQL ORM&lt;/A&gt;. This seemed like it would be SUPER easy, but for reasons I still don’t understand (I found this &lt;A href="http://social.msdn.microsoft.com/Forums/en-US/linqprojectgeneral/thread/5e66a7c4-8fe4-4d7c-ab70-544d02161e81" mce_href="http://social.msdn.microsoft.com/Forums/en-US/linqprojectgeneral/thread/5e66a7c4-8fe4-4d7c-ab70-544d02161e81"&gt;forum post&lt;/A&gt; which I think might be related) I could never get the return type to auto-generate correctly so I could run the query but I couldn’t get the data out. I have since discovered that the Entity Framework provides similar (seemingly better) functionality. In fact MSDN states “For new applications, however, Microsoft recommends using the the &lt;A href="http://msdn.microsoft.com/aa937723.aspx" mce_href="http://msdn.microsoft.com/aa937723.aspx"&gt;Entity Framework&lt;/A&gt; that can accommodate both direct mapping and a higher-level conceptual mapping between the application object model and the relational model of the database.” But for some reason this still doesn’t work for me. If I were starting out again (with a stored procedure that had a defined return type), I would start with the Entity Framework. Try these docs as it took me a while to figure out what I was doing: &lt;A href="http://msdn.microsoft.com/en-us/library/bb399247(v=VS.100).aspx" mce_href="http://msdn.microsoft.com/en-us/library/bb399247(v=VS.100).aspx"&gt;Entity Data Model Wizard&lt;/A&gt; and &lt;A href="http://msdn.microsoft.com/en-us/library/bb896231.aspx" mce_href="http://msdn.microsoft.com/en-us/library/bb896231.aspx"&gt;How to: Import a Stored Procedure (Entity Data Model Tools)&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Instead I finally found the ADO .NET docs which had exactly what I was looking for and it did turn out to be super easy. Go to &lt;A href="http://msdn.microsoft.com/en-us/library/yy6y35y8.aspx" mce_href="http://msdn.microsoft.com/en-us/library/yy6y35y8.aspx"&gt;this page&lt;/A&gt; and scroll down to the &lt;STRONG&gt;Using Parameters with a SqlCommand and a Stored Procedure &lt;/STRONG&gt;section.&lt;/P&gt;
&lt;P&gt;In my example,&amp;nbsp;I read the data and write it to an XElement.&lt;/P&gt;
&lt;P&gt;Here’s some code to retrieve the data:&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: green; FONT-SIZE: 9.5pt"&gt;//Get all data &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;connection.Open();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #2b91af; FONT-SIZE: 9.5pt"&gt;XElement&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt; data = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;XElement&lt;/SPAN&gt;(&lt;SPAN style="COLOR: #a31515"&gt;"Data"&lt;/SPAN&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;try&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; TEXT-INDENT: 0.5in; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #2b91af; FONT-SIZE: 9.5pt"&gt;SqlDataReader&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt; reader = command.ExecuteReader();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; TEXT-INDENT: 0.5in; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;int&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt; numCol = reader.FieldCount;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt 0.5in; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;while&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt; (reader.Read())&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt 0.5in; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; TEXT-INDENT: 0.5in; MARGIN: 0in 0in 0pt 0.5in; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;int&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt; i;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; TEXT-INDENT: 0.5in; MARGIN: 0in 0in 0pt 0.5in; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #2b91af; FONT-SIZE: 9.5pt"&gt;XElement&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt; temp = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;XElement&lt;/SPAN&gt;(&lt;SPAN style="COLOR: #a31515"&gt;"Topic"&lt;/SPAN&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; TEXT-INDENT: 0.5in; MARGIN: 0in 0in 0pt 0.5in; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;for&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt; (i = 0; i &amp;lt; numCol; i++)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; TEXT-INDENT: 0.5in; MARGIN: 0in 0in 0pt 0.5in; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; TEXT-INDENT: 0.5in; MARGIN: 0in 0in 0pt 1in; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;temp.Add(&lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;XAttribute&lt;/SPAN&gt;(reader.GetName(i), &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt 0.5in; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;&lt;SPAN style="mso-tab-count: 4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;reader[i].ToString()));&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; TEXT-INDENT: 0.5in; MARGIN: 0in 0in 0pt 0.5in; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; TEXT-INDENT: 0.5in; MARGIN: 0in 0in 0pt 0.5in; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;data.Add(temp);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt 0.5in; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;catch&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt; (&lt;SPAN style="COLOR: #2b91af"&gt;Exception&lt;/SPAN&gt; e)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; TEXT-INDENT: 0.5in; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #2b91af; FONT-SIZE: 9.5pt"&gt;MessageBox&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;.Show(e.Message);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;connection.Close();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Then I had to define each column and bind it to the XElement data. See my post on &lt;A href="http://blogs.msdn.com/wpfsdk/archive/2008/11/25/a-datagrid-sample-using-xml-data.aspx" mce_href="http://blogs.msdn.com/wpfsdk/archive/2008/11/25/a-datagrid-sample-using-xml-data.aspx"&gt;A DataGrid sample using XML data&lt;/A&gt; for example code.&amp;nbsp; I happen to like LINQ a lot so I use XElement all the time, but if you are not a big fan, you could put your data into a DataTable or any of the &lt;A href="http://msdn.microsoft.com/en-us/library/ms743643.aspx" mce_href="http://msdn.microsoft.com/en-us/library/ms743643.aspx"&gt;Binding Sources&lt;/A&gt; available for WPF apps.&lt;/P&gt;
&lt;P&gt;That’s it. Happy coding,&lt;/P&gt;
&lt;P&gt;Margaret&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10007424" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/WPF/">WPF</category><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/DataGrid/">DataGrid</category><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/-NET+Framework+4/">.NET Framework 4</category><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/Entity+Framework/">Entity Framework</category><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/LINQ/">LINQ</category></item><item><title>Keep Offline Help Up-to-Date in Visual Studio 2010</title><link>http://blogs.msdn.com/b/wpfsdk/archive/2010/04/15/keep-offline-help-up-to-date-in-visual-studio-2010.aspx</link><pubDate>Thu, 15 Apr 2010 23:54:43 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9996942</guid><dc:creator>wcsdkteam</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/wpfsdk/rsscomments.aspx?WeblogPostID=9996942</wfw:commentRss><comments>http://blogs.msdn.com/b/wpfsdk/archive/2010/04/15/keep-offline-help-up-to-date-in-visual-studio-2010.aspx#comments</comments><description>&lt;p&gt;One of my favorite features offered by the new help system in Visual Studio 2010 is the ability to easily update offline content with the latest documentation from MSDN. If you use offline documentation in Visual Studio, one of the first things you should do after installation is to check for the latest updates to the documentation. (Hopefully you’ve noticed that the .NET 4 WPF docs are no longer in ‘preview mode’ on MSDN…)&lt;/p&gt;  &lt;p&gt;In previous versions of Visual Studio, there was no way to update the documentation that shipped in the box. When documentation bugs were fixed or new content was added, you had to go to the online library to see the latest content. Now you can use the Help Library Manager to easily find and install the latest fixes and additions. &lt;/p&gt;  &lt;p&gt;There are two ways that you can get to the Help Library Manager.&lt;/p&gt;  &lt;p&gt;Through the Start menu: Start &amp;gt; Microsoft Visual Studio 2010 &amp;gt; Visual Studio Tools &amp;gt; Manage Help Settings&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/wpfsdk/WindowsLiveWriter/KeepOfflineHelpUptoDateinVisualStudio201_EDCC/HLM%20-%20Start_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="HLM - Start" border="0" alt="HLM - Start" src="http://blogs.msdn.com/blogfiles/wpfsdk/WindowsLiveWriter/KeepOfflineHelpUptoDateinVisualStudio201_EDCC/HLM%20-%20Start_thumb.png" width="209" height="366" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Through the Help menu in Visual Studio 2010:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/wpfsdk/WindowsLiveWriter/KeepOfflineHelpUptoDateinVisualStudio201_EDCC/HLM%20-%20VS%20Help_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="HLM - VS Help" border="0" alt="HLM - VS Help" src="http://blogs.msdn.com/blogfiles/wpfsdk/WindowsLiveWriter/KeepOfflineHelpUptoDateinVisualStudio201_EDCC/HLM%20-%20VS%20Help_thumb.png" width="244" height="214" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;In the Help Library Manager, you can select whether to use online or local help, install content, and check for updates.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/wpfsdk/WindowsLiveWriter/KeepOfflineHelpUptoDateinVisualStudio201_EDCC/HLM%20-%20Check%20for%20Update_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="HLM - Check for Update" border="0" alt="HLM - Check for Update" src="http://blogs.msdn.com/blogfiles/wpfsdk/WindowsLiveWriter/KeepOfflineHelpUptoDateinVisualStudio201_EDCC/HLM%20-%20Check%20for%20Update_thumb.png" width="489" height="346" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;You can only check for updates to content that you have installed locally, so if you haven’t installed content, select ‘Install content from online’ to select content to be installed locally.&lt;/p&gt;  &lt;p&gt;If you have content installed, select “Check for updates online”.&lt;/p&gt;  &lt;p&gt;You’ll be shown a list of the content that you have installed, whether updates are available, and the size of the download. Click ‘Update’ to download and install the latest content. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/wpfsdk/WindowsLiveWriter/KeepOfflineHelpUptoDateinVisualStudio201_EDCC/HLM%20-%20Update_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="HLM - Update" border="0" alt="HLM - Update" src="http://blogs.msdn.com/blogfiles/wpfsdk/WindowsLiveWriter/KeepOfflineHelpUptoDateinVisualStudio201_EDCC/HLM%20-%20Update_thumb.png" width="497" height="359" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;You have to check for updates manually, so how often should you check? If the download size is not an issue and you want to have the very latest content available, I recommend checking every 4 to 6 weeks to keep your local help updated with newly published content.&lt;/p&gt;  &lt;p&gt;For more information about the new help system, see this &lt;a href="http://channel9.msdn.com/posts/kmcgrath/Help-30-New-Help-System-in-Visual-Studio-2010/"&gt;video on Channel 9&lt;/a&gt; and the &lt;a href="http://msdn.microsoft.com/en-us/library/dd776252.aspx"&gt;official documentation on MSDN&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9996942" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/Tips+_2600_amp_3B00_+Tricks/">Tips &amp;amp; Tricks</category><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/Visual+Studio/">Visual Studio</category><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/MSDN/">MSDN</category><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/Offline+Documentation/">Offline Documentation</category></item><item><title>OpenFileDialog sample</title><link>http://blogs.msdn.com/b/wpfsdk/archive/2010/03/26/openfiledialog-sample.aspx</link><pubDate>Fri, 26 Mar 2010 21:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9985955</guid><dc:creator>Margaret Parsons [MSFT]</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/wpfsdk/rsscomments.aspx?WeblogPostID=9985955</wfw:commentRss><comments>http://blogs.msdn.com/b/wpfsdk/archive/2010/03/26/openfiledialog-sample.aspx#comments</comments><description>&lt;p&gt;I finally got some time to dig through all my customer feedback requests and found a glaring problem! The &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.win32.openfiledialog(VS.100).aspx"&gt;OpenFileDialog&lt;/a&gt; class has basically no content on it and so I set about correcting that. It turned out there was a nice little example already living in the &lt;a href="http://msdn.microsoft.com/en-us/library/aa969773(VS.100).aspx"&gt;Dialog Boxes Overview&lt;/a&gt; topic but with no links to that topic from the class, it doesn't help you out much. Anyway, here is the code sample and some art showing the new updated look for the dialog boxes with &lt;a href="http://msdn.microsoft.com/en-us/vstudio/dd582936.aspx"&gt;.NET Framework 4 Release Candidate&lt;/a&gt;. Also, I want to point out that if you choose to take the time to submit feedback on the documentation (which we really, really, REALLY appreciate), not only does an actual real person read every single comment, but we also try our best to fix it. In this case, all the comments said &amp;quot;need sample&amp;quot; so if you have a sample in mind or a property or method you want to see in action, please be specific and then you will, most likely, see something show up in the content sometime in the future. &lt;/p&gt;  &lt;p&gt;Anyway, here is the sample code and the promised image of the new dialog. This sample creates the &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.win32.openfiledialog(VS.100).aspx"&gt;OpenFileDialog&lt;/a&gt; object, open's the dialog box and shows how you can handle the result.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;VB&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="color: green"&gt;' Configure open file dialog box&lt;/span&gt;    &lt;br /&gt;&lt;span style="color: blue"&gt;Dim&lt;/span&gt; dlg &lt;span style="color: blue"&gt;As&lt;/span&gt; &lt;span style="color: blue"&gt;New&lt;/span&gt; Microsoft.Win32.OpenFileDialog()    &lt;br /&gt;dlg.FileName = &lt;span style="color: maroon"&gt;&amp;quot;Document&amp;quot;&lt;/span&gt; &lt;span style="color: green"&gt;' Default file name&lt;/span&gt;    &lt;br /&gt;dlg.DefaultExt = &lt;span style="color: maroon"&gt;&amp;quot;.txt&amp;quot;&lt;/span&gt; &lt;span style="color: green"&gt;' Default file extension&lt;/span&gt;    &lt;br /&gt;dlg.Filter = &lt;span style="color: maroon"&gt;&amp;quot;Text documents (.txt)|*.txt&amp;quot;&lt;/span&gt; &lt;span style="color: green"&gt;' Filter files by extension&lt;/span&gt;    &lt;br /&gt;    &lt;br /&gt;&lt;span style="color: green"&gt;' Show open file dialog box&lt;/span&gt;    &lt;br /&gt;&lt;span style="color: blue"&gt;Dim&lt;/span&gt; result? &lt;span style="color: blue"&gt;As&lt;/span&gt; &lt;span style="color: blue"&gt;Boolean&lt;/span&gt; = dlg.ShowDialog()    &lt;br /&gt;    &lt;br /&gt;&lt;span style="color: green"&gt;' Process open file dialog box results&lt;/span&gt;    &lt;br /&gt;&lt;span style="color: blue"&gt;If&lt;/span&gt; result = &lt;span style="color: blue"&gt;True&lt;/span&gt; &lt;span style="color: blue"&gt;Then&lt;/span&gt;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: green"&gt;' Open document&lt;/span&gt;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;Dim&lt;/span&gt; filename &lt;span style="color: blue"&gt;As&lt;/span&gt; &lt;span style="color: blue"&gt;String&lt;/span&gt; = dlg.FileName    &lt;br /&gt;&lt;span style="color: blue"&gt;End&lt;/span&gt; &lt;span style="color: blue"&gt;If&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="color: blue"&gt;&lt;font color="#000000"&gt;&lt;strong&gt;C#&lt;/strong&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="color: blue"&gt;&lt;font color="#000000"&gt;&lt;span style="color: green"&gt;// Configure open file dialog box&lt;/span&gt;        &lt;br /&gt;Microsoft.Win32.OpenFileDialog dlg = &lt;span style="color: blue"&gt;new&lt;/span&gt; Microsoft.Win32.OpenFileDialog();        &lt;br /&gt;dlg.FileName = &lt;span style="color: maroon"&gt;&lt;span style="color: maroon"&gt;&amp;quot;Document&amp;quot;&lt;/span&gt;&lt;/span&gt;; // Default file name        &lt;br /&gt;dlg.DefaultExt = &lt;span style="color: maroon"&gt;&lt;span style="color: maroon"&gt;&amp;quot;.txt&amp;quot;&lt;/span&gt;&lt;/span&gt;; // Default file extension        &lt;br /&gt;dlg.Filter = &lt;span style="color: maroon"&gt;&lt;span style="color: maroon"&gt;&amp;quot;Text documents (.txt)|*.txt&amp;quot;&lt;/span&gt;&lt;/span&gt;; // Filter files by extension        &lt;br /&gt;        &lt;br /&gt;&lt;span style="color: green"&gt;// Show open file dialog box&lt;/span&gt;        &lt;br /&gt;Nullable&amp;lt;&lt;span style="color: blue"&gt;bool&lt;/span&gt;&amp;gt; result = dlg.ShowDialog();        &lt;br /&gt;        &lt;br /&gt;&lt;span style="color: green"&gt;// Process open file dialog box results&lt;/span&gt;        &lt;br /&gt;&lt;span style="color: blue"&gt;if&lt;/span&gt; (result == &lt;span style="color: blue"&gt;true&lt;/span&gt;)        &lt;br /&gt;{        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: green"&gt;// Open document&lt;/span&gt;        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;string&lt;/span&gt; filename = dlg.FileName;        &lt;br /&gt;}&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="color: blue"&gt;&lt;font color="#000000"&gt;And here is the image:&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/wpfsdk/WindowsLiveWriter/OpenFileDialogsample_CAB7/OpenFileDialog_Dev10_2_4.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="OpenFileDialog_Dev10_2" border="0" alt="OpenFileDialog_Dev10_2" src="http://blogs.msdn.com/blogfiles/wpfsdk/WindowsLiveWriter/OpenFileDialogsample_CAB7/OpenFileDialog_Dev10_2_thumb_1.jpg" width="644" height="404" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;span style="color: blue"&gt;&lt;font color="#000000"&gt;Margaret&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9985955" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/WPF/">WPF</category><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/Windows+Presentation+Foundation/">Windows Presentation Foundation</category><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/-NET+Framework+4/">.NET Framework 4</category></item><item><title>Finding an Object TreeViewItem</title><link>http://blogs.msdn.com/b/wpfsdk/archive/2010/02/23/finding-an-object-treeviewitem.aspx</link><pubDate>Tue, 23 Feb 2010 21:22:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9968297</guid><dc:creator>Carole Snyder - MSFT</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/wpfsdk/rsscomments.aspx?WeblogPostID=9968297</wfw:commentRss><comments>http://blogs.msdn.com/b/wpfsdk/archive/2010/02/23/finding-an-object-treeviewitem.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;The question often comes up, "how do I get to a certain TreeViewItem?"&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The question arises because a &lt;A href="http://msdn.microsoft.com/en-us/library/system.windows.controls.treeview.aspx" mce_href="http://msdn.microsoft.com/en-us/library/system.windows.controls.treeview.aspx"&gt;TreeView&lt;/A&gt; is bound to a data source, TreeViewItems are implicitly created and wrap the data object.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;However, the &lt;A href="http://msdn.microsoft.com/en-us/library/system.windows.controls.treeview.selecteditem.aspx" mce_href="http://msdn.microsoft.com/en-us/library/system.windows.controls.treeview.selecteditem.aspx"&gt;TreeView.SelectedItem&lt;/A&gt; property returns the data object, not the TreeViewItem.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;This is good when you need to access the data, but what if you need to manipulate the TreeViewItem?&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;A href="http://www.codeproject.com/KB/WPF/TreeViewWithViewModel.aspx" mce_href="http://www.codeproject.com/KB/WPF/TreeViewWithViewModel.aspx"&gt;It has been suggested&lt;/A&gt; that if you design your data model correctly, you can avoid needing to manipulate TreeViewItems directly.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;While that is good general advice, there might be cases where manipulating the TreeViewItem is unavoidable.&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;Finding the TreeViewItem in a TreeView is more involved than finding item containers in other ItemControls (such as a ListBoxItem in a ListBox) because TreeViewItems are, naturally, nested.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;For example, to return the ListBoxItem of an object in a ListBox, you can call &lt;A href="http://msdn.microsoft.com/en-us/library/system.windows.controls.itemcontainergenerator.containerfromitem.aspx" mce_href="http://msdn.microsoft.com/en-us/library/system.windows.controls.itemcontainergenerator.containerfromitem.aspx"&gt;ListBox.ItemContainerGenerator.GetContainerFromItem&lt;/A&gt;. But if you call GetContainerFromItem on a TreeView, the ItemContainerGenerator searches only the direct child objects of the TreeView.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;So you need to recursively traverse the TreeView and child TreeViewItem objects.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;A further complication is that if the TreeView virtualizes its items (you enable virtualization by setting the &lt;A href="http://msdn.microsoft.com/en-us/library/system.windows.controls.virtualizingstackpanel.isvirtualizing.aspx" mce_href="http://msdn.microsoft.com/en-us/library/system.windows.controls.virtualizingstackpanel.isvirtualizing.aspx"&gt;VirtualizingStackPanel.IsVirtualizing&lt;/A&gt; property to true), the child items need to be created before you can check its data object.&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;Given the complexity of the problem, I (with help from the development team) created a method that traverses the TreeView and realizes any virtualized items.&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;/// &amp;lt;summary&amp;gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;/// Recursively search for an item in this subtree.&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;/// &amp;lt;/summary&amp;gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;/// &amp;lt;param name="container"&amp;gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;/// The parent ItemsControl. This can be a TreeView or a TreeViewItem.&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;/// &amp;lt;/param&amp;gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;/// &amp;lt;param name="item"&amp;gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;/// The item to search for.&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;/// &amp;lt;/param&amp;gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;/// &amp;lt;returns&amp;gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;/// The TreeViewItem that contains the specified item.&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;/// &amp;lt;/returns&amp;gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;private TreeViewItem GetTreeViewItem(ItemsControl container, object item)&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;{&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;if (container != null)&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;if (container.DataContext == item)&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;return container as TreeViewItem;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// Expand the current container&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;if (container is TreeViewItem &amp;amp;&amp;amp; !((TreeViewItem)container).IsExpanded)&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;container.SetValue(TreeViewItem.IsExpandedProperty, true);&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// Try to generate the ItemsPresenter and the ItemsPanel.&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// by calling ApplyTemplate.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Note that in the &lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// virtualizing case even if the item is marked &lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// expanded we still need to do this step in order to &lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// regenerate the visuals because they may have been virtualized away.&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;container.ApplyTemplate();&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;ItemsPresenter itemsPresenter = &lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;(ItemsPresenter)container.Template.FindName("ItemsHost", container);&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;if (itemsPresenter != null)&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;itemsPresenter.ApplyTemplate();&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;else&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// The Tree template has not named the ItemsPresenter, &lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// so walk the descendents and find the child.&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;itemsPresenter = FindVisualChild&amp;lt;ItemsPresenter&amp;gt;(container);&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;if (itemsPresenter == null)&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;container.UpdateLayout();&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;itemsPresenter = FindVisualChild&amp;lt;ItemsPresenter&amp;gt;(container);&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Panel itemsHostPanel = (Panel)VisualTreeHelper.GetChild(itemsPresenter, 0);&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// Ensure that the generator for this panel has been created.&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;UIElementCollection children = itemsHostPanel.Children; &lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;MyVirtualizingStackPanel virtualizingPanel = &lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;itemsHostPanel as MyVirtualizingStackPanel;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;for (int i = 0, count = container.Items.Count; i &amp;lt; count; i++)&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;TreeViewItem subContainer;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;if (virtualizingPanel != null)&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// Bring the item into view so &lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// that the container will be generated.&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;virtualizingPanel.BringIntoView(i);&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;subContainer = &lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;(TreeViewItem)container.ItemContainerGenerator.&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;ContainerFromIndex(i);&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;else&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;subContainer = &lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;(TreeViewItem)container.ItemContainerGenerator.&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;ContainerFromIndex(i);&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// Bring the item into view to maintain the &lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// same behavior as with a virtualizing panel.&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;subContainer.BringIntoView();&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;if (subContainer != null)&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// Search the next level for the object.&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;TreeViewItem resultContainer = GetTreeViewItem(subContainer, item);&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;if (resultContainer != null)&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;return resultContainer;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;else&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// The object is not under this TreeViewItem&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// so collapse it.&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;subContainer.IsExpanded = false;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;return null;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;}&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;/// &amp;lt;summary&amp;gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;/// Search for an element of a certain type in the visual tree.&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;/// &amp;lt;/summary&amp;gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;/// &amp;lt;typeparam name="T"&amp;gt;The type of element to find.&amp;lt;/typeparam&amp;gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;/// &amp;lt;param name="visual"&amp;gt;The parent element.&amp;lt;/param&amp;gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;private T FindVisualChild&amp;lt;T&amp;gt;(Visual visual) where T : Visual&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;{&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;for (int i = 0; i &amp;lt; VisualTreeHelper.GetChildrenCount(visual); i++)&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Visual child = (Visual)VisualTreeHelper.GetChild(visual, i);&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;if (child != null)&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;T correctlyTyped = child as T;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;if (correctlyTyped != null)&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;return correctlyTyped;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;T descendent = FindVisualChild&amp;lt;T&amp;gt;(child);&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;if (descendent != null)&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;return descendent;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;return null;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;}&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;Note that this code looks for a Panel called, MyVirtualizingStackPanel.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;This new type exposes a method that allows you to bring an item into view by passing in the item's index.&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;public class MyVirtualizingStackPanel : VirtualizingStackPanel&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;{&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;/// &amp;lt;summary&amp;gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;/// Publically expose BringIndexIntoView.&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;/// &amp;lt;/summary&amp;gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;public void BringIntoView(int index)&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;this.BringIndexIntoView(index);&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;}&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;The final step is to use the custom VirtualizingStackPanel as the TreeView's ItemsPanel:&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: 'Segoe UI'"&gt;&amp;lt;TreeView VirtualizingStackPanel.IsVirtualizing="True"&amp;gt;&lt;BR&gt;&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;!--Use the custom class MyVirtualizingStackPanel&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;as the ItemsPanel for the TreeView and&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;TreeViewItem object.--&amp;gt;&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;TreeView.ItemsPanel&amp;gt;&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;ItemsPanelTemplate&amp;gt;&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;src:MyVirtualizingStackPanel/&amp;gt;&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/ItemsPanelTemplate&amp;gt;&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/TreeView.ItemsPanel&amp;gt;&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;TreeView.ItemContainerStyle&amp;gt;&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;Style TargetType="TreeViewItem"&amp;gt;&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;Setter Property="ItemsPanel"&amp;gt;&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;Setter.Value&amp;gt;&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;ItemsPanelTemplate&amp;gt;&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;src:MyVirtualizingStackPanel/&amp;gt;&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/ItemsPanelTemplate&amp;gt;&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/Setter.Value&amp;gt;&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/Setter&amp;gt;&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/Style&amp;gt;&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/TreeView.ItemContainerStyle&amp;gt;&lt;BR&gt;&amp;lt;/TreeView&amp;gt;&lt;BR&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;Now that you have the code, you can search for any object in any TreeView, regardless of its depth in the tree.&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;I attached a sample that uses this technique to find any item in the TreeView. The sample asks for a number, finds the corresponding data object in the data model, and then selects the TreeViewItem that contains the object.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Note that the way I find the data object in the model is specific to the organization of my data.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;I could have kept track of the data object's location within the data hierarchy, and then find the corresponding TreeViewItem in the TreeView.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;For example, the item that corresponds to 41 is, starting from the root of the TreeView, under the second item, then under the first item, then under the second item, and finally the first item.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;I could have kept track of its location with a list of indices, 2,1,2,1, and then used those to navigate the TreeView.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;However, this approach is dependent on the organization of the underlying TreeView.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The implementation I show above works on any TreeView and it doesn't require knowledge of the data model.&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 11pt; MARGIN: 0in; FONT-FAMILY: Calibri"&gt;The attached sample has C# and Visual Basic versions.&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9968297" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-components-postattachments/00-09-96-82-97/FindTreeViewItem.zip" length="21050" type="application/x-zip-compressed" /></item><item><title>WPF Shell Integration Library for .NET 3.5</title><link>http://blogs.msdn.com/b/wpfsdk/archive/2010/02/22/wpf-shell-integration-library-for-net-3-5.aspx</link><pubDate>Mon, 22 Feb 2010 21:10:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9967644</guid><dc:creator>Jim Walker - MSFT</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/wpfsdk/rsscomments.aspx?WeblogPostID=9967644</wfw:commentRss><comments>http://blogs.msdn.com/b/wpfsdk/archive/2010/02/22/wpf-shell-integration-library-for-net-3-5.aspx#comments</comments><description>&lt;P&gt;One of the exciting new features in .NET 4 is the ability to use Windows 7 Shell features like Jump Lists, Thumbnail Buttons, and progress indicators in Taskbar buttons, with your WPF applications. These features are found in the &lt;A href="http://msdn.microsoft.com/en-us/library/system.windows.shell(VS.100).aspx" target=_blank&gt;&lt;STRONG&gt;&lt;FONT color=#006b82&gt;System.Windows.Shell&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt; namespace in .NET 4.&lt;/P&gt;
&lt;P&gt;However, if you need to target .NET 3.5SP1, which ships with Windows 7, you can still use these features thanks to the &lt;A href="http://code.msdn.microsoft.com/WPFShell" target=_blank&gt;&lt;STRONG&gt;&lt;FONT color=#006b82&gt;WPF Shell Integration Library&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt; that is now available on MSDN Code Gallery. &lt;/P&gt;
&lt;P&gt;The &lt;A href="http://code.msdn.microsoft.com/WPFShell" target=_blank&gt;&lt;STRONG&gt;&lt;FONT color=#006b82&gt;WPF Shell Integration Library&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt; shares the same features that are found in .NET 4, and the APIs are very compatible. This means it will be easy to upgrade your application to .NET 4 with only minor changes to the shell integration code. It also means that almost all of the &lt;A href="http://msdn.microsoft.com/en-us/library/system.windows.shell(VS.100).aspx" target=_blank&gt;&lt;STRONG&gt;&lt;FONT color=#006b82&gt;documentation for the System.Windows.Shell namespace&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt; also applies to the &lt;A href="http://code.msdn.microsoft.com/WPFShell" target=_blank&gt;&lt;STRONG&gt;&lt;FONT color=#006b82&gt;WPF Shell Integration Library&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt;. There are a few differences, as noted on Code Gallery:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/system.windows.shell.taskbariteminfo(VS.100).aspx" target=_blank&gt;&lt;STRONG&gt;&lt;FONT color=#006b82&gt;TaskbarItemInfo&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt; is implemented as an attached property on the &lt;A href="http://msdn.microsoft.com/en-us/library/system.windows.shell.taskbariteminfo(VS.100).aspx" target=_blank&gt;&lt;STRONG&gt;&lt;FONT color=#006b82&gt;TaskbarItemInfo&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt; class, and is attached to an instance of a Window. In .NET 4, the &lt;A href="http://msdn.microsoft.com/en-us/library/system.windows.window.taskbariteminfo(VS.100).aspx" target=_blank&gt;&lt;STRONG&gt;&lt;FONT color=#006b82&gt;TaskbarItemInfo&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt; is a property directly on &lt;A href="http://msdn.microsoft.com/en-us/library/system.windows.window.taskbariteminfo(VS.100).aspx" target=_blank&gt;&lt;STRONG&gt;&lt;FONT color=#006b82&gt;Window&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt;. 
&lt;LI&gt;A &lt;STRONG&gt;TaskbarItemInfo&lt;/STRONG&gt; instance has a strong affinity to a single window and cannot be shared. 
&lt;LI&gt;Features are in the &lt;STRONG&gt;Microsoft.Windows.Shell&lt;/STRONG&gt; namespace, and in the &lt;STRONG&gt;http://schemas.microsoft.com/winfx/2006/xaml/presentation/shell&lt;/STRONG&gt; xmlns. In .NET 4, the taskbar integration APIs are within the &lt;A href="http://msdn.microsoft.com/en-us/library/system.windows.shell(VS.100).aspx" target=_blank&gt;&lt;STRONG&gt;&lt;FONT color=#006b82&gt;System.Windows.Shell&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt; namespace and the standard WPF xmlns. &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;To&amp;nbsp;see how similar the APIs are, and what the differences are, I took the &lt;A href="http://msdn.microsoft.com/en-us/library/system.windows.shell.taskbariteminfo(VS.100).aspx" target=_blank&gt;&lt;STRONG&gt;&lt;FONT color=#006b82&gt;sample code for the&amp;nbsp;TaskbarItemInfo class&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt; from the MSDN documentation, and converted it to work with the &lt;A href="http://code.msdn.microsoft.com/WPFShell" target=_blank&gt;&lt;STRONG&gt;&lt;FONT color=#006b82&gt;WPF Shell Integration Library&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt; on .NET 3.5SP1. What changes were needed? Let’s see…&lt;/P&gt;
&lt;P&gt;First, I &lt;A href="http://code.msdn.microsoft.com/WPFShell/Release/ProjectReleases.aspx" target=_blank&gt;&lt;STRONG&gt;&lt;FONT color=#006b82&gt;downloaded the library&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt; from Code Gallery. &lt;/P&gt;
&lt;P&gt;Then I added a reference to &lt;STRONG&gt;Microsoft.Windows.Shell.dll&lt;/STRONG&gt; to my sample project, and in MainWindow.xaml, I added the required xmlns: &lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;xmlns&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;:&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;shell&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;=&lt;A href="http://schemas.microsoft.com/winfx/2006/xaml/presentation/shell"&gt;http://schemas.microsoft.com/winfx/2006/xaml/presentation/shell&lt;/A&gt;&lt;/FONT&gt;&lt;/FONT&gt;.&lt;/P&gt;
&lt;P&gt;From there, I changed &lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;Window.TaskbarItemInfo&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&amp;nbsp;to &lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;shell&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;:&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;TaskbarItemInfo.TaskbarItemInfo&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;, and then added the&amp;nbsp;&lt;STRONG&gt;shell:&lt;/STRONG&gt; prefix&amp;nbsp;to the rest of the tags.&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;shell&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;:&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;TaskbarItemInfo.TaskbarItemInfo&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&amp;gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;shell&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;:&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;TaskbarItemInfo&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-no-proof: yes"&gt; x&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;:&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: red; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;Name&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;="taskBarItemInfo1"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;Overlay&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="{&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;StaticResource&lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt; ResourceKey&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=StopImage}"&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;ThumbnailClipMargin&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="80,0,80,140"&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;Description&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="Taskbar Item Info Sample"&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;shell&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;:&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;TaskbarItemInfo.ThumbButtonInfos&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;shell&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;:&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;ThumbButtonInfoCollection&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;shell&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;:&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;ThumbButtonInfo&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;DismissWhenClicked&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="False"&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;Command&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="MediaCommands.Play"&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;CommandTarget&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="{&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;Binding&lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt; ElementName&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=btnPlay}"&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;Description&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="Play"&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;ImageSource&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="{&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;StaticResource&lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt; ResourceKey&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=PlayImage}"/&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;shell&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;:&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;ThumbButtonInfo&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;DismissWhenClicked&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="True"&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;Command&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="MediaCommands.Stop"&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;CommandTarget&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="{&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;Binding&lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt; ElementName&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=btnStop}"&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;Description&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="Stop"&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;ImageSource&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="{&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;StaticResource&lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt; ResourceKey&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=StopImage}"/&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;shell&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;:&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;ThumbButtonInfoCollection&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;shell&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;:&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;TaskbarItemInfo.ThumbButtonInfos&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;shell&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;:&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;TaskbarItemInfo&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;shell&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;:&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; COLOR: #a31515; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;TaskbarItemInfo.TaskbarItemInfo&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&amp;gt;&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;In the code behind page, I just changed my &lt;STRONG&gt;using/Imports&lt;/STRONG&gt; statement from &lt;STRONG&gt;System.Windows.Shell&lt;/STRONG&gt; to &lt;FONT size=2&gt;&lt;STRONG&gt;Microsoft.Windows.Shell&lt;/STRONG&gt;&lt;/FONT&gt;.&lt;/P&gt;
&lt;P&gt;That’s it. With these few changes, the TaskbarItemInfo sample runs on .NET 3.5 exactly as it does on .NET 4.&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9967644" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/WPF/">WPF</category><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/3-5/">3.5</category><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/-NET+Framework/">.NET Framework</category><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/Windows+7/">Windows 7</category></item><item><title>What's new in .NET Framework 4 Release Candidate documentation</title><link>http://blogs.msdn.com/b/wpfsdk/archive/2010/02/19/what-s-new-in-net-framework-4-release-candidate-documentation.aspx</link><pubDate>Fri, 19 Feb 2010 16:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9966399</guid><dc:creator>Margaret Parsons [MSFT]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/wpfsdk/rsscomments.aspx?WeblogPostID=9966399</wfw:commentRss><comments>http://blogs.msdn.com/b/wpfsdk/archive/2010/02/19/what-s-new-in-net-framework-4-release-candidate-documentation.aspx#comments</comments><description>&lt;P&gt;The &lt;A href="http://msdn.microsoft.com/en-us/vstudio/dd582936.aspx" mce_href="http://msdn.microsoft.com/en-us/vstudio/dd582936.aspx"&gt;Visual Studio 2010 and&amp;nbsp;.NET Framework 4&amp;nbsp;Release Candidate&lt;/A&gt; is now available along with the&lt;A href="http://msdn.microsoft.com/en-us/library/ms754130(VS.100).aspx" mce_href="http://msdn.microsoft.com/en-us/library/ms754130(VS.100).aspx"&gt; documentation&lt;/A&gt; online at MSDN.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;There are a few new things you might want to check out.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;The &lt;A href="http://msdn.microsoft.com/en-us/library/ms752299(VS.100).aspx" mce_href="http://msdn.microsoft.com/en-us/library/ms752299(VS.100).aspx"&gt;Getting Started with WPF&lt;/A&gt; walkthrough has been completely updated for this release. You'll find downloadable sample code for both C# and VB that goes with the content.&lt;/LI&gt;
&lt;LI&gt;Many client applications now target the&amp;nbsp;.NET Framework Client Profile by default. You can find the list of Visual Studio templates in the &lt;A href="http://msdn.microsoft.com/en-us/library/cc656912(VS.100).aspx" mce_href="http://msdn.microsoft.com/en-us/library/cc656912(VS.100).aspx"&gt;.NET Framework Client Profile&lt;/A&gt; documentation.&lt;/LI&gt;
&lt;LI&gt;You can find even more information about using the &lt;A href="http://msdn.microsoft.com/en-us/library/ee259935(VS.100).aspx" mce_href="http://msdn.microsoft.com/en-us/library/ee259935(VS.100).aspx"&gt;.NET Framework XAML Services&lt;/A&gt;&amp;nbsp;with this update.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;As always, we look forward to your feedback on these topics and any others. So please click the big, orange feedback button often!&lt;/P&gt;
&lt;P&gt;Margaret&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9966399" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/XAML/">XAML</category><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/WPF/">WPF</category><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/Windows+Presentation+Foundation/">Windows Presentation Foundation</category><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/Visual+Studio/">Visual Studio</category><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/-NET+Framework+4/">.NET Framework 4</category></item><item><title>Angled Headers in the DataGrid</title><link>http://blogs.msdn.com/b/wpfsdk/archive/2010/01/06/angled-headers-in-the-datagrid.aspx</link><pubDate>Wed, 06 Jan 2010 21:50:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9944830</guid><dc:creator>Margaret Parsons [MSFT]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/wpfsdk/rsscomments.aspx?WeblogPostID=9944830</wfw:commentRss><comments>http://blogs.msdn.com/b/wpfsdk/archive/2010/01/06/angled-headers-in-the-datagrid.aspx#comments</comments><description>&lt;P&gt;In&amp;nbsp;my &lt;A href="http://blogs.msdn.com/wpfsdk/archive/2009/12/16/rotate-your-text-in-the-wpf-datagrid-column-headers.aspx" mce_href="http://blogs.msdn.com/wpfsdk/archive/2009/12/16/rotate-your-text-in-the-wpf-datagrid-column-headers.aspx"&gt;last post&lt;/A&gt;, I demonstrated how to rotate the text inside a &lt;A href="http://msdn.microsoft.com/en-us/library/system.windows.controls.datagrid(VS.100).aspx" mce_href="http://msdn.microsoft.com/en-us/library/system.windows.controls.datagrid(VS.100).aspx"&gt;DataGrid&lt;/A&gt; header. And I suggested that you might want to actually create angled headers that look something like this.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wpfsdk/WindowsLiveWriter/AngledHeadersintheDataGrid_B01D/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/wpfsdk/WindowsLiveWriter/AngledHeadersintheDataGrid_B01D/image_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wpfsdk/WindowsLiveWriter/AngledHeadersintheDataGrid_B01D/image_thumb.png" width=232 height=114 mce_src="http://blogs.msdn.com/blogfiles/wpfsdk/WindowsLiveWriter/AngledHeadersintheDataGrid_B01D/image_thumb.png"&gt;&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;My friend Cheryl, from the Silverlight UE team, and I decided to try this out. To make this work you need to know that a) the &lt;A href="http://msdn.microsoft.com/en-us/library/system.windows.controls.primitives.datagridcolumnheader(VS.100).aspx" mce_href="http://msdn.microsoft.com/en-us/library/system.windows.controls.primitives.datagridcolumnheader(VS.100).aspx"&gt;DataGridColumnHeader&lt;/A&gt; is a content control and b) you can retemplate the &lt;A href="http://msdn.microsoft.com/en-us/library/system.windows.controls.controltemplate(VS.100).aspx" mce_href="http://msdn.microsoft.com/en-us/library/system.windows.controls.controltemplate(VS.100).aspx"&gt;ControlTemplate&lt;/A&gt; to look like whatever you want and maintain the functionality.&amp;nbsp; To make the shape we wanted, we decided to go with a skewed rectangle. At first things seemed pretty straightforward and we were able to get things looking pretty good after re-reading the topic on &lt;A href="http://msdn.microsoft.com/en-us/library/ms750596(VS.100).aspx" mce_href="http://msdn.microsoft.com/en-us/library/ms750596(VS.100).aspx"&gt;Transforms&lt;/A&gt; and a lot of trial and error with the angles and centers for rotation and skews. A few notes on this:&lt;/P&gt;
&lt;P&gt;1. We wanted to skew the Rectangle from the bottom of the header so we bound the CenterY of the SkewTransform to the Height of the Rectangle.&lt;/P&gt;
&lt;P&gt;2. We had to both rotate and translate the text to get it in the correct position.&lt;/P&gt;
&lt;P&gt;3. I ended up using the &lt;A href="http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.layouttransform(VS.100).aspx" mce_href="http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.layouttransform(VS.100).aspx"&gt;LayoutTransform&lt;/A&gt; for the rotation in my code since it makes the column width a bit smaller when the Header text is long. You can put both transforms in the &lt;A href="http://msdn.microsoft.com/en-us/library/system.windows.uielement.rendertransform(VS.100).aspx" mce_href="http://msdn.microsoft.com/en-us/library/system.windows.uielement.rendertransform(VS.100).aspx"&gt;RenderTransform&lt;/A&gt; but then you can end up with even wider columns since the layout pass assumes you need columns wide enough for the text before the transform. I messed around with trying to get the columns even narrower and if you rotate the text 90 degrees in the LayoutTransform and then rotate it back 45 degrees in the RenderTransform, you get much narrower columns. But it was going to take me a lot more time to figure out the center of the rotation and I think you need another converter because the width of the header isn’t quite wide enough after you skew it, so I’m leaving that undone.&lt;/P&gt;
&lt;P&gt;Once we had this working, we realized that we’d hard coded the Height of the columns when we were playing around and we had trouble figuring out how to calculate the height. In the end, I created a &lt;A href="http://msdn.microsoft.com/en-us/library/system.windows.data.multibinding(VS.100).aspx" mce_href="http://msdn.microsoft.com/en-us/library/system.windows.data.multibinding(VS.100).aspx"&gt;MultiBinding&lt;/A&gt; where I pass in the DataGrid (so that you can get the Header values off the columns) and all the font information. Then I calculate the length of the longest Header string using a &lt;A href="http://msdn.microsoft.com/en-us/library/system.windows.media.formattedtext(VS.100).aspx" mce_href="http://msdn.microsoft.com/en-us/library/system.windows.media.formattedtext(VS.100).aspx"&gt;FormattedText&lt;/A&gt; object and pad that a bit for the height.&lt;/P&gt;
&lt;P&gt;The one thing that still doesn’t work is that the hit region for the headers doesn’t change. So, you have to click low in the header to sort or drag the header. I’m going to ask around and see if I can get a solution to this and I’ll post it if I do. The other thing is that the drag visual is still the old header style&amp;nbsp;too.&amp;nbsp; You can override that with the &lt;A href="http://msdn.microsoft.com/en-us/library/system.windows.controls.datagrid.dragindicatorstyle(VS.100).aspx" mce_href="http://msdn.microsoft.com/en-us/library/system.windows.controls.datagrid.dragindicatorstyle(VS.100).aspx"&gt;DragIndicatorStyle&lt;/A&gt; (I believe) but I haven’t tested it.&lt;/P&gt;
&lt;P&gt;Here is the new ControlTemplate. If you want to see the entire XAML and code behind (VB and C#), I’ve posted those &lt;A href="http://code.msdn.microsoft.com/wpfsdkblog/Release/ProjectReleases.aspx?ReleaseId=3768" mce_href="http://code.msdn.microsoft.com/wpfsdkblog/Release/ProjectReleases.aspx?ReleaseId=3768"&gt;here&lt;/A&gt;.&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas; FONT-SIZE: 9.5pt"&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;ControlTemplate&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: red; FONT-SIZE: 9.5pt"&gt; TargetType&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;="DataGridColumnHeader"&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;Grid&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: red; FONT-SIZE: 9.5pt"&gt; ShowGridLines&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;="True"&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;Rectangle&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: red; FONT-SIZE: 9.5pt"&gt; Name&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;="HeaderRect"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: red; FONT-SIZE: 9.5pt"&gt; Width&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;="{&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;TemplateBinding&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: red; FONT-SIZE: 9.5pt"&gt; Width&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;}"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: red; FONT-SIZE: 9.5pt"&gt; Fill&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;="LightBlue"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: red; FONT-SIZE: 9.5pt"&gt; Stroke&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;="Black"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;StrokeThickness&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="1"&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&amp;gt;&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;Rectangle.Height&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;MultiBinding&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: red; FONT-SIZE: 9.5pt"&gt; Converter&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;="{&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;StaticResource&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: red; FONT-SIZE: 9.5pt"&gt; HeightConverter&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;}"&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;Binding&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: red; FONT-SIZE: 9.5pt"&gt; RelativeSource&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;="{&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;RelativeSource&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: red; FONT-SIZE: 9.5pt"&gt; AncestorType&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;=DataGrid}" /&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;Binding&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: red; FONT-SIZE: 9.5pt"&gt; RelativeSource&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;="{&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;RelativeSource&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: red; FONT-SIZE: 9.5pt"&gt; TemplatedParent&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;}"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: red; FONT-SIZE: 9.5pt"&gt; Path&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;="FontSize" /&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;Binding&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: red; FONT-SIZE: 9.5pt"&gt; RelativeSource&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;="{&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;RelativeSource&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: red; FONT-SIZE: 9.5pt"&gt; TemplatedParent&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;}"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: red; FONT-SIZE: 9.5pt"&gt; Path&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;="FontFamily" /&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;Binding&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: red; FONT-SIZE: 9.5pt"&gt; RelativeSource&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;="{&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;RelativeSource&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: red; FONT-SIZE: 9.5pt"&gt; TemplatedParent&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;}"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: red; FONT-SIZE: 9.5pt"&gt; Path&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;="FontStyle" /&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;Binding&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: red; FONT-SIZE: 9.5pt"&gt; RelativeSource&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;="{&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;RelativeSource&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: red; FONT-SIZE: 9.5pt"&gt; TemplatedParent&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;}"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: red; FONT-SIZE: 9.5pt"&gt; Path&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;="FontStretch" /&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;Binding&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: red; FONT-SIZE: 9.5pt"&gt; RelativeSource&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;="{&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;RelativeSource&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: red; FONT-SIZE: 9.5pt"&gt; TemplatedParent&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;}"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: red; FONT-SIZE: 9.5pt"&gt; Path&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;="FontWeight" /&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;MultiBinding&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;Rectangle.Height&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;Rectangle.RenderTransform&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;SkewTransform&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: red; FONT-SIZE: 9.5pt"&gt; CenterX&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;="0"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: red; FONT-SIZE: 9.5pt"&gt; CenterY&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;="{&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;Binding&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: red; FONT-SIZE: 9.5pt"&gt; ElementName&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;=HeaderRect,&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: red; FONT-SIZE: 9.5pt"&gt; Path&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;=Height}"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;AngleX&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="-45"&lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt; AngleY&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="0"&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;/&amp;gt;&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;Rectangle.RenderTransform&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;Rectangle&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;ContentPresenter&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: red; FONT-SIZE: 9.5pt"&gt; Content&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;="{&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;TemplateBinding&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: red; FONT-SIZE: 9.5pt"&gt; Content&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;}"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: red; FONT-SIZE: 9.5pt"&gt; VerticalAlignment&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;="Bottom"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;HorizontalAlignment&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="Left" &amp;gt;&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;ContentPresenter.LayoutTransform&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;RotateTransform&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: red; FONT-SIZE: 9.5pt"&gt; Angle&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;="-45"/&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;ContentPresenter.LayoutTransform&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;ContentPresenter.RenderTransform&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;TranslateTransform&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt; &lt;SPAN style="COLOR: red"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;X&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="{&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;Binding&lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt; RelativeSource&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;={&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;RelativeSource&lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt; TemplatedParent&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;},&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;Path&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=ActualWidth,&lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt; Mode&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=OneWay,&lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt; Converter&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;={&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;StaticResource&lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt; WidthConverter&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;}}"&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;/&amp;gt;&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;ContentPresenter.RenderTransform&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;ContentPresenter&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;Grid&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;ControlTemplate&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 9.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas; FONT-SIZE: 9.5pt"&gt;&lt;/SPAN&gt;
&lt;P&gt;In addition to some of the issues I mentioned, I wasn’t very thorough about checking the original template for all the TemplateBindings so there may be some other TemplateBindings you need to set up if you want to be able to set a value on the DataGrid.&amp;nbsp;&amp;nbsp; For the Silverlight version, see &lt;A href="http://blogs.msdn.com/silverlight_sdk/archive/2010/01/05/angled-headers-for-datagrid-columns-not-just-angled-text.aspx" mce_href="http://blogs.msdn.com/silverlight_sdk/archive/2010/01/05/angled-headers-for-datagrid-columns-not-just-angled-text.aspx"&gt;Cheryl’s post&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Margaret&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9944830" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/Data+Binding/">Data Binding</category><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/Controls/">Controls</category><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/WPF/">WPF</category><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/DataGrid/">DataGrid</category></item><item><title>Rotate your text in the WPF DataGrid column headers</title><link>http://blogs.msdn.com/b/wpfsdk/archive/2009/12/16/rotate-your-text-in-the-wpf-datagrid-column-headers.aspx</link><pubDate>Wed, 16 Dec 2009 19:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9937816</guid><dc:creator>Margaret Parsons [MSFT]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/wpfsdk/rsscomments.aspx?WeblogPostID=9937816</wfw:commentRss><comments>http://blogs.msdn.com/b/wpfsdk/archive/2009/12/16/rotate-your-text-in-the-wpf-datagrid-column-headers.aspx#comments</comments><description>&lt;P&gt;I was talking to Cheryl who writes for the &lt;A href="http://blogs.msdn.com/silverlight_sdk/"&gt;Silverlight User Education team&lt;/A&gt; and she was trying to make DataGrid column headers with angled text. She was having trouble getting it to work so we sat down to look at it. We couldn't make it work, but I went back to my office and started working on it in WPF.&amp;nbsp; Before long, I'd come up with a solution. However, since it was trickier than I thought it would be, I'm sharing it here. (By the way, I'm using &lt;A href="http://msdn.microsoft.com/en-us/vstudio/dd582936.aspx" mce_href="http://msdn.microsoft.com/en-us/vstudio/dd582936.aspx"&gt;.NET Framework 4 Beta 2&lt;/A&gt; but you can get the &lt;A href="http://msdn.microsoft.com/en-us/library/system.windows.controls.datagrid(VS.100).aspx" mce_href="http://msdn.microsoft.com/en-us/library/system.windows.controls.datagrid(VS.100).aspx"&gt;DataGrid&lt;/A&gt; from the &lt;A href="http://wpf.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=29117" mce_href="http://wpf.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=29117"&gt;WPF toolkit&lt;/A&gt; too.)&lt;/P&gt;
&lt;P&gt;To get angled text in the column header (as opposed to actually angling the column headers themselves which is a different problem and one I may have to try next now that I've thought of it), you want to update the DataTemplate for the content in the header. So, first I created a DataTemplate to hold the text. You need to apply the transform before the layout pass otherwise your header will get a layout slot with a size to hold the text horizontally, then the rotation is applied and your text gets clipped. LayoutTransform is a property on FrameworkElement which does exactly what I wanted. Here is my DataTemplate:&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; TEXT-INDENT: 0.5in; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;DataTemplate&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas; COLOR: red; FONT-SIZE: 9.5pt"&gt; x&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;:&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas; COLOR: red; FONT-SIZE: 9.5pt"&gt;Key&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;="RotateHeaderTemplate" &amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas; FONT-SIZE: 9.5pt"&gt;&lt;/SPAN&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;TextBlock&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas; COLOR: red; FONT-SIZE: 9.5pt"&gt; Text&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;="{&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;Binding&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;}"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas; COLOR: red; FONT-SIZE: 9.5pt"&gt; Foreground&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;="Blue" &amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas; FONT-SIZE: 9.5pt"&gt; &lt;/SPAN&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;TextBlock.LayoutTransform&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas; FONT-SIZE: 9.5pt"&gt; &lt;/SPAN&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;RotateTransform&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas; COLOR: red; FONT-SIZE: 9.5pt"&gt; Angle&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;="-35" /&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas; FONT-SIZE: 9.5pt"&gt; &lt;/SPAN&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;TextBlock.LayoutTransform&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas; FONT-SIZE: 9.5pt"&gt; &lt;/SPAN&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;TextBlock&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas; FONT-SIZE: 9.5pt"&gt;&lt;/SPAN&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;DataTemplate&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;gt; &lt;/SPAN&gt;
&lt;P&gt;Then I needed to apply this to all the header templates. This was what took me a while to figure out.&amp;nbsp; I was trying to find something like ColumnHeaderDataTemplate but that didn't exist.&amp;nbsp; There is a HeaderTemplate property on the DataGridColumn class but I couldn't use that since its an abstract class. You can apply the template to each column individually which I tried, but I really wanted to use a Setter in a Style. Finally, I figured out that I could apply the style to DataGridColumnHeader which inherits from ContentControl and therefore has a ContentTemplate. The ContentTemplate is the DataTemplate for the ContentControl. Exactly what I needed.Here is the Style.&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; TEXT-INDENT: 0.5in; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;Style&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas; COLOR: red; FONT-SIZE: 9.5pt"&gt; TargetType&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;="DataGridColumnHeader"&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas; FONT-SIZE: 9.5pt"&gt; &lt;/SPAN&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt 1in; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;Setter&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas; COLOR: red; FONT-SIZE: 9.5pt"&gt; Property&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;="ContentTemplate"&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas; COLOR: red; FONT-SIZE: 9.5pt"&gt; Value&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;="{&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;StaticResource&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas; COLOR: red; FONT-SIZE: 9.5pt"&gt; RotateHeaderTemplate&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;}" /&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas; FONT-SIZE: 9.5pt"&gt; &lt;/SPAN&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas; COLOR: #a31515; FONT-SIZE: 9.5pt"&gt;Style&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: consolas; COLOR: blue; FONT-SIZE: 9.5pt"&gt;&amp;gt; &lt;/SPAN&gt;
&lt;P&gt;And that's it. Now all of my headers are angled. Here's what it looks like.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wpfsdk/WindowsLiveWriter/RotateyourtextintheWPFDataGridColumnHead_AABA/DataGridRotateHeader.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=DataGridRotateHeader border=0 alt=DataGridRotateHeader src="http://blogs.msdn.com/blogfiles/wpfsdk/WindowsLiveWriter/RotateyourtextintheWPFDataGridColumnHead_AABA/DataGridRotateHeader_thumb.png" width=644 height=195&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Don’t forget to check the MSDN documentation if you have other &lt;A href="http://msdn.microsoft.com/en-us/library/system.windows.controls.datagrid(VS.100).aspx"&gt;DataGrid&lt;/A&gt; questions. For the solution in a Silverlight application, see &lt;A href="http://blogs.msdn.com/silverlight_sdk/archive/2009/12/16/using-the-silverlight-toolkit-layouttransformer-control.aspx"&gt;Using the Silverlight Toolkit LayoutTransformer Control for Angled Column Header Text&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Margaret&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9937816" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/WPF/">WPF</category><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/Windows+Presentation+Foundation/">Windows Presentation Foundation</category><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/DataGrid/">DataGrid</category><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/WPF+Toolkit/">WPF Toolkit</category><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/-NET+Framework+4/">.NET Framework 4</category></item><item><title>Karl Shifflett’s WPF and Silverlight shared design-time code</title><link>http://blogs.msdn.com/b/wpfsdk/archive/2009/11/21/karl-shifflett-s-wpf-and-silverlight-shared-design-time-code.aspx</link><pubDate>Sat, 21 Nov 2009 16:39:02 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9926754</guid><dc:creator>JGalasyn</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/wpfsdk/rsscomments.aspx?WeblogPostID=9926754</wfw:commentRss><comments>http://blogs.msdn.com/b/wpfsdk/archive/2009/11/21/karl-shifflett-s-wpf-and-silverlight-shared-design-time-code.aspx#comments</comments><description>&lt;p&gt;Here’s a most excellent demonstration of how to author a custom design experience that’s shared between WPF and Silverlight controls. Karl gives you a detailed, step-by-step walkthrough, complete with Task List breadcrumbs:&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://karlshifflett.files.wordpress.com/2009/11/breadcrumbtrail.png"&gt;&lt;img title="BreadcrumbTrail" border="0" alt="BreadcrumbTrail" src="http://karlshifflett.files.wordpress.com/2009/11/breadcrumbtrail_thumb.png?w=668&amp;amp;h=227" width="668" height="227" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;font size="1"&gt;Walkthrough guidance in the form of Task List hints&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;That’s so clever it blows my mind. Karl shows you precisely how to isolate and package design-time logic that’s specific to WPF and Silverlight, as well as VS and Blend – the table showing which design-time assemblies are loaded in which design tool (VS or Blend) is worth the price of entry by itself. And he shows you the key to code sharing: how to abstract SL- and WPF-specific types through a little type resolver class. It’s all very slick.&lt;/p&gt;  &lt;p&gt;Karl’s blog post is &lt;a href="http://karlshifflett.wordpress.com/2009/11/20/extensibility-series-wpf-silverlight-design-time-code-sharing-part-i/"&gt;here&lt;/a&gt;, and the code is &lt;a href="http://code.msdn.microsoft.com/Project/Download/FileDownload.aspx?ProjectName=DesignerExtensbility&amp;amp;DownloadId=8348"&gt;here&lt;/a&gt; at &lt;a href="http://code.msdn.microsoft.com/DesignerExtensbility/Wiki/View.aspx?title=Home"&gt;WPF and Silverlight Designer Extensibility Samples&lt;/a&gt;. Have fun with your custom design experiences.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9926754" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/WPF/">WPF</category><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/-NET+Framework/">.NET Framework</category><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/Visual+Studio/">Visual Studio</category><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/Silverlight/">Silverlight</category><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/WPF+Designer/">WPF Designer</category><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/Expression+Blend/">Expression Blend</category></item><item><title>Fishbowl – A Facebook sample app in WPF</title><link>http://blogs.msdn.com/b/wpfsdk/archive/2009/11/20/fishbowl-a-facebook-sample-app-in-wpf.aspx</link><pubDate>Fri, 20 Nov 2009 21:20:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9926453</guid><dc:creator>wcsdkteam</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/wpfsdk/rsscomments.aspx?WeblogPostID=9926453</wfw:commentRss><comments>http://blogs.msdn.com/b/wpfsdk/archive/2009/11/20/fishbowl-a-facebook-sample-app-in-wpf.aspx#comments</comments><description>&lt;P&gt;uxlabs@Microsoft has just released Fishbowl, a sample client application for Facebook, complete with source code. Fishbowl requires .NET 3.5 and uses &lt;A href="http://msdn.microsoft.com/en-us/library/ms754130.aspx" mce_href="http://msdn.microsoft.com/en-us/library/ms754130.aspx"&gt;WPF&lt;/A&gt;&amp;nbsp;and &lt;A href="http://msdn.microsoft.com/en-us/library/t71a733d.aspx" mce_href="http://msdn.microsoft.com/en-us/library/t71a733d.aspx"&gt;ClickOnce&lt;/A&gt;. If you’re using Windows 7, it also demonstrates new features such as Jump Lists, taskbar previews, and multitouch.&lt;/P&gt;
&lt;P&gt;You can get more information and install the application from &lt;A href="http://www.fishbowlclient.com/" mce_href="http://www.fishbowlclient.com"&gt;http://www.fishbowlclient.com&lt;/A&gt;. &lt;/P&gt;
&lt;P&gt;You can get the source code from &lt;A href="http://fishbowl.codeplex.com/" mce_href="http://fishbowl.codeplex.com"&gt;http://fishbowl.codeplex.com&lt;/A&gt;. &lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9926453" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/WPF/">WPF</category><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/Sample/">Sample</category><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/3-5/">3.5</category><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/-NET+Framework/">.NET Framework</category><category domain="http://blogs.msdn.com/b/wpfsdk/archive/tags/Windows+7/">Windows 7</category></item></channel></rss>