<?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>WPF Performance Whitepaper</title><link>http://blogs.msdn.com/kiranku/default.aspx</link><description /><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>WPF/e.</title><link>http://blogs.msdn.com/kiranku/archive/2006/12/01/wpf-e-introduction.aspx</link><pubDate>Fri, 01 Dec 2006 21:36:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1186071</guid><dc:creator>kiranku</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/kiranku/comments/1186071.aspx</comments><wfw:commentRss>http://blogs.msdn.com/kiranku/commentrss.aspx?PostID=1186071</wfw:commentRss><description>&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Since we shipped WPF, I moved on to work on WPF/e. &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&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;What is WPF/E?&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;WPF/e is a cross-platform browser plug-in for delivering rich media, animation and video content based on the Emmy Award-winning Windows Media® technology, the industry’s most pervasive media platform for the Web, desktop and devices. Expression Media and Expression Design provide support for authoring content for the WPF/E CTP.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Today we&amp;nbsp;shipped our Feb CTP !! We'll be posting more information&amp;nbsp;soon -&amp;nbsp; get the new bits from &lt;A href="http://www.microsoft.com/wpfe" mce_href="http://www.microsoft.com/wpfe"&gt;&lt;STRONG&gt;&lt;SPAN style="COLOR: #006bad; FONT-FAMILY: 'Arial','sans-serif'"&gt;http://www.microsoft.com/wpfe&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/A&gt;. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Tim Sneath also has more information on his blog - &lt;A href="http://blogs.msdn.com/tims/archive/2007/01/31/wpf-e-second-ctp-shipped.aspx"&gt;&lt;STRONG&gt;&lt;SPAN style="COLOR: #006bad; FONT-FAMILY: 'Arial','sans-serif'"&gt;http://blogs.msdn.com/tims/archive/2007/01/31/wpf-e-second-ctp-shipped.aspx&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/A&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin"&gt;I am really excited about the features we have added to this new drop. In my next blog I am going to share some more on these new features&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin"&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;/SPAN&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1186071" width="1" height="1"&gt;</description></item><item><title> WPF Performance Whitepaper</title><link>http://blogs.msdn.com/kiranku/archive/2006/10/30/wpf-performance-whitepaper.aspx</link><pubDate>Mon, 30 Oct 2006 22:04:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:904197</guid><dc:creator>kiranku</dc:creator><slash:comments>6</slash:comments><comments>http://blogs.msdn.com/kiranku/comments/904197.aspx</comments><wfw:commentRss>http://blogs.msdn.com/kiranku/commentrss.aspx?PostID=904197</wfw:commentRss><description>&lt;SPAN lang=EN style="mso-ansi-language: EN"&gt;&lt;FONT size=3&gt;&lt;FONT face="Times New Roman"&gt;
&lt;P&gt;&lt;SPAN lang=EN style="mso-ansi-language: EN"&gt;Let me start with a small intro about myself. I have been in Microsoft and in WPF team since 2003. Before moving to Microsoft I was working for Spacelabs writing S/w for their Patient monitoring systems. Before joining Spacelab’s I also worked for Honeywell and&amp;nbsp;ABB. &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&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN lang=EN style="mso-ansi-language: EN"&gt;My last 3 years in Microsoft were spent working on performance team of &lt;/SPAN&gt;&lt;SPAN class=MsoHyperlink&gt;&lt;A href="http://msdn.microsoft.com/windowsvista/building/presentation/default.aspx" mce_href="http://msdn.microsoft.com/windowsvista/building/presentation/default.aspx"&gt;&lt;SPAN lang=EN style="mso-ansi-language: EN"&gt;Windows Presentation Foundation (WPF)&lt;/SPAN&gt;&lt;/A&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;.&lt;/FONT&gt;&lt;/U&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN style="mso-ansi-language: EN"&gt; During these years I have extensively worked on improving overall performance of WPF and have also spent considerable amount of time analyzing and improving performance of WPF Apps written by customers and developers. During last couple of months we got tons of requests to publish some kind of best practices for writing WPF app. I thought it’s a good time for me to share my experience through a whitepaper. Whitepaper will be part of SDK (RTM version)&amp;nbsp;but for the developers who already are in to WPF I am sharing this through my blog.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN lang=EN style="mso-ansi-language: EN"&gt;&lt;o:p&gt;&lt;FONT face="Times New Roman" size=3&gt;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN lang=EN style="mso-ansi-language: EN"&gt;&lt;FONT size=3&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;Back in july I did an MSDN webcast on the same topic. I covered most of the stuffs wihch I have in the whitepaper. Here is the link to the webcast&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN lang=EN style="mso-ansi-language: EN"&gt;&lt;FONT size=3&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN lang=EN style="mso-ansi-language: EN"&gt;&lt;FONT size=3&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;A href="http://www.microsoft.com/events/EventDetails.aspx?CMTYSvcSource=MSCOMMedia&amp;amp;Params=%7eCMTYDataSvcParams%5e%7earg+Name%3d%22ID%22+Value%3d%221032302253%22%2f%5e%7earg+Name%3d%22ProviderID%22+Value%3d%22A6B43178-497C-4225-BA42-DF595171F04C%22%2f%5e%7earg+Name%3d%22lang%22+Value%3d%22en%22%2f%5e%7earg+Name%3d%22cr%22+Value%3d%22US%22%2f%5e%7esParams%5e%7e%2fsParams%5e%7e%2fCMTYDataSvcParams%5e" mce_href="http://www.microsoft.com/events/EventDetails.aspx?CMTYSvcSource=MSCOMMedia&amp;amp;Params=%7eCMTYDataSvcParams%5e%7earg+Name%3d%22ID%22+Value%3d%221032302253%22%2f%5e%7earg+Name%3d%22ProviderID%22+Value%3d%22A6B43178-497C-4225-BA42-DF595171F04C%22%2f%5e%7earg+Name%3d%22lang%22+Value%3d%22en%22%2f%5e%7earg+Name%3d%22cr%22+Value%3d%22US%22%2f%5e%7esParams%5e%7e%2fsParams%5e%7e%2fCMTYDataSvcParams%5e"&gt;http://www.microsoft.com/events/EventDetails.aspx?CMTYSvcSource=MSCOMMedia&amp;amp;Params=%7eCMTYDataSvcParams%5e%7earg+Name%3d%22ID%22+Value%3d%221032302253%22%2f%5e%7earg+Name%3d%22ProviderID%22+Value%3d%22A6B43178-497C-4225-BA42-DF595171F04C%22%2f%5e%7earg+Name%3d%22lang%22+Value%3d%22en%22%2f%5e%7earg+Name%3d%22cr%22+Value%3d%22US%22%2f%5e%7esParams%5e%7e%2fsParams%5e%7e%2fCMTYDataSvcParams%5e&lt;/A&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;o:p&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face="Times New Roman" size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Times New Roman" size=3&gt;I would highly encourage you to visit &lt;SPAN lang=EN style="mso-ansi-language: EN"&gt;&lt;A href="http://blogs.msdn.com/timothyc/default.aspx"&gt;Tim Cahill’s &lt;/A&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;blog. Tim wrote some cool performance measurement techniques in his blog which would help you diagnose performance issues in your applications. We &lt;/SPAN&gt;really want your feedback so please give us feedback. Also let me know what other topics you want to hear about on WPF performance, I will make sure to cover them in my next blog.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Times New Roman" size=3&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Times New Roman" size=3&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Times New Roman" size=3&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Times New Roman" size=3&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Times New Roman" size=3&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt" mce_keep="true"&gt;&lt;FONT face="Times New Roman" size=3&gt;I am adding the content of my whitepaper in this blog as well as I am uploding the doc as attachment.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt" mce_keep="true"&gt;&lt;FONT face="Times New Roman" size=3&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;
&lt;TABLE class=MsoNormalTable style="WIDTH: 98.9%; mso-padding-alt: 0in 0in 0in 0in; mso-cellspacing: 0in; mso-yfti-tbllook: 1184" cellSpacing=0 cellPadding=0 width="98%" border=0 class="MsoNormalTable"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 0in; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0.75pt 6pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The performance data provided in this topic are based on WPF applications running on a 2.8 GHz PC with 512 RAM and an ATI Radeon 9700 graphics card.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;SPAN style="mso-spacerun: yes"&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;This topic contains the following sections.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 2.25pt 12.75pt; TEXT-INDENT: -0.25in; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Symbol; mso-bidi-font-size: 8.5pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;·&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 7pt; COLOR: black; mso-fareast-font-family: Symbol"&gt;&lt;FONT face="Times New Roman"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Planning for Performance &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 2.25pt 12.75pt; TEXT-INDENT: -0.25in; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Symbol; mso-bidi-font-size: 8.5pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;·&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 7pt; COLOR: black; mso-fareast-font-family: Symbol"&gt;&lt;FONT face="Times New Roman"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Taking Advantage of Hardware &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 2.25pt 12.75pt; TEXT-INDENT: -0.25in; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Symbol; mso-bidi-font-size: 8.5pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;·&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 7pt; COLOR: black; mso-fareast-font-family: Symbol"&gt;&lt;FONT face="Times New Roman"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Layout and Design &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 2.25pt 12.75pt; TEXT-INDENT: -0.25in; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Symbol; mso-bidi-font-size: 8.5pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;·&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 7pt; COLOR: black; mso-fareast-font-family: Symbol"&gt;&lt;FONT face="Times New Roman"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;2D Graphics and Imaging &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 2.25pt 12.75pt; TEXT-INDENT: -0.25in; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Symbol; mso-bidi-font-size: 8.5pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;·&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 7pt; COLOR: black; mso-fareast-font-family: Symbol"&gt;&lt;FONT face="Times New Roman"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Object Behavior &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 2.25pt 12.75pt; TEXT-INDENT: -0.25in; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Symbol; mso-bidi-font-size: 8.5pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;·&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 7pt; COLOR: black; mso-fareast-font-family: Symbol"&gt;&lt;FONT face="Times New Roman"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Application Resources &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 2.25pt 12.75pt; TEXT-INDENT: -0.25in; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Symbol; mso-bidi-font-size: 8.5pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;·&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 7pt; COLOR: black; mso-fareast-font-family: Symbol"&gt;&lt;FONT face="Times New Roman"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Text &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 2.25pt 12.75pt; TEXT-INDENT: -0.25in; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Symbol; mso-bidi-font-size: 8.5pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;·&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 7pt; COLOR: black; mso-fareast-font-family: Symbol"&gt;&lt;FONT face="Times New Roman"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Data Binding &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 2.25pt 12.75pt; TEXT-INDENT: -0.25in; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Symbol; mso-bidi-font-size: 8.5pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;·&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 7pt; COLOR: black; mso-fareast-font-family: Symbol"&gt;&lt;FONT face="Times New Roman"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Other Performance Recommendations &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 2.25pt 12.75pt; TEXT-INDENT: -0.25in; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Symbol; mso-bidi-font-size: 8.5pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;·&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 7pt; COLOR: black; mso-fareast-font-family: Symbol"&gt;&lt;FONT face="Times New Roman"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;WPF Performance Tools and Resources &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 2.25pt 12.75pt; TEXT-INDENT: -0.25in; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Symbol; mso-bidi-font-size: 8.5pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;·&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 7pt; COLOR: black; mso-fareast-font-family: Symbol"&gt;&lt;FONT face="Times New Roman"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Related Topics &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H1 style="MARGIN: 13.5pt 0in 6pt"&gt;&lt;A class="" title=planning_for_performance name=planning_for_performance&gt;&lt;/A&gt;&lt;SPAN style="FONT-SIZE: 11pt; COLOR: #003399; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;Planning for Performance&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H1&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The success of achieving your performance goals depends on how well you develop your performance strategy. Planning is the first stage in developing any product. The following are a few very simple rules for developing a good performance strategy.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H3 style="MARGIN: auto 0in 3pt" xmlns=""&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;&lt;SECTIONS xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5"&gt;Think in Terms of Scenarios&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Scenarios can help you focus on the critical components of your application. Scenarios are generally derived from your customers, as well as competitive products. Always study your customers and find out what really makes them excited about your product, and your competitors' products. Your customers' feedback can help you to determine your application's primary scenario. For instance, if you are designing a component that will be used at startup, it is likely that the component will be called only once, when the application starts up. Startup time becomes your key scenario. Other examples of key scenarios could be the desired frame rate for animation sequences, or the maximum working set allowed for the application.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H3 style="MARGIN: auto 0in 3pt" xmlns=""&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;Define Goals&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Goals help you to determine whether an application is performing faster or slower. You should define goals for all of your scenarios. All performance goals that you define should be based on your customers' expectations. It may be difficult to set performance goals early on in the application development cycle, when there are still many unresolved issues. However, it is better to set an initial goal and revise it later than not to have a goal at all.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H3 style="MARGIN: auto 0in 3pt" xmlns=""&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;Understand Your Platform&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Always maintain the cycle of measuring, investigating, refining/correcting during your application development cycle. From the beginning to the end of the development cycle, you need to measure your application's performance in a reliable, stable environment. You should avoid variability caused by external factors. For example, when testing performance, you should disable anti-virus or any automatic update such as SMS, in order not to impact performance test results. Once you have measured your application's performance, you need to identify the changes that will result in the biggest improvements. Once you have modified your application, start the cycle again.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H3 style="MARGIN: auto 0in 3pt" xmlns=""&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;Make Performance Tuning an Iterative Process&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;You should know the relative cost of each feature you will use. For example, the use of reflection in Microsoft .NET Framework version 3.0 is generally performance intensive in terms of computing resources, so you would want to use it judiciously. This does not mean to avoid the use of reflection, only that you should be careful to balance the performance requirements of your application with the performance demands of the features you use.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H3 style="MARGIN: auto 0in 3pt" xmlns=""&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;Build Towards Graphical Richness&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;A key technique for creating a scalable approach towards achieving WPF application performance is to build towards graphical richness and complexity. Always start with using the least performance intensive resources to achieve your scenario goals. Once you achieve these goals, build towards graphic richness by using more performance intensive features, always keeping your scenario goals in mind. Remember, WPF is a very rich platform and provides very rich graphic features. Using performance intensive features without thinking can negatively impact your overall application performance.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;WPF controls are inherently extensible by allowing for wide-spread customization of their appearance, while not altering their control behavior. By taking advantage of styles, data templates, and control templates, you can create and incrementally evolve a customizable user interface (UI) that adapts to your performance requirements. The ‘Photo Store Demo’ (topic available in the SDK) illustrates how you can easily create a separation between the basic user interface (UI) and the logic of the application. Once you have created this separation, if gives you the option of building towards graphical richness.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/SECTIONS&gt;
&lt;H1 style="MARGIN: 13.5pt 0in 6pt"&gt;&lt;A class="" title=taking_advantage_of_hardware name=taking_advantage_of_hardware&gt;&lt;/A&gt;&lt;SPAN style="FONT-SIZE: 11pt; COLOR: #003399; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;Taking Advantage of Hardware&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H1&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The internal architecture of WPF has two rendering pipelines, hardware and software.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H3 style="MARGIN: auto 0in 3pt" xmlns=""&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;&lt;SECTIONS xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5"&gt;Hardware Rendering Pipeline&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;One of the most important factors in determining WPF performance is that it is render bound—the more pixels you have to render, the greater the performance cost. However, the more rendering that can be offloaded to the graphics processing unit (GPU), the more performance benefits you can gain. The WPF application hardware rendering pipeline takes full advantage of Microsoft DirectX features on hardware that supports a minimum of Microsoft DirectX version 7.0. Further optimizations can be gained by hardware that supports Microsoft DirectX version 7.0 and PixelShader 2.0+ features.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H3 style="MARGIN: auto 0in 3pt" xmlns=""&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;Software Rendering Pipeline&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The WPF software rendering pipeline is entirely CPU bound. WPF takes advantage of the SSE and SSE2 instruction sets in the CPU to implement an optimized, fully-featured software rasterizer. Fallback to software is seamless any time application functionality cannot be rendered using the hardware rendering pipeline.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The biggest performance issue you will encounter when rendering in software mode is related to fill rate, which is defined as the number of pixels that you are rendering. If you are concerned about performance in software rendering mode, try to minimize the number of times a pixel is redrawn. For example, if you have an application with a blue background, which then renders a slightly transparent image over it, you will render all of the pixels in the application twice. As a result, it will take twice as long to render the application with the image than if you had only the blue background.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H4 style="MARGIN: auto 0in 3pt" xmlns=""&gt;&lt;SPAN style="FONT-SIZE: 9.5pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;&lt;SECTIONS xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5"&gt;Graphics Rendering Tiers&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;It may be very difficult to predict the hardware configuration that your application will be running on. However, you might want to consider a design that allows your application to seamlessly switch features when running on different hardware, so that it can take full advantage of each different hardware configuration.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;To achieve this, WPF provides functionality to determine the graphics capability of a system at runtime. Graphics capability is determined by categorizing the video card as one of three rendering capability tiers. WPF exposes an API that allows an application to query the rendering capability tier. Your application can then take different code paths at run time depending on the rendering tier supported by the hardware.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The features of the graphics hardware that most impact the rendering tier levels are:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 1.5pt 0in 1.5pt 12.75pt; TEXT-INDENT: -0.25in; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Symbol; mso-bidi-font-size: 8.5pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;·&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 7pt; COLOR: black; mso-fareast-font-family: Symbol"&gt;&lt;FONT face="Times New Roman"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Video RAM&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt; The amount of video memory on the graphics hardware determines the size and number of buffers that can be used for compositing graphics.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 1.5pt 0in 1.5pt 12.75pt; TEXT-INDENT: -0.25in; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Symbol; mso-bidi-font-size: 8.5pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;·&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 7pt; COLOR: black; mso-fareast-font-family: Symbol"&gt;&lt;FONT face="Times New Roman"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Pixel Shader&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt; A pixel shader is a graphics processing function that calculates effects on a per-pixel basis. Depending on the resolution of the displayed graphics, there could be several million pixels that need to be processed for each display frame.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 1.5pt 0in 1.5pt 12.75pt; TEXT-INDENT: -0.25in; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Symbol; mso-bidi-font-size: 8.5pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;·&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 7pt; COLOR: black; mso-fareast-font-family: Symbol"&gt;&lt;FONT face="Times New Roman"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Vertex Shader&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt; A vertex shader is a graphics processing function that performs mathematical operations on the vertex data of the object.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 1.5pt 0in 1.5pt 12.75pt; TEXT-INDENT: -0.25in; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Symbol; mso-bidi-font-size: 8.5pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;·&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 7pt; COLOR: black; mso-fareast-font-family: Symbol"&gt;&lt;FONT face="Times New Roman"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Multitexture Support&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt; Multitexture support refers to the ability to apply two or more distinct textures during a blending operation on a 3D graphics object. The degree of multitexture support is determined by the number of multitexture units on the graphics hardware.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The pixel shader, vertex shader, and multitexture features are used to define specific DirectX version levels, which, in turn, are used to define the different rendering tiers in WPF.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The features of the graphics hardware determine the rendering capability of a WPF application. The WPF system defines three rendering tiers:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 1.5pt 0in 1.5pt 12.75pt; TEXT-INDENT: -0.25in; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Symbol; mso-bidi-font-size: 8.5pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;·&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 7pt; COLOR: black; mso-fareast-font-family: Symbol"&gt;&lt;FONT face="Times New Roman"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Rendering Tier 0&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt; No graphics hardware acceleration. The DirectX version level is less than version 7.0.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 1.5pt 0in 1.5pt 12.75pt; TEXT-INDENT: -0.25in; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Symbol; mso-bidi-font-size: 8.5pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;·&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 7pt; COLOR: black; mso-fareast-font-family: Symbol"&gt;&lt;FONT face="Times New Roman"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Rendering Tier 1&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt; Partial graphics hardware acceleration. The DirectX version level is greater than or equal to version 7.0, and &lt;B&gt;lesser&lt;/B&gt; than version 9.0.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 1.5pt 0in 1.5pt 12.75pt; TEXT-INDENT: -0.25in; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Symbol; mso-bidi-font-size: 8.5pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;·&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 7pt; COLOR: black; mso-fareast-font-family: Symbol"&gt;&lt;FONT face="Times New Roman"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Rendering Tier 2&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt; Most graphics features use graphics hardware acceleration. The DirectX version level is greater than or equal to version 9.0.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;For more information on WPF rendering tiers, see ‘Graphics Rendering Tiers’ (topic available in the SDK).&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/SECTIONS&gt;
&lt;H1 style="MARGIN: 13.5pt 0in 6pt"&gt;&lt;A class="" title=layout_and_design name=layout_and_design&gt;&lt;/A&gt;&lt;SPAN style="FONT-SIZE: 11pt; COLOR: #003399; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;&lt;/SECTIONS&gt;Layout and Design&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H1&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The design of your WPF application can impact its performance by creating unnecessary overhead in calculating layout and validating object references. For more information, see ‘The Layout System’ (topic available in the SDK).&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H3 style="MARGIN: auto 0in 3pt" xmlns=""&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;&lt;SECTIONS xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5"&gt;Layout&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The term "layout pass" describes the process of measuring and arranging the members of a Panel-derived object's collection of children, and then drawing them onscreen. The layout pass is a mathematically-intensive process—the larger the number of children in the collection, the greater the number of calculations required. For example, each time a child UIElement object in the collection changes its position, it has the potential to trigger a new pass by the layout system. Because of the close relationship between object characteristics and layout behavior, it's important to understand the type of events that can invoke the layout system. Your application will perform better by reducing as much as possible any unnecessary invocations of the layout pass.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The layout system completes two passes for each child member in a collection: a measure pass, and an arrange pass. Each child object provides its own overridden implementation of the Measure and Arrange methods in order to provide its own specific layout behavior. At its simplest, layout is a recursive system that leads to an element being sized, positioned, and drawn onscreen.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 1.5pt 0in 1.5pt 12.75pt; TEXT-INDENT: -0.25in; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Symbol; mso-bidi-font-size: 8.5pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;·&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 7pt; COLOR: black; mso-fareast-font-family: Symbol"&gt;&lt;FONT face="Times New Roman"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;A child &lt;B&gt;UIElement&lt;/B&gt; object begins the layout process by first having its core properties measured.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 1.5pt 0in 1.5pt 12.75pt; TEXT-INDENT: -0.25in; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Symbol; mso-bidi-font-size: 8.5pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;·&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 7pt; COLOR: black; mso-fareast-font-family: Symbol"&gt;&lt;FONT face="Times New Roman"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The object's FrameworkElement properties that are related to size, such as Width, Height, and Margin, are evaluated.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 1.5pt 0in 1.5pt 12.75pt; TEXT-INDENT: -0.25in; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Symbol; mso-bidi-font-size: 8.5pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;·&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 7pt; COLOR: black; mso-fareast-font-family: Symbol"&gt;&lt;FONT face="Times New Roman"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Panel&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;-specific logic is applied, such as the Dock property of the DockPanel, or the Orientation property of the StackPanel.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 1.5pt 0in 1.5pt 12.75pt; TEXT-INDENT: -0.25in; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Symbol; mso-bidi-font-size: 8.5pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;·&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 7pt; COLOR: black; mso-fareast-font-family: Symbol"&gt;&lt;FONT face="Times New Roman"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Content is arranged, or positioned, after all child objects have been measured.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 1.5pt 0in 1.5pt 12.75pt; TEXT-INDENT: -0.25in; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Symbol; mso-bidi-font-size: 8.5pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;·&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 7pt; COLOR: black; mso-fareast-font-family: Symbol"&gt;&lt;FONT face="Times New Roman"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The collection of child objects is drawn to the screen.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The layout pass process is invoked again if any of the following actions occur:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 1.5pt 0in 1.5pt 12.75pt; TEXT-INDENT: -0.25in; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Symbol; mso-bidi-font-size: 8.5pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;·&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 7pt; COLOR: black; mso-fareast-font-family: Symbol"&gt;&lt;FONT face="Times New Roman"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;A child object is added to the collection.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 1.5pt 0in 1.5pt 12.75pt; TEXT-INDENT: -0.25in; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Symbol; mso-bidi-font-size: 8.5pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;·&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 7pt; COLOR: black; mso-fareast-font-family: Symbol"&gt;&lt;FONT face="Times New Roman"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;A LayoutTransform is applied to the child object.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 1.5pt 0in 1.5pt 12.75pt; TEXT-INDENT: -0.25in; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Symbol; mso-bidi-font-size: 8.5pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;·&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 7pt; COLOR: black; mso-fareast-font-family: Symbol"&gt;&lt;FONT face="Times New Roman"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The UpdateLayout method is called for the child object.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 1.5pt 0in 1.5pt 12.75pt; TEXT-INDENT: -0.25in; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Symbol; mso-bidi-font-size: 8.5pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;·&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 7pt; COLOR: black; mso-fareast-font-family: Symbol"&gt;&lt;FONT face="Times New Roman"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;When a change occurs to the value of a &lt;/SPAN&gt;&lt;SPAN onmouseover=showDef() onmouseout=clearDef() G_RID="dependency_property#6e0c4170-1210-480a-be7a-f35368767ca4"&gt;&lt;!--A property represented by a DependencyProperty identifier that is registered with the Windows Presentation Foundation property system. Dependency properties can be defined only by DependencyObject types, which typically expose the identifier as a public static field. Dependency properties inherit to derived classes and support value expressions, property invalidation, default values, per-type metadata, inheritance, animation, data binding, and styling. The property system determines their effective value based on a precedence evaluation of all possible value sources.--&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #509950; FONT-FAMILY: Verdana"&gt;dependency property&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt; that is marked with metadata affecting the measure or arrange passes.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H4 style="MARGIN: auto 0in 3pt" xmlns=""&gt;&lt;SPAN style="FONT-SIZE: 9.5pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;&lt;SECTIONS xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5"&gt;Use the Most Efficient Panel where Possible&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The complexity of the layout process is directly based on the layout behavior of the &lt;B&gt;Panel&lt;/B&gt;-derived elements you use. For example, a Grid or &lt;B&gt;StackPanel&lt;/B&gt; control provides much more functionality than a Canvas control. The price for this greater increase in functionality is a greater increase in performance costs. However, if you do not require the functionality that a &lt;B&gt;Grid&lt;/B&gt; control provides, you should use the less costly alternatives, such as a &lt;B&gt;Canvas&lt;/B&gt; or a custom panel.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;For more information, see ‘Panels Overview’ (topic available in the SDK).&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H4 style="MARGIN: auto 0in 3pt" xmlns=""&gt;&lt;SPAN style="FONT-SIZE: 9.5pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;Update Rather than Replace a RenderTransform&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;You may be able to update a Transform rather than replacing it as the value of a RenderTransform property. This is particularly true in scenarios that involve animation. By updating an existing &lt;B&gt;Transform&lt;/B&gt;, you avoid initiating an unnecessary layout calculation.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H3 style="MARGIN: auto 0in 3pt" xmlns=""&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;&lt;/SECTIONS&gt;Design&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The construction of objects, particularly at run time, can affect the performance characteristics of your application.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H4 style="MARGIN: auto 0in 3pt" xmlns=""&gt;&lt;SPAN style="FONT-SIZE: 9.5pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;&lt;SECTIONS xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5"&gt;Build Your Tree Top-Down&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;When a node is added or removed from the &lt;/SPAN&gt;&lt;SPAN onmouseover=showDef() onmouseout=clearDef() G_RID="logical_tree#1115d9b4-4a6f-45fd-a51c-491c50065f7d"&gt;&lt;!--The tree containing all the elements and content that are directly created by an application and used for a user interface element. For the specified element, the logical tree is not a strict subset of its visual tree because elements derived from the Visual base class might contain non-Visual-derived elements. For example, the elements might contain a String, a TextElement, or any other Common Language Runtime object.--&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #509950; FONT-FAMILY: Verdana"&gt;logical tree&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;, property invalidations are raised on the node's parent and all its children. As a result, a top-down construction pattern should always be followed to avoid the cost of unnecessary invalidations on nodes that have already been validated. The following table shows the difference in execution speed between building a tree top-down versus bottom-up, where the tree is 150 levels deep with a single TextBlock and &lt;B&gt;DockPanel&lt;/B&gt; at each level.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;TABLE class=MsoNormalTable style="WIDTH: 98.9%; mso-padding-alt: 3.75pt 3.75pt 3.75pt 3.75pt; mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184" cellSpacing=3 cellPadding=0 width="98%" border=0 class="MsoNormalTable"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;Action&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;Tree building (in ms)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;Render—includes tree building (in ms)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 1"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Bottom-up&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;366&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;454&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 2; mso-yfti-lastrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Top-down&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;11&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;96&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The following code example demonstrates how to create a tree top down.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;TABLE class=MsoNormalTable style="WIDTH: 98.9%; mso-padding-alt: 0in 0in 0in 0in; mso-cellspacing: 0in; mso-yfti-tbllook: 1184" cellSpacing=0 cellPadding=0 width="98%" border=0 class="MsoNormalTable"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 0in; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;&lt;SPAN codeLanguage="CSharp"&gt;C#&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 0in; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /&gt;&lt;v:shapetype id=_x0000_t75 coordsize="21600,21600" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75"&gt;&lt;v:stroke joinstyle="miter"&gt;&lt;/v:stroke&gt;&lt;v:formulas&gt;&lt;v:f eqn="if lineDrawn pixelLineWidth 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 1 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum 0 0 @1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @2 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 0 1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @6 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @8 21600 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @10 21600 0"&gt;&lt;/v:f&gt;&lt;/v:formulas&gt;&lt;v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"&gt;&lt;/v:path&gt;&lt;o:lock aspectratio="t" v:ext="edit"&gt;&lt;/o:lock&gt;&lt;/v:shapetype&gt;&lt;v:shape id=Picture_x0020_16 style="VISIBILITY: visible; WIDTH: 24pt; HEIGHT: 24pt; mso-wrap-style: square" type="#_x0000_t75" alt="CopyCode image" o:spid="_x0000_i1025"&gt;&lt;v:imagedata src="" o:title="CopyCode image" mce_src="OptimizingWPFApplicationPerformance_files/image007.gif"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;FONT size=3&gt;&lt;SPAN class=copycode&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: Verdana"&gt;&lt;SPAN onkeypress=CopyCode_CheckKey(this) onmouseover=ChangeCopyCodeIcon(this) onfocusout=ChangeCopyCodeIcon(this) onclick=CopyCode(this) onfocusin=ChangeCopyCodeIcon(this) tabIndex=0 onmouseout=ChangeCopyCodeIcon(this)&gt;Copy Code&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 1; mso-yfti-lastrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top colSpan=2&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;private void OnBuildTreeTopDown(object sender, RoutedEventArgs e)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;TextBlock textBlock = new TextBlock();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;textBlock.Text = "Default";&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;DockPanel parentPanel = new DockPanel();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;DockPanel childPanel;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;myCanvas.Children.Add(parentPanel);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;myCanvas.Children.Add(textBlock);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;for (int i = 0; i &amp;lt; 150; i++)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&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;textBlock = new TextBlock();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&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;textBlock.Text = "Default";&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&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;parentPanel.Children.Add(textBlock);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&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;childPanel = new DockPanel();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&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;parentPanel.Children.Add(childPanel);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&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;parentPanel = childPanel;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/SPAN&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;For more information on the logical tree, see ‘Element Tree’ (topic available in the SDK).&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/SECTIONS&gt;
&lt;H1 style="MARGIN: 13.5pt 0in 6pt"&gt;&lt;A class="" title=twoD_graphics_and_imaging name=twoD_graphics_and_imaging&gt;&lt;/A&gt;&lt;SPAN style="FONT-SIZE: 11pt; COLOR: #003399; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;&lt;/SECTIONS&gt;2D Graphics and Imaging&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H1&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;WPF provides a wide range of 2D graphics and imaging functionality that can be optimized for your application requirements.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H3 style="MARGIN: auto 0in 3pt" xmlns=""&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;&lt;SECTIONS xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5"&gt;Drawings and Shapes&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;WPF provides both Drawing and Shape objects to represent graphical drawing content. However, &lt;B&gt;Drawing&lt;/B&gt; objects are simpler constructs than &lt;B&gt;Shape&lt;/B&gt; objects and provide better performance characteristics.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;A &lt;B&gt;Shape&lt;/B&gt; allows you to draw a graphical shape to the screen. Because they are derived from the &lt;B&gt;FrameworkElement&lt;/B&gt; class, &lt;B&gt;Shape&lt;/B&gt; objects can be used inside panels and most controls.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;WPF offers several layers of access to graphics and rendering services. At the top layer, &lt;B&gt;Shape&lt;/B&gt; objects are easy to use and provide many useful features, such as layout and event handling. WPF provides a number of ready-to-use shape objects. All shape objects inherit from the &lt;B&gt;Shape&lt;/B&gt; class. Available shape objects include Ellipse, Line, Path, Polygon, Polyline, and Rectangle.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Drawing&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt; objects, on the other hand, do not derive from the &lt;B&gt;FrameworkElement&lt;/B&gt; class and provide a lighter-weight implementation for rendering shapes, images, and text.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;There are four types of &lt;B&gt;Drawing&lt;/B&gt; objects:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 1.5pt 0in 1.5pt 12.75pt; TEXT-INDENT: -0.25in; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Symbol; mso-bidi-font-size: 8.5pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;·&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 7pt; COLOR: black; mso-fareast-font-family: Symbol"&gt;&lt;FONT face="Times New Roman"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;GeometryDrawing Draws a shape.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 1.5pt 0in 1.5pt 12.75pt; TEXT-INDENT: -0.25in; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Symbol; mso-bidi-font-size: 8.5pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;·&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 7pt; COLOR: black; mso-fareast-font-family: Symbol"&gt;&lt;FONT face="Times New Roman"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;ImageDrawing Draws an image.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 1.5pt 0in 1.5pt 12.75pt; TEXT-INDENT: -0.25in; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Symbol; mso-bidi-font-size: 8.5pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;·&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 7pt; COLOR: black; mso-fareast-font-family: Symbol"&gt;&lt;FONT face="Times New Roman"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;GlyphRunDrawing Draws text.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 1.5pt 0in 1.5pt 12.75pt; TEXT-INDENT: -0.25in; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Symbol; mso-bidi-font-size: 8.5pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;·&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 7pt; COLOR: black; mso-fareast-font-family: Symbol"&gt;&lt;FONT face="Times New Roman"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;DrawingGroup Draws other drawings. Use a drawing group to combine other drawings into a single composite drawing.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The &lt;B&gt;GeometryDrawing&lt;/B&gt; object is used to render geometry content. The Geometry class and the concrete classes which derive from it, such as CombinedGeometry, EllipseGeometry, and PathGeometry, provide a means for rendering 2D graphics, as well as providing hit-testing and clipping support. Geometry objects can be used to define the region of a control, for example, or to define the clip region to apply to an image. Geometry objects can be simple regions, such as rectangles and circles, or composite regions created from two or more geometry objects. More complex geometric regions can be created by combining PathSegment-derived objects, such as ArcSegment, BezierSegment, and QuadraticBezierSegment.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;On the surface, the &lt;B&gt;Geometry&lt;/B&gt; class and the &lt;B&gt;Shape&lt;/B&gt; class are quite similar. Both are used in the rendering of 2D graphics and both have similar concrete classes which derive from them, for example, &lt;B&gt;EllipseGeometry&lt;/B&gt; and &lt;B&gt;Ellipse&lt;/B&gt;. However, there are important differences between these two sets of classes. For one, the &lt;B&gt;Geometry&lt;/B&gt; class lacks some of the functionality of the &lt;B&gt;Shape&lt;/B&gt; class, such as the ability to draw itself. To draw a geometry object, another class such as DrawingContext, Drawing, or a Path (it is worth noting that a Path is a Shape) must be used to perform the drawing operation. Rendering properties such as fill, stroke, and the stroke thickness are on the class which draws the geometry object, while a shape object contains these properties. One way to think of this difference is that a geometry object defines a region, a circle for example, while a shape object defines a region, defines how that region is filled and outlined, and participates in the layout system.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Since &lt;B&gt;Shape&lt;/B&gt; objects derive from the &lt;B&gt;FrameworkElement&lt;/B&gt; class, using them can add significantly more memory consumption in your application. If you really do not need the &lt;B&gt;FrameworkElement&lt;/B&gt; features for your graphical content, consider using the lighter-weight &lt;B&gt;Drawing&lt;/B&gt; objects.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;For more information on &lt;B&gt;Drawing&lt;/B&gt; objects, see ‘Drawing Objects Overview’ (topic available in the SDK).&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H3 style="MARGIN: auto 0in 3pt" xmlns=""&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;StreamGeometry Objects&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The StreamGeometry object is a light-weight alternative to &lt;B&gt;PathGeometry&lt;/B&gt; for creating geometric shapes. Use a &lt;B&gt;StreamGeometry&lt;/B&gt; when you need to describe a complex geometry. &lt;B&gt;StreamGeometry&lt;/B&gt; is optimized for handling many &lt;B&gt;PathGeometry&lt;/B&gt; objects and performs better when compared to using many individual &lt;B&gt;PathGeometry&lt;/B&gt; objects.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The following example uses attribute syntax to create a triangular &lt;B&gt;StreamGeometry&lt;/B&gt; in XAML.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;TABLE class=MsoNormalTable style="WIDTH: 98.9%; mso-padding-alt: 0in 0in 0in 0in; mso-cellspacing: 0in; mso-yfti-tbllook: 1184" cellSpacing=0 cellPadding=0 width="98%" border=0 class="MsoNormalTable"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 0in; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;&lt;SPAN codeLanguage="XAML"&gt;XAML&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 0in; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;v:shape id=Picture_x0020_17 style="VISIBILITY: visible; WIDTH: 24pt; HEIGHT: 24pt; mso-wrap-style: square" type="#_x0000_t75" alt="CopyCode image" o:spid="_x0000_i1026"&gt;&lt;v:imagedata src="" o:title="CopyCode image" mce_src="OptimizingWPFApplicationPerformance_files/image007.gif"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;FONT size=3&gt;&lt;SPAN class=copycode&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: Verdana"&gt;&lt;SPAN onkeypress=CopyCode_CheckKey(this) onmouseover=ChangeCopyCodeIcon(this) onfocusout=ChangeCopyCodeIcon(this) onclick=CopyCode(this) onfocusin=ChangeCopyCodeIcon(this) tabIndex=0 onmouseout=ChangeCopyCodeIcon(this)&gt;Copy Code&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 1; mso-yfti-lastrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top colSpan=2&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;StackPanel&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&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 class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;Path Data="F0 M10,100 L100,100 100,50Z" &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;StrokeThickness="1" Stroke="Black"/&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/StackPanel&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;/Page&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/SPAN&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;For more information on &lt;B&gt;StreamGeometry&lt;/B&gt; objects, see ‘How to: Create a Shape Using a StreamGeometry’ (topic available in the SDK).&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H3 style="MARGIN: auto 0in 3pt" xmlns=""&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;DrawingVisual Objects&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The DrawingVisual object is a lightweight drawing class that is used to render shapes, images, or text. This class is considered lightweight because it does not provide layout or event handling, which improves its performance. For this reason, drawings are ideal for backgrounds and clip art. For more information, see ‘Using DrawingVisual Objects’ (topic available in the SDK).&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H3 style="MARGIN: auto 0in 3pt" xmlns=""&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;Images&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;WPF imaging provides a significant improvement over the imaging capabilities in previous versions of Windows. Imaging capabilities, such as displaying a bitmap or using an image on a common control were primarily handled by the Microsoft Windows Graphics Device Interface (GDI) or Microsoft Windows GDI+ application programming interface (API). These API provided baseline imaging functionality, but lacked features such as support for codec extensibility and high fidelity image support. WPF Imaging API have been redesigned to overcome the shortcomings of GDI and GDI+ and provide a new set of API to display and use images within your applications.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;When using images, consider the following recommendations for gaining better performance:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 1.5pt 0in 1.5pt 12.75pt; TEXT-INDENT: -0.25in; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Symbol; mso-bidi-font-size: 8.5pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;·&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 7pt; COLOR: black; mso-fareast-font-family: Symbol"&gt;&lt;FONT face="Times New Roman"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;If your application requires you to display thumbnail images, consider creating a reduced-sized version of the image. By default, WPF loads your image and decodes it to its full size. If you only want a thumbnail version of the image, WPF unnecessary decodes the image to its full-size and then scales it down to a thumbnail size. To avoid this unnecessary overhead, you can either request WPF to decode the image to a thumbnail size, or request WPF to load a thumbnail size image.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 1.5pt 0in 1.5pt 12.75pt; TEXT-INDENT: -0.25in; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Symbol; mso-bidi-font-size: 8.5pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;·&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 7pt; COLOR: black; mso-fareast-font-family: Symbol"&gt;&lt;FONT face="Times New Roman"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Always decode the image to desired size and not to the default size. As mentioned above, request WPF to decode your image to a desired size and not the default full size. You will reduce not only your application's working set, but execution speed as well.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 1.5pt 0in 1.5pt 12.75pt; TEXT-INDENT: -0.25in; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Symbol; mso-bidi-font-size: 8.5pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;·&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 7pt; COLOR: black; mso-fareast-font-family: Symbol"&gt;&lt;FONT face="Times New Roman"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;If possible, combine the images into a single image, such as a film strip composed of multiple images.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 1.5pt 0in 1.5pt 12.75pt; TEXT-INDENT: -0.25in; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Symbol; mso-bidi-font-size: 8.5pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;·&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 7pt; COLOR: black; mso-fareast-font-family: Symbol"&gt;&lt;FONT face="Times New Roman"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;For more information, see ‘Imaging Overview’ (topic available in the SDK).&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H4 style="MARGIN: auto 0in 3pt" xmlns=""&gt;&lt;SPAN style="FONT-SIZE: 9.5pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;&lt;SECTIONS xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5"&gt;BitmapScalingMode&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;When animating the scale of any bitmap, the default high-quality image re-sampling algorithm can sometimes consume sufficient system resources to cause frame rate degradation, effectively causing animations to stutter. By setting the BitmapScalingMode property of the RenderOptions object to LowQuality you can create a smoother animation when scaling a bitmap. &lt;B&gt;LowQuality&lt;/B&gt; mode tells the WPF rendering engine to switch from a quality-optimized algorithm to a speed-optimized algorithm when processing images.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The following example shows how to set the BitmapScalingMode for an image object.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;TABLE class=MsoNormalTable style="WIDTH: 98.9%; mso-padding-alt: 0in 0in 0in 0in; mso-cellspacing: 0in; mso-yfti-tbllook: 1184" cellSpacing=0 cellPadding=0 width="98%" border=0 class="MsoNormalTable"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 0in; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;&lt;SPAN codeLanguage="CSharp"&gt;C#&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 0in; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;v:shape id=Picture_x0020_18 style="VISIBILITY: visible; WIDTH: 24pt; HEIGHT: 24pt; mso-wrap-style: square" type="#_x0000_t75" alt="CopyCode image" o:spid="_x0000_i1027"&gt;&lt;v:imagedata src="" o:title="CopyCode image" mce_src="OptimizingWPFApplicationPerformance_files/image007.gif"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;FONT size=3&gt;&lt;SPAN class=copycode&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: Verdana"&gt;&lt;SPAN onkeypress=CopyCode_CheckKey(this) onmouseover=ChangeCopyCodeIcon(this) onfocusout=ChangeCopyCodeIcon(this) onclick=CopyCode(this) onfocusin=ChangeCopyCodeIcon(this) tabIndex=0 onmouseout=ChangeCopyCodeIcon(this)&gt;Copy Code&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 1; mso-yfti-lastrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top colSpan=2&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;// Set the bitmap scaling mode for the image to render faster.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;RenderOptions.SetBitmapScalingMode(MyImage, BitmapScalingMode.LowQuality);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/SPAN&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;H4 style="MARGIN: auto 0in 3pt" xmlns=""&gt;&lt;SPAN style="FONT-SIZE: 9.5pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;CachingHint&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;By default, WPF does not cache the rendered contents of TileBrush objects, such as DrawingBrush and VisualBrush. In static scenarios where neither the contents nor use of the &lt;B&gt;TileBrush&lt;/B&gt; in the scene is changing, this makes sense, since it conserves video memory. It does not make as much sense when a &lt;B&gt;TileBrush&lt;/B&gt; with static content is used in a non-static way—for example, when a static &lt;B&gt;DrawingBrush&lt;/B&gt; or &lt;B&gt;VisualBrush&lt;/B&gt; is mapped to the surface of a rotating 3D object. The default behavior of WPF is to re-render the entire content of the &lt;B&gt;DrawingBrush&lt;/B&gt; or &lt;B&gt;VisualBrush&lt;/B&gt; for every frame, even though the content is unchanging.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;By setting the CachingHint property of the &lt;B&gt;RenderOptions&lt;/B&gt; object to Cache you can increase performance by using cached versions of the tiled brush objects.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The CacheInvalidationThresholdMinimum and CacheInvalidationThresholdMaximum property values are relative size values that determine when the &lt;B&gt;TileBrush&lt;/B&gt; object should be regenerated due to changes in scale. For example, by setting the &lt;B&gt;CacheInvalidationThresholdMaximum&lt;/B&gt; property to 2.0, the cache for the &lt;B&gt;TileBrush&lt;/B&gt; only needs to be regenerated when its size exceeds twice the size of the current cache.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The following example shows how to use the caching hint option for a &lt;B&gt;DrawingBrush&lt;/B&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;TABLE class=MsoNormalTable style="WIDTH: 98.9%; mso-padding-alt: 0in 0in 0in 0in; mso-cellspacing: 0in; mso-yfti-tbllook: 1184" cellSpacing=0 cellPadding=0 width="98%" border=0 class="MsoNormalTable"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 0in; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;&lt;SPAN codeLanguage="CSharp"&gt;C#&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 0in; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;v:shape id=Picture_x0020_19 style="VISIBILITY: visible; WIDTH: 24pt; HEIGHT: 24pt; mso-wrap-style: square" type="#_x0000_t75" alt="CopyCode image" o:spid="_x0000_i1028"&gt;&lt;v:imagedata src="" o:title="CopyCode image" mce_src="OptimizingWPFApplicationPerformance_files/image007.gif"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;FONT size=3&gt;&lt;SPAN class=copycode&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: Verdana"&gt;&lt;SPAN onkeypress=CopyCode_CheckKey(this) onmouseover=ChangeCopyCodeIcon(this) onfocusout=ChangeCopyCodeIcon(this) onclick=CopyCode(this) onfocusin=ChangeCopyCodeIcon(this) tabIndex=0 onmouseout=ChangeCopyCodeIcon(this)&gt;Copy Code&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 1; mso-yfti-lastrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top colSpan=2&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;// Set the minimum and maximum relative sizes for regenerating the tiled brush.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;RenderOptions.SetCacheInvalidationThresholdMinimum(drawingBrush, 0.5);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;RenderOptions.SetCacheInvalidationThresholdMaximum(drawingBrush, 2.0);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;// The tiled brush will be regenerated when the size is&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;//&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;0.5x, 0.25x (and so forth)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;// and&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;//&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;2x, 4x, 8x (and so forth)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;// of the original size.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;// Set the caching hint option for the brush.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;RenderOptions.SetCachingHint(drawingBrush, CachingHint.Cache);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/SPAN&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;H1 style="MARGIN: 13.5pt 0in 6pt"&gt;&lt;A class="" title=object_behavior name=object_behavior&gt;&lt;/A&gt;&lt;SPAN style="FONT-SIZE: 11pt; COLOR: #003399; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;&lt;/SECTIONS&gt;&lt;/SECTIONS&gt;Object Behavior&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H1&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Understanding the intrinsic behavior of WPF objects will help you make the right tradeoffs between functionality and performance.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H4 style="MARGIN: auto 0in 3pt"&gt;&lt;SPAN style="FONT-SIZE: 9.5pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;&lt;SECTIONS xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5"&gt;&lt;SECTIONS xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5"&gt;Not Removing Event Handlers on Objects may Keep Objects Alive&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The delegate that an object passes to its event is effectively a reference to that object. Therefore, event handlers can keep objects alive longer than expected. When performing clean up of an object that has registered to listen to an object's event, it is essential to remove that delegate before releasing the object. Keeping unneeded objects alive increases the application's memory usage. This is especially true when the object is the root of a logical tree or a &lt;/SPAN&gt;&lt;SPAN onmouseover=showDef() onmouseout=clearDef() G_RID="visual_tree#484ef710-6484-400c-832c-768cb3a33aa5"&gt;&lt;!--The element tree containing all visual elements (elements that derive from the type System.Windows.Media.Visual) used for a piece of user interface.  This tree is the accumulation of all visual elements created directly by the application (whether in code or in markup) and all visual elements created by the template expansion of elements such as controls and data objects.--&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #509950; FONT-FAMILY: Verdana"&gt;visual tree&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;WPF introduces a weak event listener pattern for events that can be useful in situations where the object lifetime relationships between source and listener are difficult to keep track of. Some existing WPF events use this pattern. If you are implementing objects with custom events, this pattern may be of use to you. For details, see WeakEvent Patterns.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;There are several tools, such as the CLR Profiler and the Working Set Viewer, that can provides information on the memory usage of a specified process. The CLR Profiler includes a number of very useful views of the allocation profile, including a histogram of allocated types, allocation and call graphs, a time line showing garbage collections of various generations and the resulting state of the managed heap after those collections, and a call tree showing per-method allocations and assembly loads. For more information, see Microsoft .NET &lt;?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /&gt;&lt;st1:place w:st="on"&gt;&lt;st1:PlaceName w:st="on"&gt;Framework&lt;/st1:PlaceName&gt; &lt;st1:PlaceName w:st="on"&gt;Developer&lt;/st1:PlaceName&gt; &lt;st1:PlaceType w:st="on"&gt;Center&lt;/LINKTEXT&gt;&lt;/st1:PlaceType&gt;&lt;/st1:place&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The Working Set Viewer is a WPF performance analysis tool that provides information on the memory usage of a specified process. This tool allows you to generate a snapshot of application memory usage information at a particular application state. For more information on WPF performance tools, see ‘Performance Profiling Tools for WPF’ (topic available in the SDK).&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H3 style="MARGIN: auto 0in 3pt" xmlns=""&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;&lt;/SECTIONS&gt;Dependency Properties and Objects&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;In general, accessing a dependency property of a DependencyObject is not slower than accessing a CLR property. While there is a small performance overhead for setting a property value, getting a value is as fast as getting the value from a CLR property. Offsetting the small performance overhead is the fact that dependency properties support robust features, such as data binding, animation, inheritance, and styling. For more information, see ‘Dependency Properties Overview’ (topic available in the SDK).&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H4 style="MARGIN: auto 0in 3pt" xmlns=""&gt;&lt;SPAN style="FONT-SIZE: 9.5pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;&lt;SECTIONS xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5"&gt;DependencyProperty Optimizations&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;You should define dependency properties in your application very carefully. If your DependencyProperty affects only render type metadata options, rather than other metadata options such as AffectsMeasure, you should mark it as such by overriding its metadata. For more information about overriding or obtaining property metadata, see Dependency Property Metadata.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;It may be more efficient to have a property change handler invalidate the measure, arrange, and render passes manually if not all property changes actually affect measure, arrange, and render. For instance, you might decide to re-render a background only when a value is greater than a set limit. In this case, your property change handler would only invalidate render when the value exceeds the set limit.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H4 style="MARGIN: auto 0in 3pt" xmlns=""&gt;&lt;SPAN style="FONT-SIZE: 9.5pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;Making a DependencyProperty Inheritable is Not Free&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;By default, registered dependency properties are non-inheritable. However, you can explicitly make any property inheritable. While this is a useful feature, converting a property to be inheritable impacts performance by increasing the length of time for property invalidation.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H4 style="MARGIN: auto 0in 3pt" xmlns=""&gt;&lt;SPAN style="FONT-SIZE: 9.5pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;Use RegisterClassHandler Carefully&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;While calling RegisterClassHandler allows you to save your instance state, it is important to be aware that the handler is called on every instance, which can cause performance problems. Only use &lt;B&gt;RegisterClassHandler&lt;/B&gt; when your application requires that you save your instance state.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H4 style="MARGIN: auto 0in 3pt" xmlns=""&gt;&lt;SPAN style="FONT-SIZE: 9.5pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;Set the Default Value for a DependencyProperty during Registration&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;When creating a &lt;B&gt;DependencyProperty&lt;/B&gt; that requires a default value, set the value using the default metadata passed as a parameter to the Register method of the &lt;B&gt;DependencyProperty&lt;/B&gt;. Use this technique rather than setting the property value in a constructor or on each instance of an element.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H4 style="MARGIN: auto 0in 3pt" xmlns=""&gt;&lt;SPAN style="FONT-SIZE: 9.5pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;Set the PropertyMetadata Value using Register&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;When creating a &lt;B&gt;DependencyProperty&lt;/B&gt;, you have the option of setting the PropertyMetadata using either the &lt;B&gt;Register&lt;/B&gt; or OverrideMetadata methods. Although your object could have a static constructor to call &lt;B&gt;OverrideMetadata&lt;/B&gt;, this is not the optimal solution and will impact performance. For best performance, set the &lt;B&gt;PropertyMetadata&lt;/B&gt; during the call to &lt;B&gt;Register&lt;/B&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H3 style="MARGIN: auto 0in 3pt" xmlns=""&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;&lt;/SECTIONS&gt;Freezable Objects&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;A Freezable is a special type of object that has two states: unfrozen and frozen. Freezing objects whenever possible improves the performance of your application and reduces its working set. For more information, see ‘&lt;A href="http://wcpsdk/wpf_conceptual/html/89c71692-4f43-4057-b611-67c6a8a863a2.htm" mce_href="http://wcpsdk/wpf_conceptual/html/89c71692-4f43-4057-b611-67c6a8a863a2.htm"&gt;Freezable Objects Overview&lt;/A&gt;’ (topic available in the SDK).&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Each &lt;B&gt;Freezable&lt;/B&gt; has a Changed event that is raised whenever it changes. However, change notifications are costly in terms of application performance.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Consider the following example in which each &lt;B&gt;Rectangle&lt;/B&gt; uses the same Brush object:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;TABLE class=MsoNormalTable style="WIDTH: 98.9%; mso-padding-alt: 0in 0in 0in 0in; mso-cellspacing: 0in; mso-yfti-tbllook: 1184" cellSpacing=0 cellPadding=0 width="98%" border=0 class="MsoNormalTable"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 0in; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;&lt;SPAN codeLanguage="CSharp"&gt;C#&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 0in; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;v:shape id=Picture_x0020_20 style="VISIBILITY: visible; WIDTH: 24pt; HEIGHT: 24pt; mso-wrap-style: square" type="#_x0000_t75" alt="CopyCode image" o:spid="_x0000_i1029"&gt;&lt;v:imagedata src="" o:title="CopyCode image" mce_src="OptimizingWPFApplicationPerformance_files/image007.gif"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;FONT size=3&gt;&lt;SPAN class=copycode&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: Verdana"&gt;&lt;SPAN onkeypress=CopyCode_CheckKey(this) onmouseover=ChangeCopyCodeIcon(this) onfocusout=ChangeCopyCodeIcon(this) onclick=CopyCode(this) onfocusin=ChangeCopyCodeIcon(this) tabIndex=0 onmouseout=ChangeCopyCodeIcon(this)&gt;Copy Code&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 1; mso-yfti-lastrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top colSpan=2&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;rectangle_1.Fill = myBrush;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;rectangle_2.Fill = myBrush;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;rectangle_3.Fill = myBrush;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;// ...&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;rectangle_10.Fill = myBrush;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/SPAN&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;By default, WPF provides an event handler for the SolidColorBrush object's &lt;B&gt;Changed&lt;/B&gt; event in order to invalidate the &lt;B&gt;Rectangle&lt;/B&gt; object's Fill property. In this case, each time the &lt;B&gt;SolidColorBrush&lt;/B&gt; has to fire its &lt;B&gt;Changed&lt;/B&gt; event it is required to invoke the callback function for each &lt;B&gt;Rectangle&lt;/B&gt;—the accumulation of these callback function invocations impose a significant performance penalty. In addition, it is very performance intensive to add and remove handlers at this point since the application would have to traverse the entire list to do so. If your application scenario never changes the &lt;B&gt;SolidColorBrush&lt;/B&gt;, you will be paying the cost of maintaining &lt;B&gt;Changed&lt;/B&gt; event handlers unnecessarily.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Freezing a &lt;B&gt;Freezable&lt;/B&gt; can improve its performance, because it no longer needs to expend resources on maintaining change notifications. The table below shows the size of a simple &lt;B&gt;SolidColorBrush&lt;/B&gt; when its IsFrozen property is set to &lt;B&gt;true&lt;/B&gt;, compared to when it is not. This assumes applying one brush to the &lt;B&gt;Fill&lt;/B&gt; property of ten &lt;B&gt;Rectangle&lt;/B&gt; objects.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;TABLE class=MsoNormalTable style="WIDTH: 98.9%; mso-padding-alt: 3.75pt 3.75pt 3.75pt 3.75pt; mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184" cellSpacing=3 cellPadding=0 width="98%" border=0 class="MsoNormalTable"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;State&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;Size&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 1"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Frozen &lt;B&gt;SolidColorBrush&lt;/B&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;212 Bytes&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 2; mso-yfti-lastrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Non-frozen &lt;B&gt;SolidColorBrush&lt;/B&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;972 Bytes&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The following code sample demonstrates this concept:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;TABLE class=MsoNormalTable style="WIDTH: 98.9%; mso-padding-alt: 0in 0in 0in 0in; mso-cellspacing: 0in; mso-yfti-tbllook: 1184" cellSpacing=0 cellPadding=0 width="98%" border=0 class="MsoNormalTable"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 0in; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;&lt;SPAN codeLanguage="CSharp"&gt;C#&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 0in; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;v:shape id=Picture_x0020_21 style="VISIBILITY: visible; WIDTH: 24pt; HEIGHT: 24pt; mso-wrap-style: square" type="#_x0000_t75" alt="CopyCode image" o:spid="_x0000_i1030"&gt;&lt;v:imagedata src="" o:title="CopyCode image" mce_src="OptimizingWPFApplicationPerformance_files/image007.gif"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;FONT size=3&gt;&lt;SPAN class=copycode&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: Verdana"&gt;&lt;SPAN onkeypress=CopyCode_CheckKey(this) onmouseover=ChangeCopyCodeIcon(this) onfocusout=ChangeCopyCodeIcon(this) onclick=CopyCode(this) onfocusin=ChangeCopyCodeIcon(this) tabIndex=0 onmouseout=ChangeCopyCodeIcon(this)&gt;Copy Code&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 1; mso-yfti-lastrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top colSpan=2&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;Brush frozenBrush = new SolidColorBrush(Colors.Blue);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;frozenBrush.Freeze();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;Brush nonFrozenBrush = new SolidColorBrush(Colors.Blue);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;for (int i = 0; i &amp;lt; 10; i++)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// Create a Rectangle using a non-frozed Brush.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Rectangle rectangleNonFrozen = new Rectangle();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;rectangleNonFrozen.Fill = nonFrozenBrush;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// Create a Rectangle using a frozed Brush.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Rectangle rectangleFrozen = new Rectangle();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;rectangleFrozen.Fill = frozenBrush;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/SPAN&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;H4 style="MARGIN: auto 0in 3pt" xmlns=""&gt;&lt;SPAN style="FONT-SIZE: 9.5pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;&lt;SECTIONS xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5"&gt;Changed Handlers on Unfrozen Freezables may Keep Objects Alive&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The delegate that an object passes to a &lt;B&gt;Freezable&lt;/B&gt; object's &lt;B&gt;Changed&lt;/B&gt; event is effectively a reference to that object. Therefore, &lt;B&gt;Changed&lt;/B&gt; event handlers can keep objects alive longer than expected. When performing clean up of an object that has registered to listen to a &lt;B&gt;Freezable&lt;/B&gt; object's &lt;B&gt;Changed&lt;/B&gt; event, it is essential to remove that delegate before releasing the object.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;WPF also hooks up &lt;B&gt;Changed&lt;/B&gt; events internally. For example, all dependency properties which take &lt;B&gt;Freezable&lt;/B&gt; as a value will listen to &lt;B&gt;Changed&lt;/B&gt; events automatically. The &lt;B&gt;Fill&lt;/B&gt; property, which takes a &lt;B&gt;Brush&lt;/B&gt;, illustrates this concept.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;TABLE class=MsoNormalTable style="WIDTH: 98.9%; mso-padding-alt: 0in 0in 0in 0in; mso-cellspacing: 0in; mso-yfti-tbllook: 1184" cellSpacing=0 cellPadding=0 width="98%" border=0 class="MsoNormalTable"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 0in; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;&lt;SPAN codeLanguage="CSharp"&gt;C#&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 0in; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;v:shape id=Picture_x0020_22 style="VISIBILITY: visible; WIDTH: 24pt; HEIGHT: 24pt; mso-wrap-style: square" type="#_x0000_t75" alt="CopyCode image" o:spid="_x0000_i1031"&gt;&lt;v:imagedata src="" o:title="CopyCode image" mce_src="OptimizingWPFApplicationPerformance_files/image007.gif"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;FONT size=3&gt;&lt;SPAN class=copycode&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: Verdana"&gt;&lt;SPAN onkeypress=CopyCode_CheckKey(this) onmouseover=ChangeCopyCodeIcon(this) onfocusout=ChangeCopyCodeIcon(this) onclick=CopyCode(this) onfocusin=ChangeCopyCodeIcon(this) tabIndex=0 onmouseout=ChangeCopyCodeIcon(this)&gt;Copy Code&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 1; mso-yfti-lastrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top colSpan=2&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;Brush myBrush = new SolidColorBrush(Colors.Red);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;Rectangle myRectangle = new Rectangle();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;myRectangle.Fill = myBrush;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/SPAN&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;On the assignment of &lt;/SPAN&gt;&lt;CODE&gt;&lt;SPAN style="FONT-SIZE: 9pt; COLOR: #000066"&gt;myBrush&lt;/SPAN&gt;&lt;/CODE&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt; to &lt;/SPAN&gt;&lt;CODE&gt;&lt;SPAN style="FONT-SIZE: 9pt; COLOR: #000066"&gt;myRectangle.Fill&lt;/SPAN&gt;&lt;/CODE&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;, a delegate pointing back to the &lt;B&gt;Rectangle&lt;/B&gt; object will be added to the &lt;B&gt;SolidColorBrush&lt;/B&gt; object's &lt;B&gt;Changed&lt;/B&gt; event. This means the following code does not actually make &lt;/SPAN&gt;&lt;CODE&gt;&lt;SPAN style="FONT-SIZE: 9pt; COLOR: #000066"&gt;myRect&lt;/SPAN&gt;&lt;/CODE&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt; eligible for garbage collection:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;TABLE class=MsoNormalTable style="WIDTH: 98.9%; mso-padding-alt: 0in 0in 0in 0in; mso-cellspacing: 0in; mso-yfti-tbllook: 1184" cellSpacing=0 cellPadding=0 width="98%" border=0 class="MsoNormalTable"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 0in; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;&lt;SPAN codeLanguage="CSharp"&gt;C#&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 0in; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;v:shape id=Picture_x0020_23 style="VISIBILITY: visible; WIDTH: 24pt; HEIGHT: 24pt; mso-wrap-style: square" type="#_x0000_t75" alt="CopyCode image" o:spid="_x0000_i1032"&gt;&lt;v:imagedata src="" o:title="CopyCode image" mce_src="OptimizingWPFApplicationPerformance_files/image007.gif"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;FONT size=3&gt;&lt;SPAN class=copycode&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: Verdana"&gt;&lt;SPAN onkeypress=CopyCode_CheckKey(this) onmouseover=ChangeCopyCodeIcon(this) onfocusout=ChangeCopyCodeIcon(this) onclick=CopyCode(this) onfocusin=ChangeCopyCodeIcon(this) tabIndex=0 onmouseout=ChangeCopyCodeIcon(this)&gt;Copy Code&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 1; mso-yfti-lastrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top colSpan=2&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;myRectangle = null;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/SPAN&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;In this case &lt;/SPAN&gt;&lt;CODE&gt;&lt;SPAN style="FONT-SIZE: 9pt; COLOR: #000066"&gt;myBrush&lt;/SPAN&gt;&lt;/CODE&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt; is still keeping &lt;/SPAN&gt;&lt;CODE&gt;&lt;SPAN style="FONT-SIZE: 9pt; COLOR: #000066"&gt;myRectangle&lt;/SPAN&gt;&lt;/CODE&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt; alive and will call back to it when it fires its &lt;B&gt;Changed&lt;/B&gt; event. Note that assigning &lt;/SPAN&gt;&lt;CODE&gt;&lt;SPAN style="FONT-SIZE: 9pt; COLOR: #000066"&gt;myBrush&lt;/SPAN&gt;&lt;/CODE&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt; to the &lt;B&gt;Fill&lt;/B&gt; property of a new &lt;B&gt;Rectangle&lt;/B&gt; will simply add another event handler to &lt;/SPAN&gt;&lt;CODE&gt;&lt;SPAN style="FONT-SIZE: 9pt; COLOR: #000066"&gt;myBrush&lt;/SPAN&gt;&lt;/CODE&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The recommended way to clean up these types of objects is to remove the &lt;B&gt;Brush&lt;/B&gt; from the &lt;B&gt;Fill&lt;/B&gt; property, which will in turn remove the &lt;B&gt;Changed&lt;/B&gt; event handler.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;TABLE class=MsoNormalTable style="WIDTH: 98.9%; mso-padding-alt: 0in 0in 0in 0in; mso-cellspacing: 0in; mso-yfti-tbllook: 1184" cellSpacing=0 cellPadding=0 width="98%" border=0 class="MsoNormalTable"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 0in; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;&lt;SPAN codeLanguage="CSharp"&gt;C#&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 0in; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;v:shape id=Picture_x0020_24 style="VISIBILITY: visible; WIDTH: 24pt; HEIGHT: 24pt; mso-wrap-style: square" type="#_x0000_t75" alt="CopyCode image" o:spid="_x0000_i1033"&gt;&lt;v:imagedata src="" o:title="CopyCode image" mce_src="OptimizingWPFApplicationPerformance_files/image007.gif"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;FONT size=3&gt;&lt;SPAN class=copycode&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: Verdana"&gt;&lt;SPAN onkeypress=CopyCode_CheckKey(this) onmouseover=ChangeCopyCodeIcon(this) onfocusout=ChangeCopyCodeIcon(this) onclick=CopyCode(this) onfocusin=ChangeCopyCodeIcon(this) tabIndex=0 onmouseout=ChangeCopyCodeIcon(this)&gt;Copy Code&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 1; mso-yfti-lastrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top colSpan=2&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;myRectangle.Fill = null;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;myRectangle = null;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/SPAN&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;H3 style="MARGIN: auto 0in 3pt" xmlns=""&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;&lt;/SECTIONS&gt;User Interface Virtualization&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;WPF also provides a variation of the &lt;B&gt;StackPanel&lt;/B&gt; element that automatically "virtualizes" data-bound child content. In this context, the word virtualize refers to a technique by which a subset of UIElements are generated from a larger number of data items based upon which items are visible on-screen. It is intensive, both in terms of memory and processor, to generate a large number of UI elements when only a few may be on the screen at a given time. VirtualizingStackPanel (through functionality provided by VirtualizingPanel) calculates visible items and works with the ItemContainerGenerator from an ItemsControl (such as ListBox or ListView) to only create UIElements for visible items.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;As a performance optimization, visual objects for these items are only generated or kept alive if they are visible on the screen. When they are no longer in the viewable area of the control, the visual objects may be removed. This is not to be confused with data virtualization, where data objects are not all present in the local collection- rather streamed in as needed. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The table below shows the elapsed time adding and rendering 5000 &lt;B&gt;TextBlock&lt;/B&gt; elements to a &lt;B&gt;StackPanel&lt;/B&gt; and a &lt;B&gt;VirtualizingStackPanel&lt;/B&gt;. In this scenario, the measurements represent the time between attaching a text string to the ItemsSource property of an &lt;B&gt;ItemsControl&lt;/B&gt; object to the time when the panel elements display the text string.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;TABLE class=MsoNormalTable style="WIDTH: 98.9%; mso-padding-alt: 3.75pt 3.75pt 3.75pt 3.75pt; mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184" cellSpacing=3 cellPadding=0 width="98%" border=0 class="MsoNormalTable"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;Host panel&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;Render time (ms)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 1"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;StackPanel&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;3210&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 2; mso-yfti-lastrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;VirtualizingStackPanel&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;46&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;H1 style="MARGIN: 13.5pt 0in 6pt"&gt;&lt;A class="" title=application_resources name=application_resources&gt;&lt;/A&gt;&lt;SPAN style="FONT-SIZE: 11pt; COLOR: #003399; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;&lt;/SECTIONS&gt;Application Resources&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H1&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;WPF allows you to share application resources so that you can support a consistent look or behavior across similar-typed elements. For more information on resources, see ‘Resources Overview’ (topic available in the SDK).&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H4 style="MARGIN: auto 0in 3pt"&gt;&lt;SPAN style="FONT-SIZE: 9.5pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;&lt;SECTIONS xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5"&gt;&lt;SECTIONS xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5"&gt;Sharing resources&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;If your application uses custom controls and defines resources in a ResourceDictionary (or XAML Resources node), it is recommended that you either define the resources at the Application or Window object level, or define them in the default theme for the custom controls. Defining resources in a custom control's &lt;B&gt;ResourceDictionary&lt;/B&gt; imposes a performance impact for every instance of that control. For example, if you have performance-intensive brush operations defined as part of the resource definition of a custom control and many instances of the custom control, the application's working set will increase significantly.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;To illustrate this point, consider the following. Let's say you are developing a card game using WPF. For most card games, you need 52 cards with 52 different faces. You decide to implement a card custom control and you define 52 brushes (each representing a card face) in the resources of your card custom control. In your main application, you initially create 52 instances of this card custom control. Each instance of the card custom control generates 52 instances of &lt;B&gt;Brush&lt;/B&gt; objects, which gives you a total of 52 * 52 &lt;B&gt;Brush&lt;/B&gt; objects in your application. By moving the brushes out of the card custom control resources to the &lt;B&gt;Application&lt;/B&gt; or &lt;B&gt;Window&lt;/B&gt; object level, or defining them in the default theme for the custom control, you reduce the working set of the application, since you are now sharing the 52 brushes among 52 instances of the card control.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H4 style="MARGIN: auto 0in 3pt" xmlns=""&gt;&lt;SPAN style="FONT-SIZE: 9.5pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;Sharing a Brush without Copying&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;If you have multiple elements using the same &lt;B&gt;Brush&lt;/B&gt; object, define the brush as a resource and reference it, rather than defining the brush inline in XAML. This method will create one instance and reuse it, whereas defining brushes inline in XAML creates a new instance for each element.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The following markup sample illustrates this point:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;TABLE class=MsoNormalTable style="WIDTH: 98.9%; mso-padding-alt: 0in 0in 0in 0in; mso-cellspacing: 0in; mso-yfti-tbllook: 1184" cellSpacing=0 cellPadding=0 width="98%" border=0 class="MsoNormalTable"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 0in; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;&lt;SPAN codeLanguage="XAML"&gt;XAML&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 0in; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;v:shape id=Picture_x0020_25 style="VISIBILITY: visible; WIDTH: 24pt; HEIGHT: 24pt; mso-wrap-style: square" type="#_x0000_t75" alt="CopyCode image" o:spid="_x0000_i1034"&gt;&lt;v:imagedata src="" o:title="CopyCode image" mce_src="OptimizingWPFApplicationPerformance_files/image007.gif"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;FONT size=3&gt;&lt;SPAN class=copycode&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: Verdana"&gt;&lt;SPAN onkeypress=CopyCode_CheckKey(this) onmouseover=ChangeCopyCodeIcon(this) onfocusout=ChangeCopyCodeIcon(this) onclick=CopyCode(this) onfocusin=ChangeCopyCodeIcon(this) tabIndex=0 onmouseout=ChangeCopyCodeIcon(this)&gt;Copy Code&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 1; mso-yfti-lastrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top colSpan=2&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;StackPanel.Resources&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;LinearGradientBrush x:Key="myBrush" StartPoint="0,0.5" EndPoint="1,0.5" Opacity="0.5"&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;LinearGradientBrush.GradientStops&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;GradientStopCollection&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&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;GradientStop Color="GoldenRod" Offset="0" /&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&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;GradientStop Color="White" Offset="1" /&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/GradientStopCollection&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/LinearGradientBrush.GradientStops&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/LinearGradientBrush&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;/StackPanel.Resources&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;!-- Non-shared Brush object. --&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;Label&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Label 1&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;Label.Background&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;LinearGradientBrush StartPoint="0,0.5" EndPoint="1,0.5" Opacity="0.5"&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;LinearGradientBrush.GradientStops&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&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;GradientStopCollection&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&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;GradientStop Color="GoldenRod" Offset="0" /&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&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;GradientStop Color="White" Offset="1" /&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&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;/GradientStopCollection&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/LinearGradientBrush.GradientStops&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/LinearGradientBrush&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/Label.Background&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;/Label&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;!-- Shared Brush object. --&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;Label Background="{StaticResource myBrush}"&amp;gt;Label 2&amp;lt;/Label&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;Label Background="{StaticResource myBrush}"&amp;gt;Label 3&amp;lt;/Label&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/SPAN&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;H4 style="MARGIN: auto 0in 3pt" xmlns=""&gt;&lt;SPAN style="FONT-SIZE: 9.5pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;Use Static Resources when Possible&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;A static resource provides a value for any XAML property attribute by looking up a reference to an already defined resource. Lookup behavior for that resource is analogous to compile-time lookup.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;A dynamic resource, on the other hand, will create a temporary expression during the initial compilation and thus defer lookup for resources until the requested resource value is actually required in order to construct an object. Lookup behavior for that resource is analogous to run-time lookup, which imposes a performance impact. Use static resources whenever possible in your application, using dynamic resources only when necessary.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The following markup sample shows the use of both types of resources:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;TABLE class=MsoNormalTable style="WIDTH: 98.9%; mso-padding-alt: 0in 0in 0in 0in; mso-cellspacing: 0in; mso-yfti-tbllook: 1184" cellSpacing=0 cellPadding=0 width="98%" border=0 class="MsoNormalTable"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 0in; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;&lt;SPAN codeLanguage="XAML"&gt;XAML&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 0in; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;v:shape id=Picture_x0020_26 style="VISIBILITY: visible; WIDTH: 24pt; HEIGHT: 24pt; mso-wrap-style: square" type="#_x0000_t75" alt="CopyCode image" o:spid="_x0000_i1035"&gt;&lt;v:imagedata src="" o:title="CopyCode image" mce_src="OptimizingWPFApplicationPerformance_files/image007.gif"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;FONT size=3&gt;&lt;SPAN class=copycode&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: Verdana"&gt;&lt;SPAN onkeypress=CopyCode_CheckKey(this) onmouseover=ChangeCopyCodeIcon(this) onfocusout=ChangeCopyCodeIcon(this) onclick=CopyCode(this) onfocusin=ChangeCopyCodeIcon(this) tabIndex=0 onmouseout=ChangeCopyCodeIcon(this)&gt;Copy Code&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 1; mso-yfti-lastrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top colSpan=2&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;StackPanel.Resources&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;SolidColorBrush x:Key="myBrush" Color="Teal"/&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;/StackPanel.Resources&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;!-- StaticResource reference --&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;Label Foreground="{StaticResource myBrush}"&amp;gt;Label 1&amp;lt;/Label&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;!-- DynamicResource reference --&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;Label Foreground="{DynamicResource {x:Static SystemColors.ControlBrushKey}}"&amp;gt;Label 2&amp;lt;/Label&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/SPAN&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;H1 style="MARGIN: 13.5pt 0in 6pt"&gt;&lt;A class="" title=text name=text&gt;&lt;/A&gt;&lt;SPAN style="FONT-SIZE: 11pt; COLOR: #003399; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;&lt;/SECTIONS&gt;&lt;/SECTIONS&gt;Text&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H1&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;WPF includes support for the presentation of text content through the use of feature-rich user interface (UI) controls. In general you can divide text rendering in three layers:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 1.5pt 0in 1.5pt 21pt; TEXT-INDENT: -0.25in; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;1.&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 7pt; COLOR: black; mso-fareast-font-family: Verdana"&gt;&lt;FONT face="Times New Roman"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Using the Glyphs and GlyphRun objects directly.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 1.5pt 0in 1.5pt 21pt; TEXT-INDENT: -0.25in; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;2.&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 7pt; COLOR: black; mso-fareast-font-family: Verdana"&gt;&lt;FONT face="Times New Roman"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Using the FormattedText object.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 1.5pt 0in 1.5pt 21pt; TEXT-INDENT: -0.25in; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;3.&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 7pt; COLOR: black; mso-fareast-font-family: Verdana"&gt;&lt;FONT face="Times New Roman"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Using high-level controls, such as the &lt;B&gt;TextBlock&lt;/B&gt; and FlowDocument objects.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H3 style="MARGIN: auto 0in 3pt" xmlns=""&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;&lt;SECTIONS xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5"&gt;Rendering Text at the Glyph Level&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Windows Presentation Foundation (WPF) provides advanced text support including glyph-level markup with direct access to &lt;B&gt;Glyphs&lt;/B&gt; for customers who want to intercept and persist text after formatting. These features provide critical support for the different text rendering requirements in each of the following scenarios.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 1.5pt 0in 1.5pt 12.75pt; TEXT-INDENT: -0.25in; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Symbol; mso-bidi-font-size: 8.5pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;·&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 7pt; COLOR: black; mso-fareast-font-family: Symbol"&gt;&lt;FONT face="Times New Roman"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Screen display of fixed-format documents.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 1.5pt 0in 1.5pt 12.75pt; TEXT-INDENT: -0.25in; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Symbol; mso-bidi-font-size: 8.5pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;·&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 7pt; COLOR: black; mso-fareast-font-family: Symbol"&gt;&lt;FONT face="Times New Roman"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Print scenarios.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 1.5pt 0in 1.5pt 25.5pt; TEXT-INDENT: -0.25in; tab-stops: list 1.0in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Symbol; mso-bidi-font-size: 8.5pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;·&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 7pt; COLOR: black; mso-fareast-font-family: Symbol"&gt;&lt;FONT face="Times New Roman"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Extensible Application Markup Language (XAML) as a device printer language.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 1.5pt 0in 1.5pt 25.5pt; TEXT-INDENT: -0.25in; tab-stops: list 1.0in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Symbol; mso-bidi-font-size: 8.5pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;·&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 7pt; COLOR: black; mso-fareast-font-family: Symbol"&gt;&lt;FONT face="Times New Roman"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Microsoft XPS Document Writer.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 1.5pt 0in 1.5pt 25.5pt; TEXT-INDENT: -0.25in; tab-stops: list 1.0in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Symbol; mso-bidi-font-size: 8.5pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;·&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 7pt; COLOR: black; mso-fareast-font-family: Symbol"&gt;&lt;FONT face="Times New Roman"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Previous printer drivers, output from Win32 applications to the fixed format.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 1.5pt 0in 1.5pt 25.5pt; TEXT-INDENT: -0.25in; tab-stops: list 1.0in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Symbol; mso-bidi-font-size: 8.5pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;·&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 7pt; COLOR: black; mso-fareast-font-family: Symbol"&gt;&lt;FONT face="Times New Roman"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Print spool format. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 1.5pt 0in 1.5pt 12.75pt; TEXT-INDENT: -0.25in; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Symbol; mso-bidi-font-size: 8.5pt; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;·&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 7pt; COLOR: black; mso-fareast-font-family: Symbol"&gt;&lt;FONT face="Times New Roman"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Fixed-format document representation, including clients for previous versions of Windows and other computing devices.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;TABLE class=MsoNormalTable style="WIDTH: 98.9%; mso-padding-alt: 0in 0in 0in 0in; mso-cellspacing: 0in; mso-yfti-tbllook: 1184" cellSpacing=0 cellPadding=0 width="98%" border=0 class="MsoNormalTable"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 0in; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;v:shape id=Picture_x0020_27 style="VISIBILITY: visible; WIDTH: 24pt; HEIGHT: 24pt; mso-wrap-style: square" type="#_x0000_t75" alt="Note" o:spid="_x0000_i1036"&gt;&lt;v:imagedata src="" o:title="Note" mce_src="OptimizingWPFApplicationPerformance_files/image013.gif"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;Note: &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 1; mso-yfti-lastrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 0in; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0.75pt 6pt"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Glyphs&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt; and &lt;B&gt;GlyphRun&lt;/B&gt; are designed for fixed-format document presentation and print scenarios. Windows Presentation Foundation (WPF) provides several elements for general layout and user interface (UI) scenarios such as Label and &lt;B&gt;TextBlock&lt;/B&gt;. For more information on layout and UI scenarios, see the ‘Typography in Windows Presentation Foundation’ (topic available in the SDK).&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The following examples show how to define properties for a &lt;B&gt;Glyphs&lt;/B&gt; object in Extensible Application Markup Language (XAML). The &lt;B&gt;Glyphs&lt;/B&gt; object represents the output of a GlyphRun in XAML. The examples assume that the Arial, Courier New, and Times New Roman fonts are installed in the &lt;B&gt;C:\WINDOWS\Fonts&lt;/B&gt; folder on the local computer.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;TABLE class=MsoNormalTable style="WIDTH: 98.9%; mso-padding-alt: 0in 0in 0in 0in; mso-cellspacing: 0in; mso-yfti-tbllook: 1184" cellSpacing=0 cellPadding=0 width="98%" border=0 class="MsoNormalTable"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 0in; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;&lt;SPAN codeLanguage="XAML"&gt;XAML&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 0in; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;v:shape id=Picture_x0020_28 style="VISIBILITY: visible; WIDTH: 24pt; HEIGHT: 24pt; mso-wrap-style: square" type="#_x0000_t75" alt="CopyCode image" o:spid="_x0000_i1037"&gt;&lt;v:imagedata src="" o:title="CopyCode image" mce_src="OptimizingWPFApplicationPerformance_files/image007.gif"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;FONT size=3&gt;&lt;SPAN class=copycode&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: Verdana"&gt;&lt;SPAN onkeypress=CopyCode_CheckKey(this) onmouseover=ChangeCopyCodeIcon(this) onfocusout=ChangeCopyCodeIcon(this) onclick=CopyCode(this) onfocusin=ChangeCopyCodeIcon(this) tabIndex=0 onmouseout=ChangeCopyCodeIcon(this)&gt;Copy Code&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 1; mso-yfti-lastrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top colSpan=2&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;!-- The example shows how to use a Glyphs object. --&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;Page&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;StackPanel Background="PowderBlue"&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;Glyphs&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;FontUri&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; &lt;/SPAN&gt;= "C:\WINDOWS\Fonts\TIMES.TTF"&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;FontRenderingEmSize = "100"&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;StyleSimulations&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;= "BoldSimulation"&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;UnicodeString&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;= "Hello World!"&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Fill&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&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;= "Black"&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;OriginX&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; &lt;/SPAN&gt;= "100"&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;OriginY&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; &lt;/SPAN&gt;= "200"&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;/&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/StackPanel&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;/Page&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/SPAN&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;H4 style="MARGIN: auto 0in 3pt" xmlns=""&gt;&lt;SPAN style="FONT-SIZE: 9.5pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;&lt;SECTIONS xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5"&gt;Using DrawGlyphRun&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;If you have custom control and you want to render glyphs, use the DrawGlyphRun method.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;WPF also provides lower-level services for custom text formatting through the use of the &lt;B&gt;FormattedText&lt;/B&gt; object. The most efficient way of rendering text in Windows Presentation Foundation (WPF) is by generating text content at the glyph level using &lt;B&gt;Glyphs&lt;/B&gt; and &lt;B&gt;GlyphRun&lt;/B&gt;. However, the cost of this efficiency is the loss of easy to use rich text formatting, which are built-in features of Windows Presentation Foundation (WPF) controls, such as &lt;B&gt;TextBlock&lt;/B&gt; and &lt;B&gt;FlowDocument&lt;/B&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H3 style="MARGIN: auto 0in 3pt" xmlns=""&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;&lt;/SECTIONS&gt;FormattedText Object&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The &lt;B&gt;FormattedText&lt;/B&gt; object allows you to draw multi-line text, in which each character in the text can be individually formatted. For more information, see ‘Drawing Formatted Text’ (topic available in the SDK).&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;To create formatted text, call the FormattedText constructor to create a &lt;B&gt;FormattedText&lt;/B&gt; object. Once you have created the initial formatted text string, you can apply a range of formatting styles. If your application wants to implement its own layout, then the &lt;B&gt;FormattedText&lt;/B&gt; object is better choice than using a control, such as &lt;B&gt;TextBlock&lt;/B&gt;. For more information on the &lt;B&gt;FormattedText&lt;/B&gt; object, see Drawing Formatted Text .&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The &lt;B&gt;FormattedText&lt;/B&gt; object provides low-level text formatting capability. You can apply multiple formatting styles to one or more characters. For example, you could call both the SetFontSize and SetForegroundBrush methods to change the formatting of the first five characters in the text.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The following code example creates a &lt;B&gt;FormattedText&lt;/B&gt; object and renders it.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;TABLE class=MsoNormalTable style="WIDTH: 98.9%; mso-padding-alt: 0in 0in 0in 0in; mso-cellspacing: 0in; mso-yfti-tbllook: 1184" cellSpacing=0 cellPadding=0 width="98%" border=0 class="MsoNormalTable"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 0in; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;&lt;SPAN codeLanguage="CSharp"&gt;C#&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 0in; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;v:shape id=Picture_x0020_29 style="VISIBILITY: visible; WIDTH: 24pt; HEIGHT: 24pt; mso-wrap-style: square" type="#_x0000_t75" alt="CopyCode image" o:spid="_x0000_i1038"&gt;&lt;v:imagedata src="" o:title="CopyCode image" mce_src="OptimizingWPFApplicationPerformance_files/image007.gif"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;FONT size=3&gt;&lt;SPAN class=copycode&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: Verdana"&gt;&lt;SPAN onkeypress=CopyCode_CheckKey(this) onmouseover=ChangeCopyCodeIcon(this) onfocusout=ChangeCopyCodeIcon(this) onclick=CopyCode(this) onfocusin=ChangeCopyCodeIcon(this) tabIndex=0 onmouseout=ChangeCopyCodeIcon(this)&gt;Copy Code&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 1; mso-yfti-lastrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top colSpan=2&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;protected override void OnRender(DrawingContext drawingContext)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;string testString = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor";&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// Create the initial formatted text string.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;FormattedText formattedText = new FormattedText(&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&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;testString,&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&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;CultureInfo.GetCultureInfo("en-us"),&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&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;FlowDirection.LeftToRight,&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&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;new Typeface("Verdana"),&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&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;32,&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&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;Brushes.Black);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// Set a maximum width and height. If the text overflows these values, an ellipsis "..." appears.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;formattedText.MaxTextWidth = 300;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;formattedText.MaxTextHeight = 240;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// Use a larger font size beginning at the first (zero-based) character and continuing for 5 characters.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// The font size is calculated in terms of points -- not as device-independent pixels.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;formattedText.SetFontSize(36 * (96.0 / 72.0), 0, 5);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// Use a Bold font weight beginning at the 6th character and continuing for 11 characters.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;formattedText.SetFontWeight(FontWeights.Bold, 6, 11);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// Use a linear gradient brush beginning at the 6th character and continuing for 11 characters.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;formattedText.SetForegroundBrush(&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&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; &lt;/SPAN&gt;new LinearGradientBrush(&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&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; &lt;/SPAN&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;Colors.Orange,&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&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; &lt;/SPAN&gt;Colors.Teal,&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&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; &lt;/SPAN&gt;90.0),&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&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; &lt;/SPAN&gt;6, 11);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// Use an Italic font style beginning at the 28th character and continuing for 28 characters.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;formattedText.SetFontStyle(FontStyles.Italic, 28, 28);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// Draw the formatted text string to the DrawingContext of the control.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;drawingContext.DrawText(formattedText, new Point(10, 0));&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/SPAN&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;H3 style="MARGIN: auto 0in 3pt" xmlns=""&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;FlowDocument, TextBlock, and Label Controls&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;WPF includes multiple controls for drawing text to the screen. Each control is targeted to a different scenario and has its own list of features and limitations.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H4 style="MARGIN: auto 0in 3pt" xmlns=""&gt;&lt;SPAN style="FONT-SIZE: 9.5pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;&lt;SECTIONS xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5"&gt;FlowDocument Impacts Performance More than TextBlock or Label&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;In general, the &lt;B&gt;TextBlock&lt;/B&gt; element should be used when limited text support is required, such as a brief sentence in a user interface (UI). &lt;B&gt;Label&lt;/B&gt; can be used when minimal text support is required. The &lt;B&gt;FlowDocument&lt;/B&gt; element is a container for re-flowable documents that support rich presentation of content, and therefore, has a greater performance impact than using the &lt;B&gt;TextBlock&lt;/B&gt; or &lt;B&gt;Label&lt;/B&gt; controls.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;For more information on &lt;B&gt;FlowDocument&lt;/B&gt;, see ‘Flow Document Overview’ (topic available in the SDK).&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H4 style="MARGIN: auto 0in 3pt" xmlns=""&gt;&lt;SPAN style="FONT-SIZE: 9.5pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;Avoid Using TextBlock in FlowDocument&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The &lt;B&gt;TextBlock&lt;/B&gt; element is derived from &lt;B&gt;UIElement&lt;/B&gt;. The Run element is derived from TextElement, which is less costly to use than a &lt;B&gt;UIElement&lt;/B&gt;-derived object. When possible, use &lt;B&gt;Run&lt;/B&gt; rather than &lt;B&gt;TextBlock&lt;/B&gt; for displaying text content in a &lt;B&gt;FlowDocument&lt;/B&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The following markup sample illustrates two ways of setting text content within a &lt;B&gt;FlowDocument&lt;/B&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;TABLE class=MsoNormalTable style="WIDTH: 98.9%; mso-padding-alt: 0in 0in 0in 0in; mso-cellspacing: 0in; mso-yfti-tbllook: 1184" cellSpacing=0 cellPadding=0 width="98%" border=0 class="MsoNormalTable"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 0in; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;&lt;SPAN codeLanguage="XAML"&gt;XAML&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 0in; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;v:shape id=Picture_x0020_30 style="VISIBILITY: visible; WIDTH: 24pt; HEIGHT: 24pt; mso-wrap-style: square" type="#_x0000_t75" alt="CopyCode image" o:spid="_x0000_i1039"&gt;&lt;v:imagedata src="" o:title="CopyCode image" mce_src="OptimizingWPFApplicationPerformance_files/image007.gif"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;FONT size=3&gt;&lt;SPAN class=copycode&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: Verdana"&gt;&lt;SPAN onkeypress=CopyCode_CheckKey(this) onmouseover=ChangeCopyCodeIcon(this) onfocusout=ChangeCopyCodeIcon(this) onclick=CopyCode(this) onfocusin=ChangeCopyCodeIcon(this) tabIndex=0 onmouseout=ChangeCopyCodeIcon(this)&gt;Copy Code&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 1; mso-yfti-lastrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top colSpan=2&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;FlowDocument&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;!-- Text content within a Run (more efficient). --&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;Paragraph&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;Run&amp;gt;Line one&amp;lt;/Run&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/Paragraph&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;!-- Text content within a TextBlock (less efficient). --&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;Paragraph&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;TextBlock&amp;gt;Line two&amp;lt;/TextBlock&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/Paragraph&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;/FlowDocument&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/SPAN&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;H4 style="MARGIN: auto 0in 3pt" xmlns=""&gt;&lt;SPAN style="FONT-SIZE: 9.5pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;Avoid Using TextBlock to Set Text Properties&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;In general, using a &lt;B&gt;Run&lt;/B&gt; within a &lt;B&gt;TextBlock&lt;/B&gt; is more performance intensive than not using an explicit &lt;B&gt;Run&lt;/B&gt; object at all. If you are using a &lt;B&gt;Run&lt;/B&gt; in order to set text properties, set those properties directly on the &lt;B&gt;TextBlock&lt;/B&gt; instead.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The following markup sample illustrates these two ways of setting a text property, in this case, the FontWeight property:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;TABLE class=MsoNormalTable style="WIDTH: 98.9%; mso-padding-alt: 0in 0in 0in 0in; mso-cellspacing: 0in; mso-yfti-tbllook: 1184" cellSpacing=0 cellPadding=0 width="98%" border=0 class="MsoNormalTable"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 0in; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;&lt;SPAN codeLanguage="XAML"&gt;XAML&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 0in; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;v:shape id=Picture_x0020_31 style="VISIBILITY: visible; WIDTH: 24pt; HEIGHT: 24pt; mso-wrap-style: square" type="#_x0000_t75" alt="CopyCode image" o:spid="_x0000_i1040"&gt;&lt;v:imagedata src="" o:title="CopyCode image" mce_src="OptimizingWPFApplicationPerformance_files/image007.gif"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;FONT size=3&gt;&lt;SPAN class=copycode&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: Verdana"&gt;&lt;SPAN onkeypress=CopyCode_CheckKey(this) onmouseover=ChangeCopyCodeIcon(this) onfocusout=ChangeCopyCodeIcon(this) onclick=CopyCode(this) onfocusin=ChangeCopyCodeIcon(this) tabIndex=0 onmouseout=ChangeCopyCodeIcon(this)&gt;Copy Code&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 1; mso-yfti-lastrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top colSpan=2&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;!-- Run is used to set text properties. --&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;TextBlock&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;Run FontWeight="Bold"&amp;gt;Hello, world&amp;lt;/Run&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;/TextBlock&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;!-- TextBlock is used to set text properties, which is more efficient. --&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;TextBlock FontWeight="Bold"&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Hello, world&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;/TextBlock&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/SPAN&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The following table shows the cost of displaying 1000 &lt;B&gt;TextBlock&lt;/B&gt; objects with and without an explicit &lt;B&gt;Run&lt;/B&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;TABLE class=MsoNormalTable style="WIDTH: 98.9%; mso-padding-alt: 3.75pt 3.75pt 3.75pt 3.75pt; mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184" cellSpacing=3 cellPadding=0 width="98%" border=0 class="MsoNormalTable"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;TextBlock type&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;Creation time (ms)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;Render time (ms)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 1"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Run setting text properties&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;146&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;540&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 2; mso-yfti-lastrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;TextBlock setting text properties&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;43&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;453&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;H4 style="MARGIN: auto 0in 3pt" xmlns=""&gt;&lt;SPAN style="FONT-SIZE: 9.5pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;Avoid Databinding to the Label.Content Property&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Imagine a scenario where you have a &lt;B&gt;Label&lt;/B&gt; object that is updated frequently from a String source. When data binding the &lt;B&gt;Label&lt;/B&gt; element's Content property to the &lt;B&gt;String&lt;/B&gt; source object, you may experience poor performance. Each time the source &lt;B&gt;String&lt;/B&gt; is updated, the old &lt;B&gt;String&lt;/B&gt; object is discarded and a new &lt;B&gt;String&lt;/B&gt; is recreated—because a &lt;B&gt;String&lt;/B&gt; object is immutable, it cannot be modified. This, in turn, causes the ContentPresenter of the &lt;B&gt;Label&lt;/B&gt; object to discard its old content and regenerate the new content to display the new &lt;B&gt;String&lt;/B&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The solution to this problem is simple. If the &lt;B&gt;Label&lt;/B&gt; is not set to a custom ContentTemplate value, replace the &lt;B&gt;Label&lt;/B&gt; with a &lt;B&gt;TextBlock&lt;/B&gt; and data bind its Text property to the source string.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;TABLE class=MsoNormalTable style="WIDTH: 98.9%; mso-padding-alt: 3.75pt 3.75pt 3.75pt 3.75pt; mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184" cellSpacing=3 cellPadding=0 width="98%" border=0 class="MsoNormalTable"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;Data bound property&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;Update time (ms)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 1"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Label.Content&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;835&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 2; mso-yfti-lastrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;TextBlock.Text&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;242&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;H3 style="MARGIN: auto 0in 3pt" xmlns=""&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;&lt;/SECTIONS&gt;Hyperlink&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The Hyperlink object is an inline-level flow content element that allows you to host hyperlinks within the flow content.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H4 style="MARGIN: auto 0in 3pt" xmlns=""&gt;&lt;SPAN style="FONT-SIZE: 9.5pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;&lt;SECTIONS xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5"&gt;Combine Hyperlinks in One TextBlock Object&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;You can optimize the use of multiple &lt;B&gt;Hyperlink&lt;/B&gt; elements by grouping them together within the same &lt;B&gt;TextBlock&lt;/B&gt;. This helps to minimize the number of objects you create in your application. For example, you may want to display multiple hyperlinks, such as the following:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;MSN Home | My MSN&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The following markup example shows multiple &lt;B&gt;TextBlock&lt;/B&gt; elements used to display the hyperlinks:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;TABLE class=MsoNormalTable style="WIDTH: 98.9%; mso-padding-alt: 0in 0in 0in 0in; mso-cellspacing: 0in; mso-yfti-tbllook: 1184" cellSpacing=0 cellPadding=0 width="98%" border=0 class="MsoNormalTable"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 0in; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;&lt;SPAN codeLanguage="XAML"&gt;XAML&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 0in; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;v:shape id=Picture_x0020_32 style="VISIBILITY: visible; WIDTH: 24pt; HEIGHT: 24pt; mso-wrap-style: square" type="#_x0000_t75" alt="CopyCode image" o:spid="_x0000_i1041"&gt;&lt;v:imagedata src="" o:title="CopyCode image" mce_src="OptimizingWPFApplicationPerformance_files/image007.gif"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;FONT size=3&gt;&lt;SPAN class=copycode&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: Verdana"&gt;&lt;SPAN onkeypress=CopyCode_CheckKey(this) onmouseover=ChangeCopyCodeIcon(this) onfocusout=ChangeCopyCodeIcon(this) onclick=CopyCode(this) onfocusin=ChangeCopyCodeIcon(this) tabIndex=0 onmouseout=ChangeCopyCodeIcon(this)&gt;Copy Code&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 1; mso-yfti-lastrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top colSpan=2&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;!-- Hyperlinks in separate TextBlocks. --&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;TextBlock&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;Hyperlink TextDecorations="None" NavigateUri="http://www.msn.com"&amp;gt;MSN Home&amp;lt;/Hyperlink&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;/TextBlock&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;TextBlock Text=" | "/&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;TextBlock&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;Hyperlink TextDecorations="None" NavigateUri="http://my.msn.com"&amp;gt;My MSN&amp;lt;/Hyperlink&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;/TextBlock&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/SPAN&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The following markup example shows a more efficient way of displaying the hyperlinks, this time, using a single &lt;B&gt;TextBlock&lt;/B&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;TABLE class=MsoNormalTable style="WIDTH: 98.9%; mso-padding-alt: 0in 0in 0in 0in; mso-cellspacing: 0in; mso-yfti-tbllook: 1184" cellSpacing=0 cellPadding=0 width="98%" border=0 class="MsoNormalTable"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 0in; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;&lt;SPAN codeLanguage="XAML"&gt;XAML&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 0in; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;v:shape id=Picture_x0020_33 style="VISIBILITY: visible; WIDTH: 24pt; HEIGHT: 24pt; mso-wrap-style: square" type="#_x0000_t75" alt="CopyCode image" o:spid="_x0000_i1042"&gt;&lt;v:imagedata src="" o:title="CopyCode image" mce_src="OptimizingWPFApplicationPerformance_files/image007.gif"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;FONT size=3&gt;&lt;SPAN class=copycode&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: Verdana"&gt;&lt;SPAN onkeypress=CopyCode_CheckKey(this) onmouseover=ChangeCopyCodeIcon(this) onfocusout=ChangeCopyCodeIcon(this) onclick=CopyCode(this) onfocusin=ChangeCopyCodeIcon(this) tabIndex=0 onmouseout=ChangeCopyCodeIcon(this)&gt;Copy Code&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 1; mso-yfti-lastrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top colSpan=2&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;!-- Hyperlinks combined in the same TextBlock. --&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;TextBlock&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;Hyperlink TextDecorations="None" NavigateUri="http://www.msn.com"&amp;gt;MSN Home&amp;lt;/Hyperlink&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&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 class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;Run Text=" | " /&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&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 class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;Hyperlink TextDecorations="None" NavigateUri="http://my.msn.com"&amp;gt;My MSN&amp;lt;/Hyperlink&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;/TextBlock&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/SPAN&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;H4 style="MARGIN: auto 0in 3pt" xmlns=""&gt;&lt;SPAN style="FONT-SIZE: 9.5pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;Showing Underlines on Hyperlinks Only on MouseEnter Events&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;A TextDecoration object is a visual ornamentation that you can add to text; however, it can be performance intensive to instantiate. If you make extensive use of &lt;B&gt;Hyperlink&lt;/B&gt; elements, consider showing an underline only when triggering an event, such as the MouseEnter event. For more information, see ‘How to: Use a Text Decoration with a Hyperlink’ (topic available in the SDK).&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #003399; FONT-FAMILY: Verdana"&gt;Hyperlink appearing on MouseEnter &lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #003399; FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;v:shape id=Picture_x0020_34 style="VISIBILITY: visible; WIDTH: 24pt; HEIGHT: 24pt; mso-wrap-style: square" type="#_x0000_t75" alt="Hyperlinks displaying TextDecorations" o:spid="_x0000_i1043"&gt;&lt;v:imagedata src="" o:title="Hyperlinks displaying TextDecorations" mce_src="OptimizingWPFApplicationPerformance_files/image015.png"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The following markup sample shows a &lt;B&gt;Hyperlink&lt;/B&gt; defined with and without an underline:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;TABLE class=MsoNormalTable style="WIDTH: 98.9%; mso-padding-alt: 0in 0in 0in 0in; mso-cellspacing: 0in; mso-yfti-tbllook: 1184" cellSpacing=0 cellPadding=0 width="98%" border=0 class="MsoNormalTable"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 0in; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;&lt;SPAN codeLanguage="XAML"&gt;XAML&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 0in; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;v:shape id=Picture_x0020_35 style="VISIBILITY: visible; WIDTH: 24pt; HEIGHT: 24pt; mso-wrap-style: square" type="#_x0000_t75" alt="CopyCode image" o:spid="_x0000_i1044"&gt;&lt;v:imagedata src="" o:title="CopyCode image" mce_src="OptimizingWPFApplicationPerformance_files/image007.gif"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;FONT size=3&gt;&lt;SPAN class=copycode&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: Verdana"&gt;&lt;SPAN onkeypress=CopyCode_CheckKey(this) onmouseover=ChangeCopyCodeIcon(this) onfocusout=ChangeCopyCodeIcon(this) onclick=CopyCode(this) onfocusin=ChangeCopyCodeIcon(this) tabIndex=0 onmouseout=ChangeCopyCodeIcon(this)&gt;Copy Code&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 1; mso-yfti-lastrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top colSpan=2&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;!-- Hyperlink with default underline. --&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;Hyperlink NavigateUri="http://www.msn.com"&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;MSN Home&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;/Hyperlink&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;Run Text=" | " /&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;!-- Hyperlink with no underline. --&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;Hyperlink Name="myHyperlink" TextDecorations="None"&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&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; &lt;/SPAN&gt;MouseEnter="OnMouseEnter"&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&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; &lt;/SPAN&gt;MouseLeave="OnMouseLeave"&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&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;NavigateUri="http://www.msn.com"&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;My MSN&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;/Hyperlink&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/SPAN&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The following table shows the performance cost of displaying 1000 &lt;B&gt;Hyperlink&lt;/B&gt; elements with and without an underline.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;TABLE class=MsoNormalTable style="WIDTH: 98.9%; mso-padding-alt: 3.75pt 3.75pt 3.75pt 3.75pt; mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184" cellSpacing=3 cellPadding=0 width="98%" border=0 class="MsoNormalTable"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;Hyperlink&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;Creation time (ms)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;Render time (ms)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 1"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;With underline&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;289&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;1130&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 2; mso-yfti-lastrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Without underline&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;299&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;776&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;H3 style="MARGIN: auto 0in 3pt" xmlns=""&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;&lt;/SECTIONS&gt;Text Formatting Features&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;WPF provides rich text formatting services, such as automatic hyphenations. These services may impact application performance and should only be used when needed.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H4 style="MARGIN: auto 0in 3pt" xmlns=""&gt;&lt;SPAN style="FONT-SIZE: 9.5pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;&lt;SECTIONS xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5"&gt;Avoid Unnecessary Use of Hyphenation&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Automatic hyphenation finds hyphen breakpoints for lines of text, and allows additional break positions for lines in &lt;B&gt;TextBlock&lt;/B&gt; and &lt;B&gt;FlowDocument&lt;/B&gt; objects. By default, the automatic hyphenation feature is disabled in these objects. You can enable this feature by setting the object's IsHyphenationEnabled property to &lt;B&gt;true&lt;/B&gt;. However, enabling this feature causes WPF to initiate Component Object Model (COM) interoperability, which can impact application performance. It is recommended that you do not use automatic hyphenation unless you need it.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H4 style="MARGIN: auto 0in 3pt" xmlns=""&gt;&lt;SPAN style="FONT-SIZE: 9.5pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;Use Figures Carefully&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;A Figure element represents a portion of flow content that can be absolutely-positioned within a page of content. In some cases, a &lt;B&gt;Figure&lt;/B&gt; may cause an entire page to automatically reformat if its position collides with content that has already been laid-out. You can minimize the possibility of unnecessary reformatting by either grouping &lt;B&gt;Figure&lt;/B&gt; elements next to each other, or declaring them near the top of content in a fixed page size scenario.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H4 style="MARGIN: auto 0in 3pt" xmlns=""&gt;&lt;SPAN style="FONT-SIZE: 9.5pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;Optimal Paragraph&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The optimal paragraph feature of the &lt;B&gt;FlowDocument&lt;/B&gt; object lays out paragraphs so that white space is distributed as evenly as possible. By default, the optimal paragraph feature is disabled. You can enable this feature by setting the object's IsOptimalParagraphEnabled property to &lt;B&gt;true&lt;/B&gt;. However, enabling this feature impacts application performance. It is recommended that you do not use the optimal paragraph feature unless you need it.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/SECTIONS&gt;
&lt;H1 style="MARGIN: 13.5pt 0in 6pt"&gt;&lt;A class="" title=data_binding name=data_binding&gt;&lt;/A&gt;&lt;SPAN style="FONT-SIZE: 11pt; COLOR: #003399; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;&lt;/SECTIONS&gt;Data Binding&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H1&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Windows Presentation Foundation (WPF) data binding provides a simple and consistent way for applications to present and interact with data. Elements can be bound to data from a variety of data sources in the form of CLR objects and XML. For more information on data binding, see ‘Data Binding Overview’ (topic available in the SDK).&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H3 style="MARGIN: auto 0in 3pt" xmlns=""&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;&lt;SECTIONS xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5"&gt;How Data Binding References are Resolved&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Before discussing data binding performance issues, it is worthwhile to explore how the Windows Presentation Foundation (WPF) data binding engine resolves object references for binding.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The source of a Windows Presentation Foundation (WPF) data binding can be any CLR object. You can bind to properties, sub-properties, or indexers of a CLR object. The binding references are resolved by using either Microsoft .NET Framework version 3.0 reflection or an ICustomTypeDescriptor. Here are three methods for resolving object references for binding.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The first method involves using reflection. In this case, the PropertyInfo object is used to discover the attributes of the property and provides access to property metadata. When using the &lt;B&gt;ICustomTypeDescriptor&lt;/B&gt; interface, the data binding engine uses this interface to access the property values. The &lt;B&gt;ICustomTypeDescriptor&lt;/B&gt; interface is especially useful in cases where the object does not have a static set of properties.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Property change notifications can be provided either by implementing the INotifyPropertyChanged interface or by using the change notifications associated with the TypeDescriptor. However, the preferred strategy for implementing property change notifications is to use &lt;B&gt;INotifyPropertyChanged&lt;/B&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;If the source object is a CLR object and the source property is a CLR property, the Windows Presentation Foundation (WPF) data binding engine has to first use reflection on the source object to get the &lt;B&gt;TypeDescriptor&lt;/B&gt;, and then query for a PropertyDescriptor. This sequence of reflection operations is potentially very time-consuming from a performance perspective.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The second method for resolving object references involves a CLR source object that implements the &lt;B&gt;INotifyPropertyChanged&lt;/B&gt; interface, and a source property that is a CLR property. In this case, the data binding engine uses reflection directly on the source type and gets the required property. This is still not the optimal method, but it will cost less in working set requirements than the first method.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The third method for resolving object references involves a source object that is a &lt;B&gt;DependencyObject&lt;/B&gt; and a source property that is a &lt;B&gt;DependencyProperty&lt;/B&gt;. In this case, the data binding engine does not need to use reflection. Instead, the property engine and the data binding engine together resolve the property reference independently. This is the optimal method for resolving object references used for data binding.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The table below compares the speed of data binding the &lt;B&gt;Text&lt;/B&gt; property of one thousand &lt;B&gt;TextBlock&lt;/B&gt; elements using these three methods.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;TABLE class=MsoNormalTable style="WIDTH: 98.9%; mso-padding-alt: 3.75pt 3.75pt 3.75pt 3.75pt; mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184" cellSpacing=3 cellPadding=0 width="98%" border=0 class="MsoNormalTable"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;Binding the Text property of a TextBlock&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;Binding time (ms)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;Render time -- includes binding (ms)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 1"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;To a property of a CLR object&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;115&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;314&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 2"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;To a property of a CLR object which implements &lt;B&gt;INotifyPropertyChanged&lt;/B&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;115&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;305&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 3; mso-yfti-lastrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;To a &lt;B&gt;DependencyProperty&lt;/B&gt; of a &lt;B&gt;DependencyObject&lt;/B&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;90&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;263&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;H4 style="MARGIN: auto 0in 3pt" xmlns=""&gt;&lt;SPAN style="FONT-SIZE: 9.5pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;&lt;SECTIONS xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5"&gt;Binding to Large CLR Objects&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;There is a significant performance impact when you data bind to a single CLR object with thousands of properties. You can minimize this impact by dividing the single object into multiple CLR objects with fewer properties. The table shows the binding and rendering times for data binding to a single large CLR object versus multiple smaller objects.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;TABLE class=MsoNormalTable style="WIDTH: 98.9%; mso-padding-alt: 3.75pt 3.75pt 3.75pt 3.75pt; mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184" cellSpacing=3 cellPadding=0 width="98%" border=0 class="MsoNormalTable"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;Data binding 1000 TextBlock objects&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;Binding time (ms)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;Render time -- includes binding (ms)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 1"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;To a CLR object with 1000 properties&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;950&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;1200&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 2; mso-yfti-lastrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;To 1000 CLR objects with one property&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;115&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;314&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;H4 style="MARGIN: auto 0in 3pt" xmlns=""&gt;&lt;SPAN style="FONT-SIZE: 9.5pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;Binding to an ItemsSource&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Consider a scenario in which you have a CLR List object that holds a list of employees that you want to display in a &lt;B&gt;ListBox&lt;/B&gt;. To create a correspondence between these two objects, you would bind your employee list to the &lt;B&gt;ItemsSource&lt;/B&gt; property of the &lt;B&gt;ListBox&lt;/B&gt;. However, suppose you have a new employee joining your group. You might think that in order to insert this new person into your bound &lt;B&gt;ListBox&lt;/B&gt; values, you would simply add this person to your employee list and expect this change to be recognized by the data binding engine automatically. That assumption would prove false; in actuality, the change will not be reflected in the &lt;B&gt;ListBox&lt;/B&gt; automatically. This is because the CLR &lt;B&gt;List&lt;/B&gt; object does not automatically raise a collection changed event. In order to get the &lt;B&gt;ListBox&lt;/B&gt; to pick up the changes, you would have to recreate your list of employees and re-attach it to the &lt;B&gt;ItemsSource&lt;/B&gt; property of the &lt;B&gt;ListBox&lt;/B&gt;. While this solution works, it introduces a huge performance impact. Each time you reassign the &lt;B&gt;ItemsSource&lt;/B&gt; of &lt;B&gt;ListBox&lt;/B&gt; to a new object, the &lt;B&gt;ListBox&lt;/B&gt; first throws away its previous items and regenerates its entire list. The performance impact is magnified if your &lt;B&gt;ListBox&lt;/B&gt; maps to a complex DataTemplate.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;A very efficient solution to this problem is to make your employee list an ObservableCollection. An &lt;B&gt;ObservableCollection&lt;/B&gt; object raises a change notification which the data binding engine can receive. The event adds or removes an item from an &lt;B&gt;ItemsControl&lt;/B&gt; without the need to regenerate the entire list.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The table below shows the time it takes to update the &lt;B&gt;ListBox&lt;/B&gt; (with UI virtualization turned off) when one item is added. The number in the first row represents the elapsed time when the CLR&amp;nbsp;&lt;B&gt;List&lt;/B&gt; object is bound to &lt;B&gt;ListBox&lt;/B&gt; element's &lt;B&gt;ItemsSource&lt;/B&gt;. The number in the second row represents the elapsed time when an &lt;B&gt;ObservableCollection&lt;/B&gt; is bound to the &lt;B&gt;ListBox&lt;/B&gt; element's &lt;B&gt;ItemsSource&lt;/B&gt;. Note the significant time savings using the &lt;B&gt;ObservableCollection&lt;/B&gt; data binding strategy.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;TABLE class=MsoNormalTable style="WIDTH: 98.9%; mso-padding-alt: 3.75pt 3.75pt 3.75pt 3.75pt; mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184" cellSpacing=3 cellPadding=0 width="98%" border=0 class="MsoNormalTable"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;Data binding the ItemsSource&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;Update time for 1 item (ms)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 1"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;To a CLR &lt;B&gt;List&lt;/B&gt; object&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;1656&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 2; mso-yfti-lastrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;To an &lt;B&gt;ObservableCollection&lt;/B&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;20&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;H4 style="MARGIN: auto 0in 3pt" xmlns=""&gt;&lt;SPAN style="FONT-SIZE: 9.5pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;Bind IList to ItemsControl not IEnumerable&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;If you have a choice between binding an IList or an IEnumerable to an &lt;B&gt;ItemsControl&lt;/B&gt; object, choose the &lt;B&gt;IList&lt;/B&gt; object. Binding &lt;B&gt;IEnumerable&lt;/B&gt; to an &lt;B&gt;ItemsControl&lt;/B&gt; forces WPF to create a wrapper &lt;B&gt;IList&lt;/B&gt; object, which means your performance is impacted by the unnecessary overhead of a second object.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H4 style="MARGIN: auto 0in 3pt" xmlns=""&gt;&lt;SPAN style="FONT-SIZE: 9.5pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;Do not Convert CLR objects to XML Just for Data Binding.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;WPF allows you to data bind to XML content; however, data binding to XML content is slower than data binding to CLR objects. Do not convert CLR object data to XML if the only purpose is for data binding.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/SECTIONS&gt;
&lt;H1 style="MARGIN: 13.5pt 0in 6pt"&gt;&lt;A class="" title=other_performance_recommendations name=other_performance_recommendations&gt;&lt;/A&gt;&lt;SPAN style="FONT-SIZE: 11pt; COLOR: #003399; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;&lt;/SECTIONS&gt;Other Performance Recommendations&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H1&gt;&lt;SECTIONS xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5"&gt;&lt;SECTIONS xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5"&gt;
&lt;H4 style="MARGIN: auto 0in 3pt"&gt;&lt;SPAN style="FONT-SIZE: 9.5pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;Opacity on Brushes versus Opacity on Elements&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;When you use a &lt;B&gt;Brush&lt;/B&gt; to set the &lt;B&gt;Fill&lt;/B&gt; or Stroke of an element, it is better to set the Brush.Opacity value rather than the setting the element's Opacity property. Modifying an element's &lt;B&gt;Opacity&lt;/B&gt; property can cause WPF to create a temporary surface.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H4 style="MARGIN: auto 0in 3pt" xmlns=""&gt;&lt;SPAN style="FONT-SIZE: 9.5pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;Navigation to Object&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The NavigationWindow object derives from &lt;B&gt;Window&lt;/B&gt; and extends it with content navigation support, primarily by aggregating NavigationService and the journal. You can update the client area of &lt;B&gt;NavigationWindow&lt;/B&gt; by specifying either a uniform resource identifier (URI) or an object. The following sample shows both methods:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;TABLE class=MsoNormalTable style="WIDTH: 98.9%; mso-padding-alt: 0in 0in 0in 0in; mso-cellspacing: 0in; mso-yfti-tbllook: 1184" cellSpacing=0 cellPadding=0 width="98%" border=0 class="MsoNormalTable"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 0in; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;&lt;SPAN codeLanguage="CSharp"&gt;C#&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 0in; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;v:shape id=Picture_x0020_36 style="VISIBILITY: visible; WIDTH: 24pt; HEIGHT: 24pt; mso-wrap-style: square" type="#_x0000_t75" alt="CopyCode image" o:spid="_x0000_i1045"&gt;&lt;v:imagedata src="" o:title="CopyCode image" mce_src="OptimizingWPFApplicationPerformance_files/image007.gif"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;FONT size=3&gt;&lt;SPAN class=copycode&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: Verdana"&gt;&lt;SPAN onkeypress=CopyCode_CheckKey(this) onmouseover=ChangeCopyCodeIcon(this) onfocusout=ChangeCopyCodeIcon(this) onclick=CopyCode(this) onfocusin=ChangeCopyCodeIcon(this) tabIndex=0 onmouseout=ChangeCopyCodeIcon(this)&gt;Copy Code&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 1; mso-yfti-lastrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 0in; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top colSpan=2&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;private void buttonGoToUri(object sender, RoutedEventArgs args)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;navWindow.Source = new Uri("NewPage.xaml", UriKind.RelativeOrAbsolute);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;private void buttonGoNewObject(object sender, RoutedEventArgs args)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;NewPage nextPage = new NewPage();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;nextPage.InitializeComponent();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;navWindow.Content = nextPage;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0.75pt 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt"&gt;&lt;SPAN style="FONT-SIZE: 14pt; COLOR: #000066; FONT-FAMILY: 'Courier New'"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/SPAN&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Each &lt;B&gt;NavigationWindow&lt;/B&gt; object has a journal that records the user's navigation history in that window. One of the purposes of the journal is to allow users to retrace their steps.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;When you navigate using a uniform resource identifier (URI), the journal stores only the uniform resource identifier (URI) reference. This means that each time you revisit the page, it is dynamically reconstructed, which may be time consuming depending on the complexity of the page. In this case, the journal storage cost is low, but the time to reconstitute the page is potentially high.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;When you navigate using an object, the journal stores the entire visual tree of the object. This means that each time you revisit the page, it renders immediately without having to be reconstructed. In this case, the journal storage cost is high, but the time to reconstitute the page is low.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;When you use the &lt;B&gt;NavigationWindow&lt;/B&gt; object, you will need to keep in mind how the journaling support impacts your application's performance. For more information, see ‘Navigation Overview’ (topic available in the SDK).&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H4 style="MARGIN: auto 0in 3pt" xmlns=""&gt;&lt;SPAN style="FONT-SIZE: 9.5pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;Hit Testing on Large 3D Surfaces&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Hit testing on large 3D surfaces is a very performance intensive operation in terms of CPU consumption. This is especially true when the 3D surface is animating. If you do not require hit testing on these surfaces, then disable hit testing. Objects that are derived from &lt;B&gt;UIElement&lt;/B&gt; can disable hit testing by setting the IsHitTestVisible property to &lt;B&gt;false&lt;/B&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H4 style="MARGIN: auto 0in 3pt" xmlns=""&gt;&lt;SPAN style="FONT-SIZE: 9.5pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;Avoid Using ScrollBarVisibility=Auto&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Whenever possible, avoid using the ScrollBarVisibility value Auto for the HorizontalScrollBarVisibility and VerticalScrollBarVisibility properties. These properties are defined for RichTextBox, ScrollViewer, TextBox objects, and as an attached property for the &lt;B&gt;ListBox&lt;/B&gt; object. Instead, set &lt;B&gt;ScrollBarVisibility&lt;/B&gt; to Disabled, Hidden, or Visible.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The &lt;B&gt;Auto&lt;/B&gt; value is intended for cases when space is limited and scrollbars should only be displayed when necessary. For example, it may be useful to use this &lt;B&gt;ScrollBarVisibility&lt;/B&gt; value with a &lt;B&gt;ListBox&lt;/B&gt; of 30 items as opposed to a &lt;B&gt;TextBox&lt;/B&gt; with hundreds of lines of text.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/SECTIONS&gt;
&lt;H1 style="MARGIN: 13.5pt 0in 6pt"&gt;&lt;A class="" title=wpf_performance_tools_and_resources name=wpf_performance_tools_and_resources&gt;&lt;/A&gt;&lt;SPAN style="FONT-SIZE: 11pt; COLOR: #003399; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;&lt;/SECTIONS&gt;WPF Performance Tools and Resources&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H1&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;WPF provides a suite of performance profiling tools that allow you to analyze the run-time behavior of your application and determine the types of performance optimizations you can apply. The following table lists the five performance profiling tools that are included in the Windows SDK tool, WPFPerf:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;TABLE class=MsoNormalTable style="WIDTH: 98.9%; mso-padding-alt: 3.75pt 3.75pt 3.75pt 3.75pt; mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184" cellSpacing=3 cellPadding=0 width="98%" border=0 class="MsoNormalTable"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;Tool&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 3.75pt 0in"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: #000066; FONT-FAMILY: Verdana"&gt;Description&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 1"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Event Trace&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Use for analyzing events and generating event log files.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 2"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Perforator&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Use for analyzing rendering behavior.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 3"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Trace Viewer&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Record, display, and browse Event Tracing for Windows (ETW) log files in a WPF user-interface format.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 4"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Visual Profiler&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Use for profiling the use of WPF services, such as layout and event handling, by elements in the visual tree.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 5; mso-yfti-lastrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Working Set Viewer&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: #bbbbbb 1pt dashed; PADDING-RIGHT: 3.75pt; BORDER-TOP: #bbbbbb 1pt dashed; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: #bbbbbb 1pt dashed; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #bbbbbb 1pt dashed; mso-border-alt: dashed #BBBBBB .5pt" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN: 0.75pt 0.75pt 3pt"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Use for analyzing the working set characteristics of your application.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The Visual Profiler tool suite provides a rich, graphical view of performance data. In this screenshot, the &lt;B&gt;CPU Usage&lt;/B&gt; section of the Visual Profiler gives you a precise breakdown of an object's use of WPF services, such as rendering and layout.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #003399; FONT-FAMILY: Verdana"&gt;Visual Profiler display output &lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #003399; FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;v:shape id=Picture_x0020_37 style="VISIBILITY: visible; WIDTH: 24pt; HEIGHT: 24pt; mso-wrap-style: square" type="#_x0000_t75" alt="Visual Profiler display output" o:spid="_x0000_i1046"&gt;&lt;v:imagedata src="" o:title="Visual Profiler display output" mce_src="OptimizingWPFApplicationPerformance_files/image017.png"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;For more information on WPF performance tools, see ‘Performance Profiling Tools for WPF’ (topic available in the SDK).&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H4 style="MARGIN: auto 0in 3pt"&gt;&lt;SPAN style="FONT-SIZE: 9.5pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;&lt;SECTIONS xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5"&gt;&lt;SECTIONS xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5"&gt;Viewing the Visual Tree with XamlPad&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Analyzing the visual tree hierarchy using XAMLPad may give you insight into how control template expansion works. This knowledge may help you understand the performance costs and tradeoffs of the user interface design you are creating.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;XamlPad provides an option for viewing and exploring the visual tree that corresponds to the currently defined XAML content. Click the &lt;B&gt;Show Visual Tree &lt;/B&gt;button on the menu bar to display the visual tree. The following illustrates the expansion of XAML content into visual tree nodes in the &lt;B&gt;Visual Tree Explorer&lt;/B&gt; panel of XamlPad:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #003399; FONT-FAMILY: Verdana"&gt;Visual Tree Explorer panel in XamlPad &lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #003399; FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;v:shape id=Picture_x0020_38 style="VISIBILITY: visible; WIDTH: 24pt; HEIGHT: 24pt; mso-wrap-style: square" type="#_x0000_t75" alt="Visual Tree Explorer panel in XamlPad" o:spid="_x0000_i1047"&gt;&lt;v:imagedata src="" o:title="Visual Tree Explorer panel in XamlPad" mce_src="OptimizingWPFApplicationPerformance_files/image019.png"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Notice how the &lt;B&gt;Label&lt;/B&gt;, &lt;B&gt;TextBox&lt;/B&gt;, and Button controls each display a separate visual object hierarchy in the &lt;B&gt;Visual Tree Explorer&lt;/B&gt; panel of XamlPad. This is because WPF controls have a ControlTemplate that contains the visual tree of that control. When you explicitly reference a control, you implicitly reference its visual hierarchy. For more information on visual objects and the visual tree, see ‘Windows Presentation Foundation Graphics Rendering Overview’ (topic available in the SDK).&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;You can view the property settings of an item in the &lt;B&gt;Visual Tree Explorer&lt;/B&gt; by selecting the item. The &lt;B&gt;Property Tree Explorer&lt;/B&gt; panel, below the &lt;B&gt;Visual Tree Explorer&lt;/B&gt; panel, displays the current property settings for the selected visual object.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #003399; FONT-FAMILY: Verdana"&gt;Property Tree Explorer panel in XamlPad &lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: #003399; FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;v:shape id=Picture_x0020_39 style="VISIBILITY: visible; WIDTH: 24pt; HEIGHT: 24pt; mso-wrap-style: square" type="#_x0000_t75" alt="Property Tree Explorer" o:spid="_x0000_i1048"&gt;&lt;v:imagedata src="" o:title="Property Tree Explorer" mce_src="OptimizingWPFApplicationPerformance_files/image021.png"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;For more information, see XAMLPad.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H4 style="MARGIN: auto 0in 3pt" xmlns=""&gt;&lt;SPAN style="FONT-SIZE: 9.5pt; COLOR: black; FONT-FAMILY: Verdana; mso-bidi-font-family: Arial"&gt;Debug Tracing Support for WPF&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;The PresentationTraceSources class provides debug tracing support that specifically targets Windows Presentation Foundation (WPF) applications. Tracing is a diagnostics system by which an application's progression can be tracked. The tracing statements report information, much the way the WriteLine method is often used. However, tracing statements can be switched on or off by using a configuration file. In addition, the output of tracing statements can be customized.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 7.5pt 0in 3.75pt"&gt;&lt;SPAN style="FONT-SIZE: 8.5pt; COLOR: black; FONT-FAMILY: Verdana"&gt;For other related .NET Framework 3.0 diagnostic classes, see System.Diagnostics.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/SECTIONS&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face="Times New Roman" size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;SPAN id=seeAlsoNoToggle&gt;&lt;/SECTIONS&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/o:p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=904197" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/kiranku/attachment/904197.ashx" length="534108" type="message/rfc822" /></item></channel></rss>