MIME-Version: 1.0
Content-Type: multipart/related; boundary="----=_NextPart_01C6FC1B.30B6CA00"

This document is a Single File Web Page, also known as a Web Archive file.  If you are seeing this message, your browser or editor doesn't support Web Archive files.  Please download a browser that supports Web Archive, such as Microsoft Internet Explorer.

------=_NextPart_01C6FC1B.30B6CA00
Content-Location: file:///C:/AB0244C5/OptimizingWPFApplicationPerformance.htm
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset="us-ascii"

<html xmlns:v=3D"urn:schemas-microsoft-com:vml"
xmlns:o=3D"urn:schemas-microsoft-com:office:office"
xmlns:w=3D"urn:schemas-microsoft-com:office:word"
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml"
xmlns=3D"http://www.w3.org/TR/REC-html40" xmlns:ns0=3D"http://www.w3.org/19=
99/xlink"
xmlns:ns1=3D"http://ddue.schemas.microsoft.com/authoring/2003/5"
xmlns:ns2=3D"http://msdn.microsoft.com/mshelp">

<head>
<meta http-equiv=3DContent-Type content=3D"text/html; charset=3Dus-ascii">
<meta name=3DProgId content=3DWord.Document>
<meta name=3DGenerator content=3D"Microsoft Word 12">
<meta name=3DOriginator content=3D"Microsoft Word 12">
<link rel=3DFile-List
href=3D"OptimizingWPFApplicationPerformance_files/filelist.xml">
<link rel=3DEdit-Time-Data
href=3D"OptimizingWPFApplicationPerformance_files/editdata.mso">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]-->
<title>Optimizing WPF Application Performance</title>
<!--[if gte mso 9]><xml>
 <o:DocumentProperties>
  <o:Author>Tim Cahill</o:Author>
  <o:LastAuthor>Tim Cahill</o:LastAuthor>
  <o:Revision>4</o:Revision>
  <o:TotalTime>22</o:TotalTime>
  <o:Created>2006-10-30T19:39:00Z</o:Created>
  <o:LastSaved>2006-10-30T20:01:00Z</o:LastSaved>
  <o:Pages>16</o:Pages>
  <o:Words>9819</o:Words>
  <o:Characters>55974</o:Characters>
  <o:Lines>466</o:Lines>
  <o:Paragraphs>131</o:Paragraphs>
  <o:CharactersWithSpaces>65662</o:CharactersWithSpaces>
  <o:Version>12.00</o:Version>
 </o:DocumentProperties>
</xml><![endif]-->
<link rel=3DdataStoreItem
href=3D"OptimizingWPFApplicationPerformance_files/item0001.xml"
target=3D"OptimizingWPFApplicationPerformance_files/props0002.xml">
<link rel=3DthemeData
href=3D"OptimizingWPFApplicationPerformance_files/themedata.thmx">
<link rel=3DcolorSchemeMapping
href=3D"OptimizingWPFApplicationPerformance_files/colorschememapping.xml">
<!--[if gte mso 9]><xml>
 <w:WordDocument>
  <w:TrackMoves>false</w:TrackMoves>
  <w:TrackFormatting/>
  <w:ValidateAgainstSchemas/>
  <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
  <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
  <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
  <w:DoNotPromoteQF/>
  <w:LidThemeOther>EN-US</w:LidThemeOther>
  <w:LidThemeAsian>X-NONE</w:LidThemeAsian>
  <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
  <w:Compatibility>
   <w:BreakWrappedTables/>
   <w:SnapToGridInCell/>
   <w:WrapTextWithPunct/>
   <w:UseAsianBreakRules/>
   <w:DontGrowAutofit/>
   <w:SplitPgBreakAndParaMark/>
   <w:DontVertAlignCellWithSp/>
   <w:DontBreakConstrainedForcedTables/>
   <w:DontVertAlignInTxbx/>
   <w:Word11KerningPairs/>
   <w:CachedColBalance/>
  </w:Compatibility>
  <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
  <m:mathPr>
   <m:mathFont m:val=3D"Cambria Math"/>
   <m:brkBin m:val=3D"before"/>
   <m:brkBinSub m:val=3D"--"/>
   <m:smallFrac m:val=3D"off"/>
   <m:dispDef/>
   <m:lMargin m:val=3D"0"/>
   <m:rMargin m:val=3D"0"/>
   <m:defJc m:val=3D"centerGroup"/>
   <m:wrapIndent m:val=3D"1440"/>
   <m:intLim m:val=3D"subSup"/>
   <m:naryLim m:val=3D"undOvr"/>
  </m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <w:LatentStyles DefLockedState=3D"false" DefUnhideWhenUsed=3D"true"
  DefSemiHidden=3D"true" DefQFormat=3D"false" DefPriority=3D"99"
  LatentStyleCount=3D"266">
  <w:LsdException Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"fal=
se"
   QFormat=3D"true" Name=3D"Normal"/>
  <w:LsdException Priority=3D"9" SemiHidden=3D"false" UnhideWhenUsed=3D"fal=
se"
   QFormat=3D"true" Name=3D"heading 1"/>
  <w:LsdException Priority=3D"9" SemiHidden=3D"false" UnhideWhenUsed=3D"fal=
se"
   QFormat=3D"true" Name=3D"heading 2"/>
  <w:LsdException Priority=3D"9" SemiHidden=3D"false" UnhideWhenUsed=3D"fal=
se"
   QFormat=3D"true" Name=3D"heading 3"/>
  <w:LsdException Priority=3D"9" SemiHidden=3D"false" UnhideWhenUsed=3D"fal=
se"
   QFormat=3D"true" Name=3D"heading 4"/>
  <w:LsdException Priority=3D"9" QFormat=3D"true" Name=3D"heading 5"/>
  <w:LsdException Priority=3D"9" QFormat=3D"true" Name=3D"heading 6"/>
  <w:LsdException Priority=3D"9" QFormat=3D"true" Name=3D"heading 7"/>
  <w:LsdException Priority=3D"9" QFormat=3D"true" Name=3D"heading 8"/>
  <w:LsdException Priority=3D"9" QFormat=3D"true" Name=3D"heading 9"/>
  <w:LsdException Priority=3D"39" Name=3D"toc 1"/>
  <w:LsdException Priority=3D"39" Name=3D"toc 2"/>
  <w:LsdException Priority=3D"39" Name=3D"toc 3"/>
  <w:LsdException Priority=3D"39" Name=3D"toc 4"/>
  <w:LsdException Priority=3D"39" Name=3D"toc 5"/>
  <w:LsdException Priority=3D"39" Name=3D"toc 6"/>
  <w:LsdException Priority=3D"39" Name=3D"toc 7"/>
  <w:LsdException Priority=3D"39" Name=3D"toc 8"/>
  <w:LsdException Priority=3D"39" Name=3D"toc 9"/>
  <w:LsdException Priority=3D"35" QFormat=3D"true" Name=3D"caption"/>
  <w:LsdException Priority=3D"10" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   QFormat=3D"true" Name=3D"Title"/>
  <w:LsdException Priority=3D"1" Name=3D"Default Paragraph Font"/>
  <w:LsdException Priority=3D"11" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   QFormat=3D"true" Name=3D"Subtitle"/>
  <w:LsdException Priority=3D"22" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   QFormat=3D"true" Name=3D"Strong"/>
  <w:LsdException Priority=3D"20" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   QFormat=3D"true" Name=3D"Emphasis"/>
  <w:LsdException Priority=3D"59" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Table Grid"/>
  <w:LsdException UnhideWhenUsed=3D"false" Name=3D"Placeholder Text"/>
  <w:LsdException Priority=3D"1" SemiHidden=3D"false" UnhideWhenUsed=3D"fal=
se"
   QFormat=3D"true" Name=3D"No Spacing"/>
  <w:LsdException Priority=3D"60" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Light Shading"/>
  <w:LsdException Priority=3D"61" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Light List"/>
  <w:LsdException Priority=3D"62" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Light Grid"/>
  <w:LsdException Priority=3D"63" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Medium Shading 1"/>
  <w:LsdException Priority=3D"64" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Medium Shading 2"/>
  <w:LsdException Priority=3D"65" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Medium List 1"/>
  <w:LsdException Priority=3D"66" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Medium List 2"/>
  <w:LsdException Priority=3D"67" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Medium Grid 1"/>
  <w:LsdException Priority=3D"68" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Medium Grid 2"/>
  <w:LsdException Priority=3D"69" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Medium Grid 3"/>
  <w:LsdException Priority=3D"70" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Dark List"/>
  <w:LsdException Priority=3D"71" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Colorful Shading"/>
  <w:LsdException Priority=3D"72" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Colorful List"/>
  <w:LsdException Priority=3D"73" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Colorful Grid"/>
  <w:LsdException Priority=3D"60" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Light Shading Accent 1"/>
  <w:LsdException Priority=3D"61" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Light List Accent 1"/>
  <w:LsdException Priority=3D"62" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Light Grid Accent 1"/>
  <w:LsdException Priority=3D"63" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Medium Shading 1 Accent 1"/>
  <w:LsdException Priority=3D"64" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Medium Shading 2 Accent 1"/>
  <w:LsdException Priority=3D"65" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Medium List 1 Accent 1"/>
  <w:LsdException UnhideWhenUsed=3D"false" Name=3D"Revision"/>
  <w:LsdException Priority=3D"34" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   QFormat=3D"true" Name=3D"List Paragraph"/>
  <w:LsdException Priority=3D"29" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   QFormat=3D"true" Name=3D"Quote"/>
  <w:LsdException Priority=3D"30" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   QFormat=3D"true" Name=3D"Intense Quote"/>
  <w:LsdException Priority=3D"66" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Medium List 2 Accent 1"/>
  <w:LsdException Priority=3D"67" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Medium Grid 1 Accent 1"/>
  <w:LsdException Priority=3D"68" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Medium Grid 2 Accent 1"/>
  <w:LsdException Priority=3D"69" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Medium Grid 3 Accent 1"/>
  <w:LsdException Priority=3D"70" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Dark List Accent 1"/>
  <w:LsdException Priority=3D"71" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Colorful Shading Accent 1"/>
  <w:LsdException Priority=3D"72" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Colorful List Accent 1"/>
  <w:LsdException Priority=3D"73" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Colorful Grid Accent 1"/>
  <w:LsdException Priority=3D"60" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Light Shading Accent 2"/>
  <w:LsdException Priority=3D"61" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Light List Accent 2"/>
  <w:LsdException Priority=3D"62" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Light Grid Accent 2"/>
  <w:LsdException Priority=3D"63" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Medium Shading 1 Accent 2"/>
  <w:LsdException Priority=3D"64" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Medium Shading 2 Accent 2"/>
  <w:LsdException Priority=3D"65" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Medium List 1 Accent 2"/>
  <w:LsdException Priority=3D"66" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Medium List 2 Accent 2"/>
  <w:LsdException Priority=3D"67" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Medium Grid 1 Accent 2"/>
  <w:LsdException Priority=3D"68" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Medium Grid 2 Accent 2"/>
  <w:LsdException Priority=3D"69" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Medium Grid 3 Accent 2"/>
  <w:LsdException Priority=3D"70" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Dark List Accent 2"/>
  <w:LsdException Priority=3D"71" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Colorful Shading Accent 2"/>
  <w:LsdException Priority=3D"72" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Colorful List Accent 2"/>
  <w:LsdException Priority=3D"73" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Colorful Grid Accent 2"/>
  <w:LsdException Priority=3D"60" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Light Shading Accent 3"/>
  <w:LsdException Priority=3D"61" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Light List Accent 3"/>
  <w:LsdException Priority=3D"62" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Light Grid Accent 3"/>
  <w:LsdException Priority=3D"63" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Medium Shading 1 Accent 3"/>
  <w:LsdException Priority=3D"64" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Medium Shading 2 Accent 3"/>
  <w:LsdException Priority=3D"65" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Medium List 1 Accent 3"/>
  <w:LsdException Priority=3D"66" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Medium List 2 Accent 3"/>
  <w:LsdException Priority=3D"67" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Medium Grid 1 Accent 3"/>
  <w:LsdException Priority=3D"68" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Medium Grid 2 Accent 3"/>
  <w:LsdException Priority=3D"69" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Medium Grid 3 Accent 3"/>
  <w:LsdException Priority=3D"70" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Dark List Accent 3"/>
  <w:LsdException Priority=3D"71" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Colorful Shading Accent 3"/>
  <w:LsdException Priority=3D"72" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Colorful List Accent 3"/>
  <w:LsdException Priority=3D"73" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Colorful Grid Accent 3"/>
  <w:LsdException Priority=3D"60" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Light Shading Accent 4"/>
  <w:LsdException Priority=3D"61" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Light List Accent 4"/>
  <w:LsdException Priority=3D"62" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Light Grid Accent 4"/>
  <w:LsdException Priority=3D"63" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Medium Shading 1 Accent 4"/>
  <w:LsdException Priority=3D"64" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Medium Shading 2 Accent 4"/>
  <w:LsdException Priority=3D"65" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Medium List 1 Accent 4"/>
  <w:LsdException Priority=3D"66" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Medium List 2 Accent 4"/>
  <w:LsdException Priority=3D"67" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Medium Grid 1 Accent 4"/>
  <w:LsdException Priority=3D"68" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Medium Grid 2 Accent 4"/>
  <w:LsdException Priority=3D"69" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Medium Grid 3 Accent 4"/>
  <w:LsdException Priority=3D"70" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Dark List Accent 4"/>
  <w:LsdException Priority=3D"71" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Colorful Shading Accent 4"/>
  <w:LsdException Priority=3D"72" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Colorful List Accent 4"/>
  <w:LsdException Priority=3D"73" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Colorful Grid Accent 4"/>
  <w:LsdException Priority=3D"60" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Light Shading Accent 5"/>
  <w:LsdException Priority=3D"61" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Light List Accent 5"/>
  <w:LsdException Priority=3D"62" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Light Grid Accent 5"/>
  <w:LsdException Priority=3D"63" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Medium Shading 1 Accent 5"/>
  <w:LsdException Priority=3D"64" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Medium Shading 2 Accent 5"/>
  <w:LsdException Priority=3D"65" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Medium List 1 Accent 5"/>
  <w:LsdException Priority=3D"66" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Medium List 2 Accent 5"/>
  <w:LsdException Priority=3D"67" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Medium Grid 1 Accent 5"/>
  <w:LsdException Priority=3D"68" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Medium Grid 2 Accent 5"/>
  <w:LsdException Priority=3D"69" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Medium Grid 3 Accent 5"/>
  <w:LsdException Priority=3D"70" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Dark List Accent 5"/>
  <w:LsdException Priority=3D"71" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Colorful Shading Accent 5"/>
  <w:LsdException Priority=3D"72" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Colorful List Accent 5"/>
  <w:LsdException Priority=3D"73" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Colorful Grid Accent 5"/>
  <w:LsdException Priority=3D"60" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Light Shading Accent 6"/>
  <w:LsdException Priority=3D"61" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Light List Accent 6"/>
  <w:LsdException Priority=3D"62" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Light Grid Accent 6"/>
  <w:LsdException Priority=3D"63" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Medium Shading 1 Accent 6"/>
  <w:LsdException Priority=3D"64" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Medium Shading 2 Accent 6"/>
  <w:LsdException Priority=3D"65" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Medium List 1 Accent 6"/>
  <w:LsdException Priority=3D"66" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Medium List 2 Accent 6"/>
  <w:LsdException Priority=3D"67" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Medium Grid 1 Accent 6"/>
  <w:LsdException Priority=3D"68" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Medium Grid 2 Accent 6"/>
  <w:LsdException Priority=3D"69" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Medium Grid 3 Accent 6"/>
  <w:LsdException Priority=3D"70" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Dark List Accent 6"/>
  <w:LsdException Priority=3D"71" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Colorful Shading Accent 6"/>
  <w:LsdException Priority=3D"72" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Colorful List Accent 6"/>
  <w:LsdException Priority=3D"73" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   Name=3D"Colorful Grid Accent 6"/>
  <w:LsdException Priority=3D"19" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   QFormat=3D"true" Name=3D"Subtle Emphasis"/>
  <w:LsdException Priority=3D"21" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   QFormat=3D"true" Name=3D"Intense Emphasis"/>
  <w:LsdException Priority=3D"31" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   QFormat=3D"true" Name=3D"Subtle Reference"/>
  <w:LsdException Priority=3D"32" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   QFormat=3D"true" Name=3D"Intense Reference"/>
  <w:LsdException Priority=3D"33" SemiHidden=3D"false" UnhideWhenUsed=3D"fa=
lse"
   QFormat=3D"true" Name=3D"Book Title"/>
  <w:LsdException Priority=3D"37" Name=3D"Bibliography"/>
 </w:LatentStyles>
</xml><![endif]-->
<style>
<!--
 /* Font Definitions */
 @font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;
	mso-font-charset:1;
	mso-generic-font-family:roman;
	mso-font-format:other;
	mso-font-pitch:variable;
	mso-font-signature:0 0 0 0 0 0;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;
	mso-font-charset:0;
	mso-generic-font-family:swiss;
	mso-font-pitch:variable;
	mso-font-signature:-520082689 -1073717157 41 0 66047 0;}
@font-face
	{font-family:Verdana;
	panose-1:2 11 6 4 3 5 4 4 2 4;
	mso-font-charset:0;
	mso-generic-font-family:swiss;
	mso-font-pitch:variable;
	mso-font-signature:-1593833729 1073750107 16 0 415 0;}
@font-face
	{font-family:Consolas;
	panose-1:2 11 6 9 2 2 4 3 2 4;
	mso-font-charset:0;
	mso-generic-font-family:modern;
	mso-font-pitch:fixed;
	mso-font-signature:-1610611985 1073750091 0 0 159 0;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{mso-style-unhide:no;
	mso-style-qformat:yes;
	mso-style-parent:"";
	margin:0in;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";
	mso-fareast-font-family:"Times New Roman";
	mso-fareast-theme-font:minor-fareast;}
h1
	{mso-style-priority:9;
	mso-style-unhide:no;
	mso-style-qformat:yes;
	mso-style-link:"Heading 1 Char";
	mso-margin-top-alt:auto;
	margin-right:0in;
	mso-margin-bottom-alt:auto;
	margin-left:0in;
	mso-pagination:widow-orphan;
	mso-outline-level:1;
	font-size:24.0pt;
	font-family:"Times New Roman","serif";
	mso-fareast-font-family:"Times New Roman";
	mso-fareast-theme-font:minor-fareast;
	font-weight:bold;}
h3
	{mso-style-priority:9;
	mso-style-unhide:no;
	mso-style-qformat:yes;
	mso-style-link:"Heading 3 Char";
	mso-margin-top-alt:auto;
	margin-right:0in;
	mso-margin-bottom-alt:auto;
	margin-left:0in;
	mso-pagination:widow-orphan;
	mso-outline-level:3;
	font-size:13.5pt;
	font-family:"Times New Roman","serif";
	mso-fareast-font-family:"Times New Roman";
	mso-fareast-theme-font:minor-fareast;
	font-weight:bold;}
h4
	{mso-style-priority:9;
	mso-style-unhide:no;
	mso-style-qformat:yes;
	mso-style-link:"Heading 4 Char";
	mso-margin-top-alt:auto;
	margin-right:0in;
	mso-margin-bottom-alt:auto;
	margin-left:0in;
	mso-pagination:widow-orphan;
	mso-outline-level:4;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";
	mso-fareast-font-family:"Times New Roman";
	mso-fareast-theme-font:minor-fareast;
	font-weight:bold;}
a:link, span.MsoHyperlink
	{mso-style-noshow:yes;
	mso-style-priority:99;
	color:blue;
	text-decoration:underline;
	text-underline:single;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-noshow:yes;
	mso-style-priority:99;
	color:blue;
	text-decoration:underline;
	text-underline:single;}
p
	{mso-style-noshow:yes;
	mso-style-priority:99;
	margin-top:7.5pt;
	margin-right:0in;
	margin-bottom:3.75pt;
	margin-left:0in;
	mso-pagination:widow-orphan;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";
	mso-fareast-font-family:"Times New Roman";
	mso-fareast-theme-font:minor-fareast;}
code
	{mso-style-noshow:yes;
	mso-style-priority:99;
	mso-ansi-font-size:12.5pt;
	mso-bidi-font-size:12.5pt;
	font-family:"Courier New";
	mso-ascii-font-family:"Courier New";
	mso-fareast-font-family:"Times New Roman";
	mso-fareast-theme-font:minor-fareast;
	mso-hansi-font-family:"Courier New";
	mso-bidi-font-family:"Courier New";
	color:#000066;}
pre
	{mso-style-noshow:yes;
	mso-style-priority:99;
	mso-style-link:"HTML Preformatted Char";
	margin:0in;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 41=
2.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
	font-size:10.0pt;
	font-family:"Courier New";
	mso-fareast-font-family:"Times New Roman";
	mso-fareast-theme-font:minor-fareast;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
	{mso-style-noshow:yes;
	mso-style-priority:99;
	mso-style-link:"Balloon Text Char";
	margin:0in;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:8.0pt;
	font-family:"Tahoma","sans-serif";
	mso-fareast-font-family:"Times New Roman";
	mso-fareast-theme-font:minor-fareast;}
span.Heading1Char
	{mso-style-name:"Heading 1 Char";
	mso-style-priority:9;
	mso-style-unhide:no;
	mso-style-locked:yes;
	mso-style-link:"Heading 1";
	mso-ansi-font-size:14.0pt;
	mso-bidi-font-size:14.0pt;
	font-family:"Cambria","serif";
	mso-ascii-font-family:Cambria;
	mso-ascii-theme-font:major-latin;
	mso-fareast-font-family:"Times New Roman";
	mso-fareast-theme-font:major-fareast;
	mso-hansi-font-family:Cambria;
	mso-hansi-theme-font:major-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:major-bidi;
	color:#365F91;
	mso-themecolor:accent1;
	mso-themeshade:191;
	font-weight:bold;}
span.Heading3Char
	{mso-style-name:"Heading 3 Char";
	mso-style-noshow:yes;
	mso-style-priority:9;
	mso-style-unhide:no;
	mso-style-locked:yes;
	mso-style-link:"Heading 3";
	mso-ansi-font-size:12.0pt;
	mso-bidi-font-size:12.0pt;
	font-family:"Cambria","serif";
	mso-ascii-font-family:Cambria;
	mso-ascii-theme-font:major-latin;
	mso-fareast-font-family:"Times New Roman";
	mso-fareast-theme-font:major-fareast;
	mso-hansi-font-family:Cambria;
	mso-hansi-theme-font:major-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:major-bidi;
	color:#4F81BD;
	mso-themecolor:accent1;
	font-weight:bold;}
span.Heading4Char
	{mso-style-name:"Heading 4 Char";
	mso-style-noshow:yes;
	mso-style-priority:9;
	mso-style-unhide:no;
	mso-style-locked:yes;
	mso-style-link:"Heading 4";
	mso-ansi-font-size:12.0pt;
	mso-bidi-font-size:12.0pt;
	font-family:"Cambria","serif";
	mso-ascii-font-family:Cambria;
	mso-ascii-theme-font:major-latin;
	mso-fareast-font-family:"Times New Roman";
	mso-fareast-theme-font:major-fareast;
	mso-hansi-font-family:Cambria;
	mso-hansi-theme-font:major-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:major-bidi;
	color:#4F81BD;
	mso-themecolor:accent1;
	font-weight:bold;
	font-style:italic;}
span.HTMLPreformattedChar
	{mso-style-name:"HTML Preformatted Char";
	mso-style-noshow:yes;
	mso-style-priority:99;
	mso-style-unhide:no;
	mso-style-locked:yes;
	mso-style-link:"HTML Preformatted";
	font-family:Consolas;
	mso-ascii-font-family:Consolas;
	mso-fareast-font-family:"Times New Roman";
	mso-fareast-theme-font:minor-fareast;
	mso-hansi-font-family:Consolas;}
p.heading, li.heading, div.heading
	{mso-style-name:heading;
	mso-style-unhide:no;
	margin-top:13.5pt;
	margin-right:0in;
	margin-bottom:6.0pt;
	margin-left:0in;
	mso-pagination:widow-orphan;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";
	mso-fareast-font-family:"Times New Roman";
	mso-fareast-theme-font:minor-fareast;
	font-weight:bold;}
p.subheading, li.subheading, div.subheading
	{mso-style-name:subheading;
	mso-style-unhide:no;
	margin-top:7.5pt;
	margin-right:0in;
	margin-bottom:3.0pt;
	margin-left:0in;
	mso-pagination:widow-orphan;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";
	mso-fareast-font-family:"Times New Roman";
	mso-fareast-theme-font:minor-fareast;
	font-weight:bold;}
p.downloadcode, li.downloadcode, div.downloadcode
	{mso-style-name:downloadcode;
	mso-style-unhide:no;
	margin-top:7.5pt;
	margin-right:0in;
	margin-bottom:3.75pt;
	margin-left:0in;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:"Times New Roman","serif";
	mso-fareast-font-family:"Times New Roman";
	mso-fareast-theme-font:minor-fareast;
	color:blue;}
p.viewcode, li.viewcode, div.viewcode
	{mso-style-name:viewcode;
	mso-style-unhide:no;
	margin-top:7.5pt;
	margin-right:0in;
	margin-bottom:3.75pt;
	margin-left:0in;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:"Times New Roman","serif";
	mso-fareast-font-family:"Times New Roman";
	mso-fareast-theme-font:minor-fareast;
	color:blue;}
p.tip, li.tip, div.tip
	{mso-style-name:tip;
	mso-style-unhide:no;
	margin-top:7.5pt;
	margin-right:0in;
	margin-bottom:3.75pt;
	margin-left:0in;
	mso-pagination:widow-orphan;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";
	mso-fareast-font-family:"Times New Roman";
	mso-fareast-theme-font:minor-fareast;
	color:blue;
	font-style:italic;
	text-decoration:underline;
	text-underline:single;}
p.languagefilter, li.languagefilter, div.languagefilter
	{mso-style-name:languagefilter;
	mso-style-unhide:no;
	margin-top:7.5pt;
	margin-right:0in;
	margin-bottom:3.75pt;
	margin-left:0in;
	mso-pagination:widow-orphan;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";
	mso-fareast-font-family:"Times New Roman";
	mso-fareast-theme-font:minor-fareast;
	color:blue;
	text-decoration:underline;
	text-underline:single;}
p.math, li.math, div.math
	{mso-style-name:math;
	mso-style-unhide:no;
	margin-top:7.5pt;
	margin-right:0in;
	margin-bottom:3.75pt;
	margin-left:0in;
	mso-pagination:widow-orphan;
	font-size:15.0pt;
	font-family:"Times New Roman","serif";
	mso-fareast-font-family:"Times New Roman";
	mso-fareast-theme-font:minor-fareast;}
span.parameter
	{mso-style-name:parameter;
	mso-style-unhide:no;
	font-style:italic;}
span.italic
	{mso-style-name:italic;
	mso-style-unhide:no;
	font-style:italic;}
span.labelheading
	{mso-style-name:labelheading;
	mso-style-unhide:no;
	mso-ansi-font-size:12.0pt;
	mso-bidi-font-size:12.0pt;
	color:#003399;}
span.copycode
	{mso-style-name:copycode;
	mso-style-unhide:no;
	mso-ansi-font-size:11.0pt;
	mso-bidi-font-size:11.0pt;
	color:blue;
	mso-hide:none;
	font-weight:normal;}
span.clsglossary
	{mso-style-name:clsglossary;
	mso-style-unhide:no;
	color:#509950;
	font-weight:bold;}
span.BalloonTextChar
	{mso-style-name:"Balloon Text Char";
	mso-style-noshow:yes;
	mso-style-priority:99;
	mso-style-unhide:no;
	mso-style-locked:yes;
	mso-style-link:"Balloon Text";
	mso-ansi-font-size:8.0pt;
	mso-bidi-font-size:8.0pt;
	font-family:"Tahoma","sans-serif";
	mso-ascii-font-family:Tahoma;
	mso-fareast-font-family:"Times New Roman";
	mso-fareast-theme-font:minor-fareast;
	mso-hansi-font-family:Tahoma;
	mso-bidi-font-family:Tahoma;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;
	mso-header-margin:.5in;
	mso-footer-margin:.5in;
	mso-paper-source:0;}
div.Section1
	{page:Section1;}
 /* List Definitions */
 @list l0
	{mso-list-id:63768835;
	mso-list-template-ids:-1315154912;}
@list l0:level1
	{mso-level-tab-stop:.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l1
	{mso-list-id:81070220;
	mso-list-template-ids:1039807234;}
@list l1:level1
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:.5in;
	mso-level-number-position:left;
	text-indent:-.25in;
	mso-ansi-font-size:10.0pt;
	font-family:Symbol;}
@list l2
	{mso-list-id:681203624;
	mso-list-template-ids:6717340;}
@list l2:level1
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:.5in;
	mso-level-number-position:left;
	text-indent:-.25in;
	mso-ansi-font-size:10.0pt;
	font-family:Symbol;}
@list l3
	{mso-list-id:858815477;
	mso-list-template-ids:1324634692;}
@list l3:level1
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:.5in;
	mso-level-number-position:left;
	text-indent:-.25in;
	mso-ansi-font-size:10.0pt;
	font-family:Symbol;}
@list l4
	{mso-list-id:933517530;
	mso-list-template-ids:-735921976;}
@list l4:level1
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:.5in;
	mso-level-number-position:left;
	text-indent:-.25in;
	mso-ansi-font-size:10.0pt;
	font-family:Symbol;}
@list l5
	{mso-list-id:1213226503;
	mso-list-template-ids:396016006;}
@list l5:level1
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:.5in;
	mso-level-number-position:left;
	text-indent:-.25in;
	mso-ansi-font-size:10.0pt;
	font-family:Symbol;}
@list l6
	{mso-list-id:1454596862;
	mso-list-template-ids:-150288486;}
@list l6:level1
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:.5in;
	mso-level-number-position:left;
	text-indent:-.25in;
	mso-ansi-font-size:10.0pt;
	font-family:Symbol;}
@list l6:level2
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:1.0in;
	mso-level-number-position:left;
	text-indent:-.25in;
	mso-ansi-font-size:10.0pt;
	font-family:Symbol;}
@list l7
	{mso-list-id:1801992454;
	mso-list-template-ids:-1351611038;}
@list l7:level1
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:.5in;
	mso-level-number-position:left;
	text-indent:-.25in;
	mso-ansi-font-size:10.0pt;
	font-family:Symbol;}
@list l8
	{mso-list-id:1894153080;
	mso-list-template-ids:560370420;}
@list l8:level1
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:.5in;
	mso-level-number-position:left;
	text-indent:-.25in;
	mso-ansi-font-size:10.0pt;
	font-family:Symbol;}
ol
	{margin-bottom:0in;}
ul
	{margin-bottom:0in;}
-->
</style>
<!--[if gte mso 10]>
<style>
 /* Style Definitions */
 table.MsoNormalTable
	{mso-style-name:"Table Normal";
	mso-tstyle-rowband-size:0;
	mso-tstyle-colband-size:0;
	mso-style-noshow:yes;
	mso-style-priority:99;
	mso-style-qformat:yes;
	mso-style-parent:"";
	mso-padding-alt:0in 5.4pt 0in 5.4pt;
	mso-para-margin:0in;
	mso-para-margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:"Times New Roman","serif";}
</style>
<![endif]-->
<meta content=3Dhistory name=3Dsave>
<xml>
 <MSHelp:Keyword Index=3D"K" Term=3D"application optimization [Windows Pres=
entation Foundation]"/>
</xml><xml>
 <MSHelp:Keyword Index=3D"K" Term=3D"application rendering [Windows Present=
ation Foundation],performance"/>
</xml><xml>
 <MSHelp:Keyword Index=3D"K" Term=3D"applications [Windows Presentation Fou=
ndation],optimizing"/>
</xml><xml>
 <MSHelp:Keyword Index=3D"K" Term=3D"applications [Windows Presentation Fou=
ndation],performance"/>
</xml><xml>
 <MSHelp:Keyword Index=3D"S" Term=3D"WPF"/>
</xml><xml>
 <MSHelp:Keyword Index=3D"F" Term=3D"WPF"/>
</xml><xml>
 <MSHelp:Keyword Index=3D"A" Term=3D"ac8c6aa3-3c68-4a24-9827-3b6c829c1ebf"/>
</xml><xml>
 <MSHelp:Attr Name=3D"Catalog Container" Value=3D"System_Default_Catalog"/>
</xml><xml>
 <MSHelp:Attr Name=3D"CommunityContent" Value=3D"1"/>
</xml><xml>
 <MSHelp:Attr Name=3D"Content Set Container" Value=3D"System_Default_Conten=
t_Set"/>
</xml><xml>
 <MSHelp:Attr Name=3D"DocSet" Value=3D"wpf"/>
</xml><xml>
 <MSHelp:Attr Name=3D"PlatformIntro" Value=3D"vista"/>
</xml><xml>
 <MSHelp:Attr Name=3D"Locale" Value=3D"kbEnglish"/>
</xml><xml>
 <MSHelp:Attr Name=3D"AssetID" Value=3D"ac8c6aa3-3c68-4a24-9827-3b6c829c1eb=
f"/>
</xml><xml>
 <MSHelp:Attr Name=3D"TopicType" Value=3D"kbArticle"/>
</xml><xml>
 <MSHelp:Attr Name=3D"DevLang" Value=3D"XAML"/>
</xml><xml>
 <MSHelp:Attr Name=3D"DevLang" Value=3D"CSharp"/>
</xml><xml>
 <MSHelp:Attr Name=3D"DocSet" Value=3D"ExpressLibVS"/>
</xml><xml>
 <MSHelp:Attr Name=3D"DocSet" Value=3D"VisualStudioPartner"/>
</xml><xml>
 <MSHelp:Attr Name=3D"DocSet" Value=3D"C#"/>
</xml><xml>
 <MSHelp:Attr Name=3D"DocSet" Value=3D"Visual Basic"/>
</xml><xml>
 <MSHelp:Attr Name=3D"Abstract" Value=3D"This topic is intended as a refere=
nce for Windows Presentation Foundation (WPF) application developers who ar=
e looking for ways to improve the performance of their applications. If you=
 are a developer who is new to the Microsoft .NET Framework version 3.0 and=
 WPF, you should first familiarize yourself with both platforms. This topic=
 assumes working knowledge of both, and is written for programmers who alre=
ady know enough to get their applications up and running. Information in th=
is topic is based on version 1.0 of WPF."/>
</xml>
<script  src=3D"http://wcpsdk/wpf_conceptual/local/EventUtilities.js">
</script>

<script  src=3D"http://wcpsdk/wpf_conceptual/local/SplitScreen.js">
</script>

<script  src=3D"http://wcpsdk/wpf_conceptual/local/Dropdown.js">
</script>

<script  src=3D"http://wcpsdk/wpf_conceptual/local/script.js">
</script>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext=3D"edit" spidmax=3D"2050"/>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext=3D"edit">
  <o:idmap v:ext=3D"edit" data=3D"1"/>
 </o:shapelayout></xml><![endif]-->
</head>

<body bgcolor=3Dwhite lang=3DEN-US link=3Dblue vlink=3Dblue style=3D'tab-in=
terval:.5in'>

<div class=3DSection1>

<p class=3DMsoNormal><span style=3D'font-size:13.5pt;font-family:"Verdana",=
"sans-serif";
mso-fareast-font-family:"Times New Roman";color:black'><span style=3D'displ=
ay:
none;mso-hide:all'><!--[if gte vml 1]><v:shapetype id=3D"_x0000_t75" coords=
ize=3D"21600,21600"
 o:spt=3D"75" o:preferrelative=3D"t" path=3D"m@4@5l@4@11@9@11@9@5xe" filled=
=3D"f"
 stroked=3D"f">
 <v:stroke joinstyle=3D"miter"/>
 <v:formulas>
  <v:f eqn=3D"if lineDrawn pixelLineWidth 0"/>
  <v:f eqn=3D"sum @0 1 0"/>
  <v:f eqn=3D"sum 0 0 @1"/>
  <v:f eqn=3D"prod @2 1 2"/>
  <v:f eqn=3D"prod @3 21600 pixelWidth"/>
  <v:f eqn=3D"prod @3 21600 pixelHeight"/>
  <v:f eqn=3D"sum @0 0 1"/>
  <v:f eqn=3D"prod @6 1 2"/>
  <v:f eqn=3D"prod @7 21600 pixelWidth"/>
  <v:f eqn=3D"sum @8 21600 0"/>
  <v:f eqn=3D"prod @7 21600 pixelHeight"/>
  <v:f eqn=3D"sum @10 21600 0"/>
 </v:formulas>
 <v:path o:extrusionok=3D"f" gradientshapeok=3D"t" o:connecttype=3D"rect"/>
 <o:lock v:ext=3D"edit" aspectratio=3D"t"/>
</v:shapetype><v:shape id=3D"_x0000_i1033" type=3D"#_x0000_t75" style=3D'wi=
dth:1in;
 height:18pt'>
 <v:imagedata src=3D"OptimizingWPFApplicationPerformance_files/image001.wmz"
  o:title=3D""/>
</v:shape><![endif]--><![if !vml]><img width=3D96 height=3D24
src=3D"OptimizingWPFApplicationPerformance_files/image002.gif" v:shapes=3D"=
_x0000_i1033"><![endif]></span><span
style=3D'display:none;mso-hide:all'><!--[if gte vml 1]><v:shape id=3D"_x000=
0_i1032"
 type=3D"#_x0000_t75" style=3D'width:1in;height:18pt'>
 <v:imagedata src=3D"OptimizingWPFApplicationPerformance_files/image001.wmz"
  o:title=3D""/>
</v:shape><![endif]--><![if !vml]><img width=3D96 height=3D24
src=3D"OptimizingWPFApplicationPerformance_files/image002.gif" v:shapes=3D"=
_x0000_i1032"><![endif]></span></span><!--[if gte vml 1]><v:shape
 id=3D"dropDownImage" o:spid=3D"_x0000_i1064" type=3D"#_x0000_t75" alt=3D"D=
ropDown image"
 style=3D'width:24pt;height:24pt;visibility:visible;mso-wrap-style:square'>
 <v:imagedata src=3D"OptimizingWPFApplicationPerformance_files/image003.gif"
  o:title=3D"DropDown image"/>
</v:shape><![endif]--><![if !vml]><img width=3D32 height=3D32
src=3D"OptimizingWPFApplicationPerformance_files/image004.jpg"
alt=3D"DropDown image" v:shapes=3D"dropDownImage"><![endif]><!--[if gte vml=
 1]><v:shape
 id=3D"dropDownHoverImage" o:spid=3D"_x0000_i1063" type=3D"#_x0000_t75" alt=
=3D"DropDownHover image"
 style=3D'width:24pt;height:24pt;visibility:visible;mso-wrap-style:square'>
 <v:imagedata src=3D"OptimizingWPFApplicationPerformance_files/image005.gif"
  o:title=3D"DropDownHover image"/>
</v:shape><![endif]--><![if !vml]><img width=3D32 height=3D32
src=3D"OptimizingWPFApplicationPerformance_files/image006.jpg"
alt=3D"DropDownHover image" v:shapes=3D"dropDownHoverImage"><![endif]><!--[=
if gte vml 1]><v:shape
 id=3D"copyImage" o:spid=3D"_x0000_i1062" type=3D"#_x0000_t75" alt=3D"Copy =
image"
 style=3D'width:24pt;height:24pt;visibility:visible;mso-wrap-style:square'>
 <v:imagedata src=3D"OptimizingWPFApplicationPerformance_files/image007.gif"
  o:title=3D"Copy image"/>
</v:shape><![endif]--><![if !vml]><img width=3D32 height=3D32
src=3D"OptimizingWPFApplicationPerformance_files/image008.gif" alt=3D"Copy =
image"
v:shapes=3D"copyImage"><![endif]><!--[if gte vml 1]><v:shape id=3D"copyHove=
rImage"
 o:spid=3D"_x0000_i1061" type=3D"#_x0000_t75" alt=3D"CopyHover image" style=
=3D'width:24pt;
 height:24pt;visibility:visible;mso-wrap-style:square'>
 <v:imagedata src=3D"OptimizingWPFApplicationPerformance_files/image009.gif"
  o:title=3D"CopyHover image"/>
</v:shape><![endif]--><![if !vml]><img width=3D32 height=3D32
src=3D"OptimizingWPFApplicationPerformance_files/image010.gif"
alt=3D"CopyHover image" v:shapes=3D"copyHoverImage"><![endif]><span
style=3D'font-size:13.5pt;font-family:"Verdana","sans-serif";mso-fareast-fo=
nt-family:
"Times New Roman";color:black'><o:p></o:p></span></p>

<span id=3DrunningHeaderText></span>

<div id=3Dheader>

<table class=3DMsoNormalTable border=3D1 cellpadding=3D0 width=3D"100%"
 style=3D'width:100.0%;mso-cellspacing:1.5pt;border:none;border-bottom:soli=
d #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;mso-yfti-tbllook:1184'>
 <tr style=3D'mso-yfti-irow:0;mso-yfti-firstrow:yes'>
  <td style=3D'border:none;padding:.75pt 15.0pt .75pt .75pt'></td>
 </tr>
 <tr style=3D'mso-yfti-irow:1' id=3DheaderTableRow2>
  <td style=3D'border:none;padding:.75pt 15.0pt .75pt .75pt'><span id=3Dnsr=
Title>
  <p class=3DMsoNormal><b><span style=3D'font-size:11.5pt;font-family:"Verd=
ana","sans-serif";
  mso-fareast-font-family:"Times New Roman";color:#003399'>Optimizing WPF
  Application Performance</span></span></b><span style=3D'font-size:9.5pt;
  font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Rom=
an";
  color:blue'><o:p></o:p></span></p>
  </td>
 </tr>
 <tr style=3D'mso-yfti-irow:2;mso-yfti-lastrow:yes' id=3DheaderTableRow3>
  <td style=3D'border:none;padding:3.75pt 15.0pt 1.5pt 11.25pt'>
  <p class=3DMsoNormal><span style=3D'font-size:9.5pt;font-family:"Verdana"=
,"sans-serif";
  mso-fareast-font-family:"Times New Roman";color:blue'><a
  href=3D"http://wcpsdk/wpf_conceptual/html/ac8c6aa3-3c68-4a24-9827-3b6c829=
c1ebf.htm#seeAlsoNoToggle">See
  Also </a><o:p></o:p></span></p>
  </td>
 </tr>
</table>

<p class=3DMsoNormal style=3D'background:#D4DFFF'><span style=3D'font-size:=
13.5pt;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black;display:none;mso-hide:all'><o:p>&nbsp;</o:p></span></p>

<table class=3DMsoNormalTable border=3D1 cellspacing=3D0 cellpadding=3D0 wi=
dth=3D"100%"
 style=3D'width:100.0%;mso-cellspacing:0in;border-top:solid white 1.0pt;
 border-left:none;border-bottom:solid #C8CDDE 1.0pt;border-right:none;
 mso-border-top-alt:solid white .75pt;mso-border-bottom-alt:solid #C8CDDE .=
75pt;
 mso-yfti-tbllook:1184;mso-padding-alt:0in 0in 0in 11.25pt' id=3DbottomTabl=
e>
 <tr style=3D'mso-yfti-irow:0;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes'>
  <td style=3D'border:none;padding:0in 15.0pt 0in 11.25pt'><span
  onmouseover=3D"languageFilterImage.src=3DdropDownHoverImage.src;"
  style=3D'cursor:default' tabIndex=3D0
  onmouseout=3D"languageFilterImage.src=3DdropDownImage.src;"
  id=3DlanguageFilterToolTip>
  <p class=3DMsoNormal><!--[if gte vml 1]><v:shape id=3D"languageFilterImag=
e"
   o:spid=3D"_x0000_i1060" type=3D"#_x0000_t75" alt=3D"DropDown image" styl=
e=3D'width:24pt;
   height:24pt;visibility:visible;mso-wrap-style:square'>
   <v:imagedata src=3D"OptimizingWPFApplicationPerformance_files/image003.g=
if"
    o:title=3D"DropDown image"/>
  </v:shape><![endif]--><![if !vml]><img border=3D0 width=3D32 height=3D32
  src=3D"OptimizingWPFApplicationPerformance_files/image004.jpg"
  alt=3D"DropDown image" v:shapes=3D"languageFilterImage"><![endif]><span
  style=3D'font-size:9.5pt;font-family:"Verdana","sans-serif";mso-fareast-f=
ont-family:
  "Times New Roman";color:blue'>Language Filter: All=20
  <label id=3DmultipleLabel style=3D'display:none' for=3DlanguageFilterImag=
e>
  </label>
  Language Filter: Multiple=20
  <label id=3DvbLabel style=3D'display:none' for=3DlanguageFilterImage>
  </label>
  Language Filter: Visual Basic=20
  <label id=3DcsLabel style=3D'display:none' for=3DlanguageFilterImage>
  </label>
  Language Filter: C#=20
  <label id=3DcLabel style=3D'display:none' for=3DlanguageFilterImage>
  </label>
  Language Filter: C++=20
  <label id=3DjsharpLabel style=3D'display:none' for=3DlanguageFilterImage>
  </label>
  Language Filter: J#=20
  <label id=3DjsLabel style=3D'display:none' for=3DlanguageFilterImage>
  </label>
  Language Filter: JScript=20
  <label id=3DxamlLabel style=3D'display:none' for=3DlanguageFilterImage>
  </label>
  Language Filter: XAML </span><o:p></o:p></span></p>
  </td>
 </tr>
</label>
</table>

<div style=3D'border:solid #C8CDDE 1.0pt;mso-border-alt:solid #C8CDDE .75pt;
padding:3.0pt 3.0pt 3.0pt 3.0pt' id=3DlanguageSpan>

<p class=3DMsoNormal style=3D'background:#D4DFFF'><span style=3D'font-size:=
9.5pt;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black'><!--[if gte vml 1]><v:shape id=3D"_x0000_i1031" type=3D"#_x000=
0_t75"
style=3D'width:20.25pt;height:18pt'>
<v:imagedata src=3D"OptimizingWPFApplicationPerformance_files/image011.wmz"
 o:title=3D""/>
</v:shape><![endif]--><![if !vml]><img border=3D0 width=3D27 height=3D24
src=3D"OptimizingWPFApplicationPerformance_files/image012.gif" v:shapes=3D"=
_x0000_i1031"><![endif]>
<label class=3DlanguageFilter for=3DvbDeclarationCheckbox>
Visual Basic (Declaration)=20
</label>
<br>
<!--[if gte vml 1]><v:shape id=3D"_x0000_i1030" type=3D"#_x0000_t75" style=
=3D'width:20.25pt;
height:18pt'>
<v:imagedata src=3D"OptimizingWPFApplicationPerformance_files/image011.wmz"
 o:title=3D""/>
</v:shape><![endif]--><![if !vml]><img border=3D0 width=3D27 height=3D24
src=3D"OptimizingWPFApplicationPerformance_files/image012.gif" v:shapes=3D"=
_x0000_i1030"><![endif]>
<label class=3DlanguageFilter for=3DvbUsageCheckbox>
Visual Basic (Usage)=20
</label>
<br>
<!--[if gte vml 1]><v:shape id=3D"_x0000_i1029" type=3D"#_x0000_t75" style=
=3D'width:20.25pt;
height:18pt'>
<v:imagedata src=3D"OptimizingWPFApplicationPerformance_files/image011.wmz"
 o:title=3D""/>
</v:shape><![endif]--><![if !vml]><img border=3D0 width=3D27 height=3D24
src=3D"OptimizingWPFApplicationPerformance_files/image012.gif" v:shapes=3D"=
_x0000_i1029"><![endif]>
<label class=3DlanguageFilter for=3DcsCheckbox>
C#=20
</label>
<br>
<!--[if gte vml 1]><v:shape id=3D"_x0000_i1028" type=3D"#_x0000_t75" style=
=3D'width:20.25pt;
height:18pt'>
<v:imagedata src=3D"OptimizingWPFApplicationPerformance_files/image011.wmz"
 o:title=3D""/>
</v:shape><![endif]--><![if !vml]><img border=3D0 width=3D27 height=3D24
src=3D"OptimizingWPFApplicationPerformance_files/image012.gif" v:shapes=3D"=
_x0000_i1028"><![endif]>
<label class=3DlanguageFilter for=3DcCheckbox>
C++=20
</label>
<br>
<!--[if gte vml 1]><v:shape id=3D"_x0000_i1027" type=3D"#_x0000_t75" style=
=3D'width:20.25pt;
height:18pt'>
<v:imagedata src=3D"OptimizingWPFApplicationPerformance_files/image011.wmz"
 o:title=3D""/>
</v:shape><![endif]--><![if !vml]><img border=3D0 width=3D27 height=3D24
src=3D"OptimizingWPFApplicationPerformance_files/image012.gif" v:shapes=3D"=
_x0000_i1027"><![endif]>
<label class=3DlanguageFilter for=3DjsharpCheckbox>
J#=20
</label>
<br>
<!--[if gte vml 1]><v:shape id=3D"_x0000_i1026" type=3D"#_x0000_t75" style=
=3D'width:20.25pt;
height:18pt'>
<v:imagedata src=3D"OptimizingWPFApplicationPerformance_files/image011.wmz"
 o:title=3D""/>
</v:shape><![endif]--><![if !vml]><img border=3D0 width=3D27 height=3D24
src=3D"OptimizingWPFApplicationPerformance_files/image012.gif" v:shapes=3D"=
_x0000_i1026"><![endif]>
<label class=3DlanguageFilter for=3DjsCheckbox>
JScript=20
</label>
<br>
<!--[if gte vml 1]><v:shape id=3D"_x0000_i1025" type=3D"#_x0000_t75" style=
=3D'width:20.25pt;
height:18pt'>
<v:imagedata src=3D"OptimizingWPFApplicationPerformance_files/image011.wmz"
 o:title=3D""/>
</v:shape><![endif]--><![if !vml]><img border=3D0 width=3D27 height=3D24
src=3D"OptimizingWPFApplicationPerformance_files/image012.gif" v:shapes=3D"=
_x0000_i1025"><![endif]>
<label class=3DlanguageFilter for=3DxamlCheckbox>
XAML=20
</label>
<o:p></o:p></span></p>

</div>

</div>

<div id=3DmainSection>

<div style=3D'margin-left:11.25pt;margin-top:7.5pt' id=3DmainBody>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>This topic is intended as a reference for Windows Presentation
Foundation (WPF) application developers who are looking for ways to improve=
 the
performance of their applications. If you are a developer who is new to the
Microsoft .NET Framework version 3.0 and WPF, you should first familiarize
yourself with both platforms. This topic assumes working knowledge of both,=
 and
is written for programmers who already know enough to get their application=
s up
and running. Information in this topic is based on version 1.0 of WPF.<o:p>=
</o:p></span></p>

<div>

<table class=3DMsoNormalTable border=3D0 cellspacing=3D0 cellpadding=3D0 wi=
dth=3D"98%"
style=3D'width:98.9%;mso-cellspacing:0in;mso-yfti-tbllook:1184;mso-padding-=
alt:
0in 0in 0in 0in'>
<tr style=3D'mso-yfti-irow:0;mso-yfti-firstrow:yes'>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:0in 3=
.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><!--[if gte vml 1]><v:shape id=3D"Picture_x0020_15"
  o:spid=3D"_x0000_i1059" type=3D"#_x0000_t75" alt=3D"Note" style=3D'width:=
24pt;
  height:24pt;visibility:visible;mso-wrap-style:square'>
  <v:imagedata src=3D"OptimizingWPFApplicationPerformance_files/image013.gi=
f"
   o:title=3D"Note"/>
 </v:shape><![endif]--><![if !vml]><img border=3D0 width=3D32 height=3D32
 src=3D"OptimizingWPFApplicationPerformance_files/image014.gif" alt=3DNote =
v:shapes=3D"Picture_x0020_15"><![endif]><b><span
 style=3D'font-size:13.5pt;font-family:"Verdana","sans-serif";mso-fareast-f=
ont-family:
 "Times New Roman";color:#000066'>Note: <o:p></o:p></span></b></p>
 </td>
</tr>
<tr style=3D'mso-yfti-irow:1;mso-yfti-lastrow:yes'>
 <td valign=3Dtop style=3D'border-top:solid white 1.0pt;border-left:none;
 border-bottom:solid #D5D5D3 1.0pt;border-right:none;mso-border-top-alt:sol=
id white .75pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:0in 3=
.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:.75pt;margin-=
bottom:
 6.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>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.<o:p></o:p></span></p>
 </td>
</tr>
</table>

</div>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>This topic contains the following sections.<o:p></o:p></span><=
/p>

<p class=3DMsoNormal style=3D'margin-top:0in;margin-right:0in;margin-bottom=
:2.25pt;
margin-left:12.75pt;text-indent:-.25in;mso-list:l1 level1 lfo1;tab-stops:li=
st .5in'><![if !supportLists]><span
style=3D'font-size:10.0pt;mso-bidi-font-size:8.5pt;font-family:Symbol;mso-f=
areast-font-family:
Symbol;mso-bidi-font-family:Symbol;color:black'><span style=3D'mso-list:Ign=
ore'>&middot;<span
style=3D'font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;
</span></span></span><![endif]><span style=3D'font-size:8.5pt;font-family:"=
Verdana","sans-serif";
mso-fareast-font-family:"Times New Roman";color:black'><a
href=3D"http://wcpsdk/wpf_conceptual/html/ac8c6aa3-3c68-4a24-9827-3b6c829c1=
ebf.htm#planning_for_performance">Planning
for Performance</a> <o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:0in;margin-right:0in;margin-bottom=
:2.25pt;
margin-left:12.75pt;text-indent:-.25in;mso-list:l1 level1 lfo1;tab-stops:li=
st .5in'><![if !supportLists]><span
style=3D'font-size:10.0pt;mso-bidi-font-size:8.5pt;font-family:Symbol;mso-f=
areast-font-family:
Symbol;mso-bidi-font-family:Symbol;color:black'><span style=3D'mso-list:Ign=
ore'>&middot;<span
style=3D'font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;
</span></span></span><![endif]><span style=3D'font-size:8.5pt;font-family:"=
Verdana","sans-serif";
mso-fareast-font-family:"Times New Roman";color:black'><a
href=3D"http://wcpsdk/wpf_conceptual/html/ac8c6aa3-3c68-4a24-9827-3b6c829c1=
ebf.htm#taking_advantage_of_hardware">Taking
Advantage of Hardware</a> <o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:0in;margin-right:0in;margin-bottom=
:2.25pt;
margin-left:12.75pt;text-indent:-.25in;mso-list:l1 level1 lfo1;tab-stops:li=
st .5in'><![if !supportLists]><span
style=3D'font-size:10.0pt;mso-bidi-font-size:8.5pt;font-family:Symbol;mso-f=
areast-font-family:
Symbol;mso-bidi-font-family:Symbol;color:black'><span style=3D'mso-list:Ign=
ore'>&middot;<span
style=3D'font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;
</span></span></span><![endif]><span style=3D'font-size:8.5pt;font-family:"=
Verdana","sans-serif";
mso-fareast-font-family:"Times New Roman";color:black'><a
href=3D"http://wcpsdk/wpf_conceptual/html/ac8c6aa3-3c68-4a24-9827-3b6c829c1=
ebf.htm#layout_and_design">Layout
and Design</a> <o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:0in;margin-right:0in;margin-bottom=
:2.25pt;
margin-left:12.75pt;text-indent:-.25in;mso-list:l1 level1 lfo1;tab-stops:li=
st .5in'><![if !supportLists]><span
style=3D'font-size:10.0pt;mso-bidi-font-size:8.5pt;font-family:Symbol;mso-f=
areast-font-family:
Symbol;mso-bidi-font-family:Symbol;color:black'><span style=3D'mso-list:Ign=
ore'>&middot;<span
style=3D'font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;
</span></span></span><![endif]><span style=3D'font-size:8.5pt;font-family:"=
Verdana","sans-serif";
mso-fareast-font-family:"Times New Roman";color:black'><a
href=3D"http://wcpsdk/wpf_conceptual/html/ac8c6aa3-3c68-4a24-9827-3b6c829c1=
ebf.htm#twoD_graphics_and_imaging">2D
Graphics and Imaging</a> <o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:0in;margin-right:0in;margin-bottom=
:2.25pt;
margin-left:12.75pt;text-indent:-.25in;mso-list:l1 level1 lfo1;tab-stops:li=
st .5in'><![if !supportLists]><span
style=3D'font-size:10.0pt;mso-bidi-font-size:8.5pt;font-family:Symbol;mso-f=
areast-font-family:
Symbol;mso-bidi-font-family:Symbol;color:black'><span style=3D'mso-list:Ign=
ore'>&middot;<span
style=3D'font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;
</span></span></span><![endif]><span style=3D'font-size:8.5pt;font-family:"=
Verdana","sans-serif";
mso-fareast-font-family:"Times New Roman";color:black'><a
href=3D"http://wcpsdk/wpf_conceptual/html/ac8c6aa3-3c68-4a24-9827-3b6c829c1=
ebf.htm#object_behavior">Object
Behavior</a> <o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:0in;margin-right:0in;margin-bottom=
:2.25pt;
margin-left:12.75pt;text-indent:-.25in;mso-list:l1 level1 lfo1;tab-stops:li=
st .5in'><![if !supportLists]><span
style=3D'font-size:10.0pt;mso-bidi-font-size:8.5pt;font-family:Symbol;mso-f=
areast-font-family:
Symbol;mso-bidi-font-family:Symbol;color:black'><span style=3D'mso-list:Ign=
ore'>&middot;<span
style=3D'font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;
</span></span></span><![endif]><span style=3D'font-size:8.5pt;font-family:"=
Verdana","sans-serif";
mso-fareast-font-family:"Times New Roman";color:black'><a
href=3D"http://wcpsdk/wpf_conceptual/html/ac8c6aa3-3c68-4a24-9827-3b6c829c1=
ebf.htm#application_resources">Application
Resources</a> <o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:0in;margin-right:0in;margin-bottom=
:2.25pt;
margin-left:12.75pt;text-indent:-.25in;mso-list:l1 level1 lfo1;tab-stops:li=
st .5in'><![if !supportLists]><span
style=3D'font-size:10.0pt;mso-bidi-font-size:8.5pt;font-family:Symbol;mso-f=
areast-font-family:
Symbol;mso-bidi-font-family:Symbol;color:black'><span style=3D'mso-list:Ign=
ore'>&middot;<span
style=3D'font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;
</span></span></span><![endif]><span style=3D'font-size:8.5pt;font-family:"=
Verdana","sans-serif";
mso-fareast-font-family:"Times New Roman";color:black'><a
href=3D"http://wcpsdk/wpf_conceptual/html/ac8c6aa3-3c68-4a24-9827-3b6c829c1=
ebf.htm#text">Text</a>
<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:0in;margin-right:0in;margin-bottom=
:2.25pt;
margin-left:12.75pt;text-indent:-.25in;mso-list:l1 level1 lfo1;tab-stops:li=
st .5in'><![if !supportLists]><span
style=3D'font-size:10.0pt;mso-bidi-font-size:8.5pt;font-family:Symbol;mso-f=
areast-font-family:
Symbol;mso-bidi-font-family:Symbol;color:black'><span style=3D'mso-list:Ign=
ore'>&middot;<span
style=3D'font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;
</span></span></span><![endif]><span style=3D'font-size:8.5pt;font-family:"=
Verdana","sans-serif";
mso-fareast-font-family:"Times New Roman";color:black'><a
href=3D"http://wcpsdk/wpf_conceptual/html/ac8c6aa3-3c68-4a24-9827-3b6c829c1=
ebf.htm#data_binding">Data
Binding</a> <o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:0in;margin-right:0in;margin-bottom=
:2.25pt;
margin-left:12.75pt;text-indent:-.25in;mso-list:l1 level1 lfo1;tab-stops:li=
st .5in'><![if !supportLists]><span
style=3D'font-size:10.0pt;mso-bidi-font-size:8.5pt;font-family:Symbol;mso-f=
areast-font-family:
Symbol;mso-bidi-font-family:Symbol;color:black'><span style=3D'mso-list:Ign=
ore'>&middot;<span
style=3D'font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;
</span></span></span><![endif]><span style=3D'font-size:8.5pt;font-family:"=
Verdana","sans-serif";
mso-fareast-font-family:"Times New Roman";color:black'><a
href=3D"http://wcpsdk/wpf_conceptual/html/ac8c6aa3-3c68-4a24-9827-3b6c829c1=
ebf.htm#other_performance_recommendations">Other
Performance Recommendations</a> <o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:0in;margin-right:0in;margin-bottom=
:2.25pt;
margin-left:12.75pt;text-indent:-.25in;mso-list:l1 level1 lfo1;tab-stops:li=
st .5in'><![if !supportLists]><span
style=3D'font-size:10.0pt;mso-bidi-font-size:8.5pt;font-family:Symbol;mso-f=
areast-font-family:
Symbol;mso-bidi-font-family:Symbol;color:black'><span style=3D'mso-list:Ign=
ore'>&middot;<span
style=3D'font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;
</span></span></span><![endif]><span style=3D'font-size:8.5pt;font-family:"=
Verdana","sans-serif";
mso-fareast-font-family:"Times New Roman";color:black'><a
href=3D"http://wcpsdk/wpf_conceptual/html/ac8c6aa3-3c68-4a24-9827-3b6c829c1=
ebf.htm#wpf_performance_tools_and_resources">WPF
Performance Tools and Resources</a> <o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:0in;margin-right:0in;margin-bottom=
:2.25pt;
margin-left:12.75pt;text-indent:-.25in;mso-list:l1 level1 lfo1;tab-stops:li=
st .5in'><![if !supportLists]><span
style=3D'font-size:10.0pt;mso-bidi-font-size:8.5pt;font-family:Symbol;mso-f=
areast-font-family:
Symbol;mso-bidi-font-family:Symbol;color:black'><span style=3D'mso-list:Ign=
ore'>&middot;<span
style=3D'font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;
</span></span></span><![endif]><span style=3D'font-size:8.5pt;font-family:"=
Verdana","sans-serif";
mso-fareast-font-family:"Times New Roman";color:black'><a
href=3D"http://wcpsdk/wpf_conceptual/html/ac8c6aa3-3c68-4a24-9827-3b6c829c1=
ebf.htm#seeAlsoSection">Related
Topics</a> <o:p></o:p></span></p>

<h1 style=3D'margin-top:13.5pt;margin-right:0in;margin-bottom:6.0pt;margin-=
left:
0in'><a name=3D"planning_for_performance"></a><span style=3D'font-size:11.0=
pt;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:#003399'>Planning for Performance<o:p></o:p></span></h1>

<div id=3DsectionSection0>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>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.<o:p></o:p></span></p>

<SECTIONS   xmlns=3D"http://ddue.schemas.microsoft.com/authoring/2003/5">

<h3 style=3D'margin-bottom:3.0pt' xmlns=3D""><span style=3D'font-size:10.0p=
t;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black'>Think in Terms of Scenarios<o:p></o:p></span></h3>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>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 exampl=
es
of key scenarios could be the desired frame rate for animation sequences, or
the maximum working set allowed for the application.<o:p></o:p></span></p>

</div>

<h3 style=3D'margin-bottom:3.0pt' xmlns=3D""><span style=3D'font-size:10.0p=
t;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black'>Define Goals<o:p></o:p></span></h3>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>Goals help you to determine whether an application is performi=
ng
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.<o:p></o:p></span></p>

</div>

<h3 style=3D'margin-bottom:3.0pt' xmlns=3D""><span style=3D'font-size:10.0p=
t;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black'>Understand Your Platform<o:p></o:p></span></h3>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>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 avo=
id
variability caused by external factors. For example, when testing performan=
ce,
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 bigge=
st
improvements. Once you have modified your application, start the cycle agai=
n.<o:p></o:p></span></p>

</div>

<h3 style=3D'margin-bottom:3.0pt' xmlns=3D""><span style=3D'font-size:10.0p=
t;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black'>Make Performance Tuning an Iterative Process<o:p></o:p></span>=
</h3>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>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 wou=
ld
want to use it judiciously. This does not mean to avoid the use of reflecti=
on,
only that you should be careful to balance the performance requirements of =
your
application with the performance demands of the features you use.<o:p></o:p=
></span></p>

</div>

<h3 style=3D'margin-bottom:3.0pt' xmlns=3D""><span style=3D'font-size:10.0p=
t;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black'>Build Towards Graphical Richness<o:p></o:p></span></h3>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>A key technique for creating a scalable approach towards achie=
ving
WPF application performance is to build towards graphical richness and
complexity. Always start with using the least performance intensive resourc=
es
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.<o:p></o:p></spa=
n></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>WPF controls are inherently extensible by allowing for wide-sp=
read
customization of their appearance, while not altering their control behavio=
r.
By taking advantage of styles, data templates, and control templates, you c=
an
create and incrementally evolve a customizable user interface (UI) that ada=
pts
to your performance requirements. The &#8216;Photo Store Demo&#8217; (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 graphi=
cal
richness.<o:p></o:p></span></p>

</div>

</div>

</SECTIONS>

<h1 style=3D'margin-top:13.5pt;margin-right:0in;margin-bottom:6.0pt;margin-=
left:
0in'><a name=3D"taking_advantage_of_hardware"></a><span style=3D'font-size:=
11.0pt;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:#003399'>Taking Advantage of Hardware<o:p></o:p></span></h1>

<div id=3DsectionSection1>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>The internal architecture of WPF has two rendering pipelines,
hardware and software.<o:p></o:p></span></p>

<SECTIONS   xmlns=3D"http://ddue.schemas.microsoft.com/authoring/2003/5">

<h3 style=3D'margin-bottom:3.0pt' xmlns=3D""><span style=3D'font-size:10.0p=
t;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black'>Hardware Rendering Pipeline<o:p></o:p></span></h3>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>One of the most important factors in determining WPF performan=
ce
is that it is render bound&#8212;the more pixels you have to render, the
greater the performance cost. However, the more rendering that can be offlo=
aded
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.<o:p><=
/o:p></span></p>

</div>

<h3 style=3D'margin-bottom:3.0pt' xmlns=3D""><span style=3D'font-size:10.0p=
t;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black'>Software Rendering Pipeline<o:p></o:p></span></h3>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>The WPF software rendering pipeline is entirely CPU bound. WPF
takes advantage of the SSE and SSE2 instruction sets in the CPU to implemen=
t an
optimized, fully-featured software rasterizer. Fallback to software is seam=
less
any time application functionality cannot be rendered using the hardware re=
ndering
pipeline.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>The biggest performance issue you will encounter when renderin=
g in
software mode is related to fill rate, which is defined as the number of pi=
xels
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 rend=
ers
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.<o:p></=
o:p></span></p>

<SECTIONS   xmlns=3D"http://ddue.schemas.microsoft.com/authoring/2003/5">

<h4 style=3D'margin-bottom:3.0pt' xmlns=3D""><span style=3D'font-size:9.5pt;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black'>Graphics Rendering Tiers<o:p></o:p></span></h4>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>It may be very difficult to predict the hardware configuration
that your application will be running on. However, you might want to consid=
er a
design that allows your application to seamlessly switch features when runn=
ing
on different hardware, so that it can take full advantage of each different
hardware configuration.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>To achieve this, WPF provides functionality to determine the
graphics capability of a system at runtime. Graphics capability is determin=
ed
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 depen=
ding
on the rendering tier supported by the hardware.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>The features of the graphics hardware that most impact the
rendering tier levels are:<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:1.5pt;margin-right:0in;margin-bott=
om:1.5pt;
margin-left:12.75pt;text-indent:-.25in;mso-list:l7 level1 lfo2;tab-stops:li=
st .5in'><![if !supportLists]><span
style=3D'font-size:10.0pt;mso-bidi-font-size:8.5pt;font-family:Symbol;mso-f=
areast-font-family:
Symbol;mso-bidi-font-family:Symbol;color:black'><span style=3D'mso-list:Ign=
ore'>&middot;<span
style=3D'font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;
</span></span></span><![endif]><b><span style=3D'font-size:8.5pt;font-famil=
y:
"Verdana","sans-serif";color:black'>Video RAM</span></b><span style=3D'font=
-size:
8.5pt;font-family:"Verdana","sans-serif";color:black'> The amount of video
memory on the graphics hardware determines the size and number of buffers t=
hat
can be used for compositing graphics.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:1.5pt;margin-right:0in;margin-bott=
om:1.5pt;
margin-left:12.75pt;text-indent:-.25in;mso-list:l7 level1 lfo2;tab-stops:li=
st .5in'><![if !supportLists]><span
style=3D'font-size:10.0pt;mso-bidi-font-size:8.5pt;font-family:Symbol;mso-f=
areast-font-family:
Symbol;mso-bidi-font-family:Symbol;color:black'><span style=3D'mso-list:Ign=
ore'>&middot;<span
style=3D'font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;
</span></span></span><![endif]><b><span style=3D'font-size:8.5pt;font-famil=
y:
"Verdana","sans-serif";color:black'>Pixel Shader</span></b><span
style=3D'font-size:8.5pt;font-family:"Verdana","sans-serif";color:black'> A=
 pixel
shader is a graphics processing function that calculates effects on a per-p=
ixel
basis. Depending on the resolution of the displayed graphics, there could be
several million pixels that need to be processed for each display frame.<o:=
p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:1.5pt;margin-right:0in;margin-bott=
om:1.5pt;
margin-left:12.75pt;text-indent:-.25in;mso-list:l7 level1 lfo2;tab-stops:li=
st .5in'><![if !supportLists]><span
style=3D'font-size:10.0pt;mso-bidi-font-size:8.5pt;font-family:Symbol;mso-f=
areast-font-family:
Symbol;mso-bidi-font-family:Symbol;color:black'><span style=3D'mso-list:Ign=
ore'>&middot;<span
style=3D'font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;
</span></span></span><![endif]><b><span style=3D'font-size:8.5pt;font-famil=
y:
"Verdana","sans-serif";color:black'>Vertex Shader</span></b><span
style=3D'font-size:8.5pt;font-family:"Verdana","sans-serif";color:black'> A
vertex shader is a graphics processing function that performs mathematical
operations on the vertex data of the object.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:1.5pt;margin-right:0in;margin-bott=
om:1.5pt;
margin-left:12.75pt;text-indent:-.25in;mso-list:l7 level1 lfo2;tab-stops:li=
st .5in'><![if !supportLists]><span
style=3D'font-size:10.0pt;mso-bidi-font-size:8.5pt;font-family:Symbol;mso-f=
areast-font-family:
Symbol;mso-bidi-font-family:Symbol;color:black'><span style=3D'mso-list:Ign=
ore'>&middot;<span
style=3D'font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;
</span></span></span><![endif]><b><span style=3D'font-size:8.5pt;font-famil=
y:
"Verdana","sans-serif";color:black'>Multitexture Support</span></b><span
style=3D'font-size:8.5pt;font-family:"Verdana","sans-serif";color:black'>
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 t=
he
graphics hardware.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>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.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>The features of the graphics hardware determine the rendering
capability of a WPF application. The WPF system defines three rendering tie=
rs:<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:1.5pt;margin-right:0in;margin-bott=
om:1.5pt;
margin-left:12.75pt;text-indent:-.25in;mso-list:l8 level1 lfo3;tab-stops:li=
st .5in'><![if !supportLists]><span
style=3D'font-size:10.0pt;mso-bidi-font-size:8.5pt;font-family:Symbol;mso-f=
areast-font-family:
Symbol;mso-bidi-font-family:Symbol;color:black'><span style=3D'mso-list:Ign=
ore'>&middot;<span
style=3D'font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;
</span></span></span><![endif]><b><span style=3D'font-size:8.5pt;font-famil=
y:
"Verdana","sans-serif";color:black'>Rendering Tier 0</span></b><span
style=3D'font-size:8.5pt;font-family:"Verdana","sans-serif";color:black'> No
graphics hardware acceleration. The DirectX version level is less than vers=
ion
7.0.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:1.5pt;margin-right:0in;margin-bott=
om:1.5pt;
margin-left:12.75pt;text-indent:-.25in;mso-list:l8 level1 lfo3;tab-stops:li=
st .5in'><![if !supportLists]><span
style=3D'font-size:10.0pt;mso-bidi-font-size:8.5pt;font-family:Symbol;mso-f=
areast-font-family:
Symbol;mso-bidi-font-family:Symbol;color:black'><span style=3D'mso-list:Ign=
ore'>&middot;<span
style=3D'font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;
</span></span></span><![endif]><b><span style=3D'font-size:8.5pt;font-famil=
y:
"Verdana","sans-serif";color:black'>Rendering Tier 1</span></b><span
style=3D'font-size:8.5pt;font-family:"Verdana","sans-serif";color:black'> P=
artial
graphics hardware acceleration. The DirectX version level is greater than or
equal to version 7.0, and <b>lesser</b> than version 9.0.<o:p></o:p></span>=
</p>

<p class=3DMsoNormal style=3D'margin-top:1.5pt;margin-right:0in;margin-bott=
om:1.5pt;
margin-left:12.75pt;text-indent:-.25in;mso-list:l8 level1 lfo3;tab-stops:li=
st .5in'><![if !supportLists]><span
style=3D'font-size:10.0pt;mso-bidi-font-size:8.5pt;font-family:Symbol;mso-f=
areast-font-family:
Symbol;mso-bidi-font-family:Symbol;color:black'><span style=3D'mso-list:Ign=
ore'>&middot;<span
style=3D'font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;
</span></span></span><![endif]><b><span style=3D'font-size:8.5pt;font-famil=
y:
"Verdana","sans-serif";color:black'>Rendering Tier 2</span></b><span
style=3D'font-size:8.5pt;font-family:"Verdana","sans-serif";color:black'> M=
ost
graphics features use graphics hardware acceleration. The DirectX version l=
evel
is greater than or equal to version 9.0.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>For more information on WPF rendering tiers, see &#8216;Graphi=
cs
Rendering Tiers&#8217; (topic available in the SDK).<o:p></o:p></span></p>

</div>

</div>

</div>

</SECTIONS>

<h1 style=3D'margin-top:13.5pt;margin-right:0in;margin-bottom:6.0pt;margin-=
left:
0in'><a name=3D"layout_and_design"></a><span style=3D'font-size:11.0pt;font=
-family:
"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman";color:#003=
399'></SECTIONS>Layout
and Design<o:p></o:p></span></h1>

<div id=3DsectionSection2>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>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 &#8216;The Layout System&#8217; (topi=
c available
in the SDK).<o:p></o:p></span></p>

<SECTIONS   xmlns=3D"http://ddue.schemas.microsoft.com/authoring/2003/5">

<h3 style=3D'margin-bottom:3.0pt' xmlns=3D""><span style=3D'font-size:10.0p=
t;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black'>Layout<o:p></o:p></span></h3>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>The term &quot;layout pass&quot; describes the process of meas=
uring
and arranging the members of a Panel-derived object's collection of childre=
n,
and then drawing them onscreen. The layout pass is a mathematically-intensi=
ve
process&#8212;the larger the number of children in the collection, the grea=
ter
the number of calculations required. For example, each time a child UIEleme=
nt
object in the collection changes its position, it has the potential to trig=
ger
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 per=
form
better by reducing as much as possible any unnecessary invocations of the
layout pass.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>The layout system completes two passes for each child member i=
n 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.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:1.5pt;margin-right:0in;margin-bott=
om:1.5pt;
margin-left:12.75pt;text-indent:-.25in;mso-list:l4 level1 lfo4;tab-stops:li=
st .5in'><![if !supportLists]><span
style=3D'font-size:10.0pt;mso-bidi-font-size:8.5pt;font-family:Symbol;mso-f=
areast-font-family:
Symbol;mso-bidi-font-family:Symbol;color:black'><span style=3D'mso-list:Ign=
ore'>&middot;<span
style=3D'font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;
</span></span></span><![endif]><span style=3D'font-size:8.5pt;font-family:"=
Verdana","sans-serif";
color:black'>A child <b>UIElement</b> object begins the layout process by f=
irst
having its core properties measured.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:1.5pt;margin-right:0in;margin-bott=
om:1.5pt;
margin-left:12.75pt;text-indent:-.25in;mso-list:l4 level1 lfo4;tab-stops:li=
st .5in'><![if !supportLists]><span
style=3D'font-size:10.0pt;mso-bidi-font-size:8.5pt;font-family:Symbol;mso-f=
areast-font-family:
Symbol;mso-bidi-font-family:Symbol;color:black'><span style=3D'mso-list:Ign=
ore'>&middot;<span
style=3D'font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;
</span></span></span><![endif]><span style=3D'font-size:8.5pt;font-family:"=
Verdana","sans-serif";
color:black'>The object's FrameworkElement properties that are related to s=
ize,
such as Width, Height, and Margin, are evaluated.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:1.5pt;margin-right:0in;margin-bott=
om:1.5pt;
margin-left:12.75pt;text-indent:-.25in;mso-list:l4 level1 lfo4;tab-stops:li=
st .5in'><![if !supportLists]><span
style=3D'font-size:10.0pt;mso-bidi-font-size:8.5pt;font-family:Symbol;mso-f=
areast-font-family:
Symbol;mso-bidi-font-family:Symbol;color:black'><span style=3D'mso-list:Ign=
ore'>&middot;<span
style=3D'font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;
</span></span></span><![endif]><b><span style=3D'font-size:8.5pt;font-famil=
y:
"Verdana","sans-serif";color:black'>Panel</span></b><span style=3D'font-siz=
e:
8.5pt;font-family:"Verdana","sans-serif";color:black'>-specific logic is
applied, such as the Dock property of the DockPanel, or the Orientation
property of the StackPanel.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:1.5pt;margin-right:0in;margin-bott=
om:1.5pt;
margin-left:12.75pt;text-indent:-.25in;mso-list:l4 level1 lfo4;tab-stops:li=
st .5in'><![if !supportLists]><span
style=3D'font-size:10.0pt;mso-bidi-font-size:8.5pt;font-family:Symbol;mso-f=
areast-font-family:
Symbol;mso-bidi-font-family:Symbol;color:black'><span style=3D'mso-list:Ign=
ore'>&middot;<span
style=3D'font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;
</span></span></span><![endif]><span style=3D'font-size:8.5pt;font-family:"=
Verdana","sans-serif";
color:black'>Content is arranged, or positioned, after all child objects ha=
ve
been measured.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:1.5pt;margin-right:0in;margin-bott=
om:1.5pt;
margin-left:12.75pt;text-indent:-.25in;mso-list:l4 level1 lfo4;tab-stops:li=
st .5in'><![if !supportLists]><span
style=3D'font-size:10.0pt;mso-bidi-font-size:8.5pt;font-family:Symbol;mso-f=
areast-font-family:
Symbol;mso-bidi-font-family:Symbol;color:black'><span style=3D'mso-list:Ign=
ore'>&middot;<span
style=3D'font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;
</span></span></span><![endif]><span style=3D'font-size:8.5pt;font-family:"=
Verdana","sans-serif";
color:black'>The collection of child objects is drawn to the screen.<o:p></=
o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>The layout pass process is invoked again if any of the followi=
ng
actions occur:<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:1.5pt;margin-right:0in;margin-bott=
om:1.5pt;
margin-left:12.75pt;text-indent:-.25in;mso-list:l2 level1 lfo5;tab-stops:li=
st .5in'><![if !supportLists]><span
style=3D'font-size:10.0pt;mso-bidi-font-size:8.5pt;font-family:Symbol;mso-f=
areast-font-family:
Symbol;mso-bidi-font-family:Symbol;color:black'><span style=3D'mso-list:Ign=
ore'>&middot;<span
style=3D'font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;
</span></span></span><![endif]><span style=3D'font-size:8.5pt;font-family:"=
Verdana","sans-serif";
color:black'>A child object is added to the collection.<o:p></o:p></span></=
p>

<p class=3DMsoNormal style=3D'margin-top:1.5pt;margin-right:0in;margin-bott=
om:1.5pt;
margin-left:12.75pt;text-indent:-.25in;mso-list:l2 level1 lfo5;tab-stops:li=
st .5in'><![if !supportLists]><span
style=3D'font-size:10.0pt;mso-bidi-font-size:8.5pt;font-family:Symbol;mso-f=
areast-font-family:
Symbol;mso-bidi-font-family:Symbol;color:black'><span style=3D'mso-list:Ign=
ore'>&middot;<span
style=3D'font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;
</span></span></span><![endif]><span style=3D'font-size:8.5pt;font-family:"=
Verdana","sans-serif";
color:black'>A LayoutTransform is applied to the child object.<o:p></o:p></=
span></p>

<p class=3DMsoNormal style=3D'margin-top:1.5pt;margin-right:0in;margin-bott=
om:1.5pt;
margin-left:12.75pt;text-indent:-.25in;mso-list:l2 level1 lfo5;tab-stops:li=
st .5in'><![if !supportLists]><span
style=3D'font-size:10.0pt;mso-bidi-font-size:8.5pt;font-family:Symbol;mso-f=
areast-font-family:
Symbol;mso-bidi-font-family:Symbol;color:black'><span style=3D'mso-list:Ign=
ore'>&middot;<span
style=3D'font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;
</span></span></span><![endif]><span style=3D'font-size:8.5pt;font-family:"=
Verdana","sans-serif";
color:black'>The UpdateLayout method is called for the child object.<o:p></=
o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:1.5pt;margin-right:0in;margin-bott=
om:1.5pt;
margin-left:12.75pt;text-indent:-.25in;mso-list:l2 level1 lfo5;tab-stops:li=
st .5in'><![if !supportLists]><span
style=3D'font-size:10.0pt;mso-bidi-font-size:8.5pt;font-family:Symbol;mso-f=
areast-font-family:
Symbol;mso-bidi-font-family:Symbol;color:black'><span style=3D'mso-list:Ign=
ore'>&middot;<span
style=3D'font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;
</span></span></span><![endif]><span style=3D'font-size:8.5pt;font-family:"=
Verdana","sans-serif";
color:black'>When a change occurs to the value of a </span><span
onmouseover=3D"showDef()" onmouseout=3D"clearDef()" G_RID=3D"dependency_pro=
perty#6e0c4170-1210-480a-be7a-f35368767ca4"><!--A property represented by a=
 DependencyProperty identifier that is registered with the Windows Presenta=
tion Foundation property system. Dependency properties can be defined only =
by DependencyObject types, which typically expose the identifier as a publi=
c static field. Dependency properties inherit to derived classes and suppor=
t value expressions, property invalidation, default values, per-type metada=
ta, inheritance, animation, data binding, and styling. The property system =
determines their effective value based on a precedence evaluation of all po=
ssible value sources.--><span
class=3Dclsglossary><span style=3D'font-size:8.5pt;font-family:"Verdana","s=
ans-serif"'>dependency
property</span></span></span><span style=3D'font-size:8.5pt;font-family:"Ve=
rdana","sans-serif";
color:black'> that is marked with metadata affecting the measure or arrange
passes.<o:p></o:p></span></p>

<SECTIONS   xmlns=3D"http://ddue.schemas.microsoft.com/authoring/2003/5">

<h4 style=3D'margin-bottom:3.0pt' xmlns=3D""><span style=3D'font-size:9.5pt;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black'>Use the Most Efficient Panel where Possible<o:p></o:p></span><=
/h4>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>The complexity of the layout process is directly based on the
layout behavior of the <b>Panel</b>-derived elements you use. For example, =
a Grid
or <b>StackPanel</b> 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 =
<b>Grid</b>
control provides, you should use the less costly alternatives, such as a <b=
>Canvas</b>
or a custom panel.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>For more information, see &#8216;Panels Overview&#8217; (topic
available in the SDK).<o:p></o:p></span></p>

</div>

<h4 style=3D'margin-bottom:3.0pt' xmlns=3D""><span style=3D'font-size:9.5pt;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black'>Update Rather than Replace a RenderTransform<o:p></o:p></span>=
</h4>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>You may be able to update a Transform rather than replacing it=
 as
the value of a RenderTransform property. This is particularly true in scena=
rios
that involve animation. By updating an existing <b>Transform</b>, you avoid
initiating an unnecessary layout calculation.<o:p></o:p></span></p>

</div>

</div>

</SECTIONS>

<h3 style=3D'margin-bottom:3.0pt' xmlns=3D""><span style=3D'font-size:10.0p=
t;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black'>Design<o:p></o:p></span></h3>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>The construction of objects, particularly at run time, can aff=
ect
the performance characteristics of your application.<o:p></o:p></span></p>

<SECTIONS   xmlns=3D"http://ddue.schemas.microsoft.com/authoring/2003/5">

<h4 style=3D'margin-bottom:3.0pt' xmlns=3D""><span style=3D'font-size:9.5pt;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black'>Build Your Tree Top-Down<o:p></o:p></span></h4>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>When a node is added or removed from the </span><span
onmouseover=3D"showDef()" onmouseout=3D"clearDef()" G_RID=3D"logical_tree#1=
115d9b4-4a6f-45fd-a51c-491c50065f7d"><!--The tree containing all the elemen=
ts and content that are directly created by an application and used for a u=
ser 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 elem=
ents might contain a String, a TextElement, or any other Common Language Ru=
ntime object.--><span
class=3Dclsglossary><span style=3D'font-size:8.5pt;font-family:"Verdana","s=
ans-serif"'>logical
tree</span></span></span><span style=3D'font-size:8.5pt;font-family:"Verdan=
a","sans-serif";
color:black'>, property invalidations are raised on the node's parent and a=
ll
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 executi=
on
speed between building a tree top-down versus bottom-up, where the tree is =
150
levels deep with a single TextBlock and <b>DockPanel</b> at each level.<o:p=
></o:p></span></p>

<div>

<table class=3DMsoNormalTable border=3D0 cellpadding=3D0 width=3D"98%"
style=3D'width:98.9%;mso-cellspacing:1.5pt;mso-yfti-tbllook:1184;mso-paddin=
g-alt:
3.75pt 3.75pt 3.75pt 3.75pt'>
<tr style=3D'mso-yfti-irow:0;mso-yfti-firstrow:yes'>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><b><span style=3D'font-size:13.5pt;font-family:"Ve=
rdana","sans-serif";
 mso-fareast-font-family:"Times New Roman";color:#000066'>Action<o:p></o:p>=
</span></b></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><b><span style=3D'font-size:13.5pt;font-family:"Ve=
rdana","sans-serif";
 mso-fareast-font-family:"Times New Roman";color:#000066'>Tree building (in=
 ms)<o:p></o:p></span></b></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><b><span style=3D'font-size:13.5pt;font-family:"Ve=
rdana","sans-serif";
 mso-fareast-font-family:"Times New Roman";color:#000066'>Render&#8212;incl=
udes
 tree building (in ms)<o:p></o:p></span></b></p>
 </td>
</tr>
<tr style=3D'mso-yfti-irow:1'>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>Bottom-up<o:p></o:p></span></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>366<o:p></o:p></span></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>454<o:p></o:p></span></p>
 </td>
</tr>
<tr style=3D'mso-yfti-irow:2;mso-yfti-lastrow:yes'>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>Top-down<o:p></o:p></span></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>11<o:p></o:p></span></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>96<o:p></o:p></span></p>
 </td>
</tr>
</table>

</div>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>The following code example demonstrates how to create a tree t=
op
down.<o:p></o:p></span></p>

<div><span codeLanguage=3DCSharp>

<table class=3DMsoNormalTable border=3D0 cellspacing=3D0 cellpadding=3D0 wi=
dth=3D"98%"
style=3D'width:98.9%;mso-cellspacing:0in;mso-yfti-tbllook:1184;mso-padding-=
alt:
0in 0in 0in 0in'>
<tr style=3D'mso-yfti-irow:0;mso-yfti-firstrow:yes'>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:0in 3=
.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><b><span style=3D'font-size:13.5pt;font-family:"Ve=
rdana","sans-serif";
 mso-fareast-font-family:"Times New Roman";color:#000066'>C#&nbsp;<o:p></o:=
p></span></b></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:0in 3=
.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><!--[if gte vml 1]><v:shape id=3D"Picture_x0020_16"
  o:spid=3D"_x0000_i1058" type=3D"#_x0000_t75" alt=3D"CopyCode image" style=
=3D'width:24pt;
  height:24pt;visibility:visible;mso-wrap-style:square'>
  <v:imagedata src=3D"OptimizingWPFApplicationPerformance_files/image007.gi=
f"
   o:title=3D"CopyCode image"/>
 </v:shape><![endif]--><![if !vml]><img border=3D0 width=3D32 height=3D32
 src=3D"OptimizingWPFApplicationPerformance_files/image008.gif"
 alt=3D"CopyCode image" v:shapes=3D"Picture_x0020_16"><![endif]><span onkey=
press=3D"CopyCode_CheckKey(this)"
 onmouseover=3D"ChangeCopyCodeIcon(this)" onfocusout=3D"ChangeCopyCodeIcon(=
this)"
 onclick=3D"CopyCode(this)" onfocusin=3D"ChangeCopyCodeIcon(this)" tabIndex=
=3D0
 onmouseout=3D"ChangeCopyCodeIcon(this)"><span class=3Dcopycode><span
 style=3D'mso-ansi-font-size:12.0pt;mso-bidi-font-size:12.0pt;font-family:"=
Verdana","sans-serif";
 mso-fareast-font-family:"Times New Roman"'>Copy Code</span></span></span><=
b><span
 style=3D'font-size:13.5pt;font-family:"Verdana","sans-serif";mso-fareast-f=
ont-family:
 "Times New Roman";color:#000066'><o:p></o:p></span></b></p>
 </td>
</tr>
<tr style=3D'mso-yfti-irow:1;mso-yfti-lastrow:yes'>
 <td colspan=3D2 valign=3Dtop style=3D'border-top:solid white 1.0pt;border-=
left:none;
 border-bottom:solid #D5D5D3 1.0pt;border-right:none;mso-border-top-alt:sol=
id white .75pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>private=
 void
 OnBuildTreeTopDown(object sender, RoutedEventArgs e)<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>{<o:p><=
/o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp; </span>TextBlock textBlock =
=3D new
 TextBlock();<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp; </span>textBlock.Text =3D
 &quot;Default&quot;;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp; </span>DockPanel parentPanel=
 =3D new
 DockPanel();<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp; </span>DockPanel childPanel;=
<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;
 </span>myCanvas.Children.Add(parentPanel);<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;
 </span>myCanvas.Children.Add(textBlock);<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp; </span>for (int i =3D 0; i &=
lt; 150;
 i++)<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp; </span>{<o:p></o:p></span></=
p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </sp=
an>textBlock
 =3D new TextBlock();<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span>textBlock.Text =3D &quot;Default&quot;;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span>parentPanel.Children.Add(textBlock);<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span>childPanel =3D new DockPanel();<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span>parentPanel.Children.Add(childPanel);<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span>parentPanel =3D childPanel;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp; </span>}<o:p></o:p></span></=
p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>}<o:p><=
/o:p></span></p>
 </td>
</tr>
</table>

</span></div>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>For more information on the logical tree, see &#8216;Element T=
ree&#8217;
(topic available in the SDK).<o:p></o:p></span></p>

</div>

</div>

</div>

</SECTIONS>

<h1 style=3D'margin-top:13.5pt;margin-right:0in;margin-bottom:6.0pt;margin-=
left:
0in'><a name=3D"twoD_graphics_and_imaging"></a><span style=3D'font-size:11.=
0pt;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:#003399'></SECTIONS>2D Graphics and Imaging<o:p></o:p></span></h1>

<div id=3DsectionSection3>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>WPF provides a wide range of 2D graphics and imaging functiona=
lity
that can be optimized for your application requirements.<o:p></o:p></span><=
/p>

<SECTIONS   xmlns=3D"http://ddue.schemas.microsoft.com/authoring/2003/5">

<h3 style=3D'margin-bottom:3.0pt' xmlns=3D""><span style=3D'font-size:10.0p=
t;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black'>Drawings and Shapes<o:p></o:p></span></h3>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>WPF provides both Drawing and Shape objects to represent graph=
ical
drawing content. However, <b>Drawing</b> objects are simpler constructs tha=
n <b>Shape</b>
objects and provide better performance characteristics.<o:p></o:p></span></=
p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>A <b>Shape</b> allows you to draw a graphical shape to the scr=
een.
Because they are derived from the <b>FrameworkElement</b> class, <b>Shape</=
b>
objects can be used inside panels and most controls.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>WPF offers several layers of access to graphics and rendering
services. At the top layer, <b>Shape</b> objects are easy to use and provide
many useful features, such as layout and event handling. WPF provides a num=
ber
of ready-to-use shape objects. All shape objects inherit from the <b>Shape<=
/b>
class. Available shape objects include Ellipse, Line, Path, Polygon, Polyli=
ne,
and Rectangle.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><b><span style=3D'font-size:8.5pt;font-family:"Verdana","s=
ans-serif";
color:black'>Drawing</span></b><span style=3D'font-size:8.5pt;font-family:"=
Verdana","sans-serif";
color:black'> objects, on the other hand, do not derive from the <b>Framewo=
rkElement</b>
class and provide a lighter-weight implementation for rendering shapes, ima=
ges,
and text.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>There are four types of <b>Drawing</b> objects:<o:p></o:p></sp=
an></p>

<p class=3DMsoNormal style=3D'margin-top:1.5pt;margin-right:0in;margin-bott=
om:1.5pt;
margin-left:12.75pt;text-indent:-.25in;mso-list:l3 level1 lfo6;tab-stops:li=
st .5in'><![if !supportLists]><span
style=3D'font-size:10.0pt;mso-bidi-font-size:8.5pt;font-family:Symbol;mso-f=
areast-font-family:
Symbol;mso-bidi-font-family:Symbol;color:black'><span style=3D'mso-list:Ign=
ore'>&middot;<span
style=3D'font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;
</span></span></span><![endif]><span style=3D'font-size:8.5pt;font-family:"=
Verdana","sans-serif";
color:black'>GeometryDrawing Draws a shape.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:1.5pt;margin-right:0in;margin-bott=
om:1.5pt;
margin-left:12.75pt;text-indent:-.25in;mso-list:l3 level1 lfo6;tab-stops:li=
st .5in'><![if !supportLists]><span
style=3D'font-size:10.0pt;mso-bidi-font-size:8.5pt;font-family:Symbol;mso-f=
areast-font-family:
Symbol;mso-bidi-font-family:Symbol;color:black'><span style=3D'mso-list:Ign=
ore'>&middot;<span
style=3D'font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;
</span></span></span><![endif]><span style=3D'font-size:8.5pt;font-family:"=
Verdana","sans-serif";
color:black'>ImageDrawing Draws an image.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:1.5pt;margin-right:0in;margin-bott=
om:1.5pt;
margin-left:12.75pt;text-indent:-.25in;mso-list:l3 level1 lfo6;tab-stops:li=
st .5in'><![if !supportLists]><span
style=3D'font-size:10.0pt;mso-bidi-font-size:8.5pt;font-family:Symbol;mso-f=
areast-font-family:
Symbol;mso-bidi-font-family:Symbol;color:black'><span style=3D'mso-list:Ign=
ore'>&middot;<span
style=3D'font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;
</span></span></span><![endif]><span style=3D'font-size:8.5pt;font-family:"=
Verdana","sans-serif";
color:black'>GlyphRunDrawing Draws text.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:1.5pt;margin-right:0in;margin-bott=
om:1.5pt;
margin-left:12.75pt;text-indent:-.25in;mso-list:l3 level1 lfo6;tab-stops:li=
st .5in'><![if !supportLists]><span
style=3D'font-size:10.0pt;mso-bidi-font-size:8.5pt;font-family:Symbol;mso-f=
areast-font-family:
Symbol;mso-bidi-font-family:Symbol;color:black'><span style=3D'mso-list:Ign=
ore'>&middot;<span
style=3D'font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;
</span></span></span><![endif]><span style=3D'font-size:8.5pt;font-family:"=
Verdana","sans-serif";
color:black'>DrawingGroup Draws other drawings. Use a drawing group to comb=
ine
other drawings into a single composite drawing.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>The <b>GeometryDrawing</b> 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 suppor=
t.
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 sim=
ple
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, a=
nd QuadraticBezierSegment.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>On the surface, the <b>Geometry</b> class and the <b>Shape</b>
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, <b>Ellip=
seGeometry</b>
and <b>Ellipse</b>. However, there are important differences between these =
two
sets of classes. For one, the <b>Geometry</b> class lacks some of the
functionality of the <b>Shape</b> 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 o=
bject
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.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>Since <b>Shape</b> objects derive from the <b>FrameworkElement=
</b>
class, using them can add significantly more memory consumption in your
application. If you really do not need the <b>FrameworkElement</b> features=
 for
your graphical content, consider using the lighter-weight <b>Drawing</b>
objects.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>For more information on <b>Drawing</b> objects, see &#8216;Dra=
wing
Objects Overview&#8217; (topic available in the SDK).<o:p></o:p></span></p>

</div>

<h3 style=3D'margin-bottom:3.0pt' xmlns=3D""><span style=3D'font-size:10.0p=
t;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black'>StreamGeometry Objects<o:p></o:p></span></h3>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>The StreamGeometry object is a light-weight alternative to <b>=
PathGeometry</b>
for creating geometric shapes. Use a <b>StreamGeometry</b> when you need to
describe a complex geometry. <b>StreamGeometry</b> is optimized for handling
many <b>PathGeometry</b> objects and performs better when compared to using
many individual <b>PathGeometry</b> objects.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>The following example uses attribute syntax to create a triang=
ular
<b>StreamGeometry</b> in XAML.<o:p></o:p></span></p>

<div><span codeLanguage=3DXAML>

<table class=3DMsoNormalTable border=3D0 cellspacing=3D0 cellpadding=3D0 wi=
dth=3D"98%"
style=3D'width:98.9%;mso-cellspacing:0in;mso-yfti-tbllook:1184;mso-padding-=
alt:
0in 0in 0in 0in'>
<tr style=3D'mso-yfti-irow:0;mso-yfti-firstrow:yes'>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:0in 3=
.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><b><span style=3D'font-size:13.5pt;font-family:"Ve=
rdana","sans-serif";
 mso-fareast-font-family:"Times New Roman";color:#000066'>XAML&nbsp;<o:p></=
o:p></span></b></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:0in 3=
.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><!--[if gte vml 1]><v:shape id=3D"Picture_x0020_17"
  o:spid=3D"_x0000_i1057" type=3D"#_x0000_t75" alt=3D"CopyCode image" style=
=3D'width:24pt;
  height:24pt;visibility:visible;mso-wrap-style:square'>
  <v:imagedata src=3D"OptimizingWPFApplicationPerformance_files/image007.gi=
f"
   o:title=3D"CopyCode image"/>
 </v:shape><![endif]--><![if !vml]><img border=3D0 width=3D32 height=3D32
 src=3D"OptimizingWPFApplicationPerformance_files/image008.gif"
 alt=3D"CopyCode image" v:shapes=3D"Picture_x0020_17"><![endif]><span onkey=
press=3D"CopyCode_CheckKey(this)"
 onmouseover=3D"ChangeCopyCodeIcon(this)" onfocusout=3D"ChangeCopyCodeIcon(=
this)"
 onclick=3D"CopyCode(this)" onfocusin=3D"ChangeCopyCodeIcon(this)" tabIndex=
=3D0
 onmouseout=3D"ChangeCopyCodeIcon(this)"><span class=3Dcopycode><span
 style=3D'mso-ansi-font-size:12.0pt;mso-bidi-font-size:12.0pt;font-family:"=
Verdana","sans-serif";
 mso-fareast-font-family:"Times New Roman"'>Copy Code</span></span></span><=
b><span
 style=3D'font-size:13.5pt;font-family:"Verdana","sans-serif";mso-fareast-f=
ont-family:
 "Times New Roman";color:#000066'><o:p></o:p></span></b></p>
 </td>
</tr>
<tr style=3D'mso-yfti-irow:1;mso-yfti-lastrow:yes'>
 <td colspan=3D2 valign=3Dtop style=3D'border-top:solid white 1.0pt;border-=
left:none;
 border-bottom:solid #D5D5D3 1.0pt;border-right:none;mso-border-top-alt:sol=
id white .75pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>&lt;Page
 xmlns=3D&quot;http://schemas.microsoft.com/winfx/2006/xaml/presentation&qu=
ot;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;
 </span>xmlns:x=3D&quot;http://schemas.microsoft.com/winfx/2006/xaml&quot;&=
gt;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp; </span>&lt;StackPanel&gt;<o:p></o:p></sp=
an></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp; </span><o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp; </span>&lt;Path Data=3D&quot=
;F0
 M10,100 L100,100 100,50Z&quot; <o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span>StrokeThickness=3D&quot;1&quot; Stroke=3D&quot;Black&quot;/&gt;<o:p=
></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp; </span>&lt;/StackPanel&gt;<o:p></o:p></s=
pan></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>&lt;/Pa=
ge&gt;<o:p></o:p></span></p>
 </td>
</tr>
</table>

</span></div>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>For more information on <b>StreamGeometry</b> objects, see &#8=
216;How
to: Create a Shape Using a StreamGeometry&#8217; (topic available in the SD=
K).<o:p></o:p></span></p>

</div>

<h3 style=3D'margin-bottom:3.0pt' xmlns=3D""><span style=3D'font-size:10.0p=
t;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black'>DrawingVisual Objects<o:p></o:p></span></h3>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>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 a=
rt.
For more information, see &#8216;Using DrawingVisual Objects&#8217; (topic
available in the SDK).<o:p></o:p></span></p>

</div>

<h3 style=3D'margin-bottom:3.0pt' xmlns=3D""><span style=3D'font-size:10.0p=
t;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black'>Images<o:p></o:p></span></h3>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>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 Microso=
ft
Windows GDI+ application programming interface (API). These API provided
baseline imaging functionality, but lacked features such as support for cod=
ec
extensibility and high fidelity image support. WPF Imaging API have been
redesigned to overcome the shortcomings of GDI and GDI+ and provide a new s=
et
of API to display and use images within your applications.<o:p></o:p></span=
></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>When using images, consider the following recommendations for
gaining better performance:<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:1.5pt;margin-right:0in;margin-bott=
om:1.5pt;
margin-left:12.75pt;text-indent:-.25in;mso-list:l5 level1 lfo7;tab-stops:li=
st .5in'><![if !supportLists]><span
style=3D'font-size:10.0pt;mso-bidi-font-size:8.5pt;font-family:Symbol;mso-f=
areast-font-family:
Symbol;mso-bidi-font-family:Symbol;color:black'><span style=3D'mso-list:Ign=
ore'>&middot;<span
style=3D'font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;
</span></span></span><![endif]><span style=3D'font-size:8.5pt;font-family:"=
Verdana","sans-serif";
color:black'>If your application requires you to display thumbnail images,
consider creating a reduced-sized version of the image. By default, WPF loa=
ds
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 requ=
est
WPF to load a thumbnail size image.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:1.5pt;margin-right:0in;margin-bott=
om:1.5pt;
margin-left:12.75pt;text-indent:-.25in;mso-list:l5 level1 lfo7;tab-stops:li=
st .5in'><![if !supportLists]><span
style=3D'font-size:10.0pt;mso-bidi-font-size:8.5pt;font-family:Symbol;mso-f=
areast-font-family:
Symbol;mso-bidi-font-family:Symbol;color:black'><span style=3D'mso-list:Ign=
ore'>&middot;<span
style=3D'font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;
</span></span></span><![endif]><span style=3D'font-size:8.5pt;font-family:"=
Verdana","sans-serif";
color:black'>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.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:1.5pt;margin-right:0in;margin-bott=
om:1.5pt;
margin-left:12.75pt;text-indent:-.25in;mso-list:l5 level1 lfo7;tab-stops:li=
st .5in'><![if !supportLists]><span
style=3D'font-size:10.0pt;mso-bidi-font-size:8.5pt;font-family:Symbol;mso-f=
areast-font-family:
Symbol;mso-bidi-font-family:Symbol;color:black'><span style=3D'mso-list:Ign=
ore'>&middot;<span
style=3D'font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;
</span></span></span><![endif]><span style=3D'font-size:8.5pt;font-family:"=
Verdana","sans-serif";
color:black'>If possible, combine the images into a single image, such as a
film strip composed of multiple images.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:1.5pt;margin-right:0in;margin-bott=
om:1.5pt;
margin-left:12.75pt;text-indent:-.25in;mso-list:l5 level1 lfo7;tab-stops:li=
st .5in'><![if !supportLists]><span
style=3D'font-size:10.0pt;mso-bidi-font-size:8.5pt;font-family:Symbol;mso-f=
areast-font-family:
Symbol;mso-bidi-font-family:Symbol;color:black'><span style=3D'mso-list:Ign=
ore'>&middot;<span
style=3D'font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;
</span></span></span><![endif]><span style=3D'font-size:8.5pt;font-family:"=
Verdana","sans-serif";
color:black'>For more information, see &#8216;Imaging Overview&#8217; (topic
available in the SDK).<o:p></o:p></span></p>

<SECTIONS   xmlns=3D"http://ddue.schemas.microsoft.com/authoring/2003/5">

<h4 style=3D'margin-bottom:3.0pt' xmlns=3D""><span style=3D'font-size:9.5pt;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black'>BitmapScalingMode<o:p></o:p></span></h4>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>When animating the scale of any bitmap, the default high-quali=
ty
image re-sampling algorithm can sometimes consume sufficient system resourc=
es
to cause frame rate degradation, effectively causing animations to stutter.=
 By
setting the BitmapScalingMode property of the RenderOptions object to LowQu=
ality
you can create a smoother animation when scaling a bitmap. <b>LowQuality</b>
mode tells the WPF rendering engine to switch from a quality-optimized
algorithm to a speed-optimized algorithm when processing images.<o:p></o:p>=
</span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>The following example shows how to set the BitmapScalingMode f=
or
an image object.<o:p></o:p></span></p>

<div><span codeLanguage=3DCSharp>

<table class=3DMsoNormalTable border=3D0 cellspacing=3D0 cellpadding=3D0 wi=
dth=3D"98%"
style=3D'width:98.9%;mso-cellspacing:0in;mso-yfti-tbllook:1184;mso-padding-=
alt:
0in 0in 0in 0in'>
<tr style=3D'mso-yfti-irow:0;mso-yfti-firstrow:yes'>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:0in 3=
.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><b><span style=3D'font-size:13.5pt;font-family:"Ve=
rdana","sans-serif";
 mso-fareast-font-family:"Times New Roman";color:#000066'>C#&nbsp;<o:p></o:=
p></span></b></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:0in 3=
.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><!--[if gte vml 1]><v:shape id=3D"Picture_x0020_18"
  o:spid=3D"_x0000_i1056" type=3D"#_x0000_t75" alt=3D"CopyCode image" style=
=3D'width:24pt;
  height:24pt;visibility:visible;mso-wrap-style:square'>
  <v:imagedata src=3D"OptimizingWPFApplicationPerformance_files/image007.gi=
f"
   o:title=3D"CopyCode image"/>
 </v:shape><![endif]--><![if !vml]><img border=3D0 width=3D32 height=3D32
 src=3D"OptimizingWPFApplicationPerformance_files/image008.gif"
 alt=3D"CopyCode image" v:shapes=3D"Picture_x0020_18"><![endif]><span onkey=
press=3D"CopyCode_CheckKey(this)"
 onmouseover=3D"ChangeCopyCodeIcon(this)" onfocusout=3D"ChangeCopyCodeIcon(=
this)"
 onclick=3D"CopyCode(this)" onfocusin=3D"ChangeCopyCodeIcon(this)" tabIndex=
=3D0
 onmouseout=3D"ChangeCopyCodeIcon(this)"><span class=3Dcopycode><span
 style=3D'mso-ansi-font-size:12.0pt;mso-bidi-font-size:12.0pt;font-family:"=
Verdana","sans-serif";
 mso-fareast-font-family:"Times New Roman"'>Copy Code</span></span></span><=
b><span
 style=3D'font-size:13.5pt;font-family:"Verdana","sans-serif";mso-fareast-f=
ont-family:
 "Times New Roman";color:#000066'><o:p></o:p></span></b></p>
 </td>
</tr>
<tr style=3D'mso-yfti-irow:1;mso-yfti-lastrow:yes'>
 <td colspan=3D2 valign=3Dtop style=3D'border-top:solid white 1.0pt;border-=
left:none;
 border-bottom:solid #D5D5D3 1.0pt;border-right:none;mso-border-top-alt:sol=
id white .75pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>// Set =
the
 bitmap scaling mode for the image to render faster.<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>RenderO=
ptions.SetBitmapScalingMode(MyImage,
 BitmapScalingMode.LowQuality);<o:p></o:p></span></p>
 </td>
</tr>
</table>

</span></div>

</div>

<h4 style=3D'margin-bottom:3.0pt' xmlns=3D""><span style=3D'font-size:9.5pt;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black'>CachingHint<o:p></o:p></span></h4>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>By default, WPF does not cache the rendered contents of TileBr=
ush
objects, such as DrawingBrush and VisualBrush. In static scenarios where
neither the contents nor use of the <b>TileBrush</b> in the scene is changi=
ng,
this makes sense, since it conserves video memory. It does not make as much
sense when a <b>TileBrush</b> with static content is used in a non-static
way&#8212;for example, when a static <b>DrawingBrush</b> or <b>VisualBrush<=
/b>
is mapped to the surface of a rotating 3D object. The default behavior of W=
PF
is to re-render the entire content of the <b>DrawingBrush</b> or <b>VisualB=
rush</b>
for every frame, even though the content is unchanging.<o:p></o:p></span></=
p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>By setting the CachingHint property of the <b>RenderOptions</b>
object to Cache you can increase performance by using cached versions of the
tiled brush objects.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>The CacheInvalidationThresholdMinimum and CacheInvalidationThr=
esholdMaximum
property values are relative size values that determine when the <b>TileBru=
sh</b>
object should be regenerated due to changes in scale. For example, by setti=
ng
the <b>CacheInvalidationThresholdMaximum</b> property to 2.0, the cache for=
 the
<b>TileBrush</b> only needs to be regenerated when its size exceeds twice t=
he
size of the current cache.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>The following example shows how to use the caching hint option=
 for
a <b>DrawingBrush</b>.<o:p></o:p></span></p>

<div><span codeLanguage=3DCSharp>

<table class=3DMsoNormalTable border=3D0 cellspacing=3D0 cellpadding=3D0 wi=
dth=3D"98%"
style=3D'width:98.9%;mso-cellspacing:0in;mso-yfti-tbllook:1184;mso-padding-=
alt:
0in 0in 0in 0in'>
<tr style=3D'mso-yfti-irow:0;mso-yfti-firstrow:yes'>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:0in 3=
.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><b><span style=3D'font-size:13.5pt;font-family:"Ve=
rdana","sans-serif";
 mso-fareast-font-family:"Times New Roman";color:#000066'>C#&nbsp;<o:p></o:=
p></span></b></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:0in 3=
.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><!--[if gte vml 1]><v:shape id=3D"Picture_x0020_19"
  o:spid=3D"_x0000_i1055" type=3D"#_x0000_t75" alt=3D"CopyCode image" style=
=3D'width:24pt;
  height:24pt;visibility:visible;mso-wrap-style:square'>
  <v:imagedata src=3D"OptimizingWPFApplicationPerformance_files/image007.gi=
f"
   o:title=3D"CopyCode image"/>
 </v:shape><![endif]--><![if !vml]><img border=3D0 width=3D32 height=3D32
 src=3D"OptimizingWPFApplicationPerformance_files/image008.gif"
 alt=3D"CopyCode image" v:shapes=3D"Picture_x0020_19"><![endif]><span onkey=
press=3D"CopyCode_CheckKey(this)"
 onmouseover=3D"ChangeCopyCodeIcon(this)" onfocusout=3D"ChangeCopyCodeIcon(=
this)"
 onclick=3D"CopyCode(this)" onfocusin=3D"ChangeCopyCodeIcon(this)" tabIndex=
=3D0
 onmouseout=3D"ChangeCopyCodeIcon(this)"><span class=3Dcopycode><span
 style=3D'mso-ansi-font-size:12.0pt;mso-bidi-font-size:12.0pt;font-family:"=
Verdana","sans-serif";
 mso-fareast-font-family:"Times New Roman"'>Copy Code</span></span></span><=
b><span
 style=3D'font-size:13.5pt;font-family:"Verdana","sans-serif";mso-fareast-f=
ont-family:
 "Times New Roman";color:#000066'><o:p></o:p></span></b></p>
 </td>
</tr>
<tr style=3D'mso-yfti-irow:1;mso-yfti-lastrow:yes'>
 <td colspan=3D2 valign=3Dtop style=3D'border-top:solid white 1.0pt;border-=
left:none;
 border-bottom:solid #D5D5D3 1.0pt;border-right:none;mso-border-top-alt:sol=
id white .75pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>// Set =
the
 minimum and maximum relative sizes for regenerating the tiled brush.<o:p><=
/o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>RenderO=
ptions.SetCacheInvalidationThresholdMinimum(drawingBrush,
 0.5);<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>RenderO=
ptions.SetCacheInvalidationThresholdMaximum(drawingBrush,
 2.0);<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>// The =
tiled
 brush will be regenerated when the size is<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>//<span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp; </span>0.5x, 0.25x (and so forth)<=
o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>// and<=
o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>//<span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp; </span>2x, 4x, 8x (and so forth)<o=
:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>// of t=
he
 original size.<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>// Set =
the
 caching hint option for the brush.<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>RenderO=
ptions.SetCachingHint(drawingBrush,
 CachingHint.Cache);<o:p></o:p></span></p>
 </td>
</tr>
</table>

</span></SECTIONS></div>

</SECTIONS></div>

</div>

</div>

<h1 style=3D'margin-top:13.5pt;margin-right:0in;margin-bottom:6.0pt;margin-=
left:
0in'><a name=3D"object_behavior"></a><span style=3D'font-size:11.0pt;font-f=
amily:
"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman";color:#003=
399'>Object
Behavior<o:p></o:p></span></h1>

<div id=3DsectionSection4>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>Understanding the intrinsic behavior of WPF objects will help =
you
make the right tradeoffs between functionality and performance.<o:p></o:p><=
/span></p>

<SECTIONS   xmlns=3D"http://ddue.schemas.microsoft.com/authoring/2003/5"><S=
ECTIONS   xmlns=3D"http://ddue.schemas.microsoft.com/authoring/2003/5">

<div xmlns=3D"">

<h4 style=3D'margin-bottom:3.0pt'><span style=3D'font-size:9.5pt;font-famil=
y:"Verdana","sans-serif";
mso-fareast-font-family:"Times New Roman";color:black'>Not Removing Event
Handlers on Objects may Keep Objects Alive<o:p></o:p></span></h4>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>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 regist=
ered
to listen to an object's event, it is essential to remove that delegate bef=
ore
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 </span><span onmouseover=3D"showDef()"
onmouseout=3D"clearDef()" G_RID=3D"visual_tree#484ef710-6484-400c-832c-768c=
b3a33aa5"><!--The element tree containing all visual elements (elements tha=
t derive from the type System.Windows.Media.Visual) used for a piece of use=
r interface.  This tree is the accumulation of all visual elements created =
directly by the application (whether in code or in markup) and all visual e=
lements created by the template expansion of elements such as controls and =
data objects.--><span
class=3Dclsglossary><span style=3D'font-size:8.5pt;font-family:"Verdana","s=
ans-serif"'>visual
tree</span></span></span><span style=3D'font-size:8.5pt;font-family:"Verdan=
a","sans-serif";
color:black'>.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>WPF introduces a weak event listener pattern for events that c=
an
be useful in situations where the object lifetime relationships between sou=
rce
and listener are difficult to keep track of. Some existing WPF events use t=
his
pattern. If you are implementing objects with custom events, this pattern m=
ay
be of use to you. For details, see WeakEvent Patterns.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>There are several tools, such as the CLR Profiler and the Work=
ing
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 informatio=
n,
see Microsoft .NET Framework Developer Center</LINKTEXT>.<o:p></o:p></span>=
</p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>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 a=
t a
particular application state. For more information on WPF performance tools,
see &#8216;Performance Profiling Tools for WPF&#8217; (topic available in t=
he
SDK).<o:p></o:p></span></p>

</div>

</div>

</SECTIONS>

<h3 style=3D'margin-bottom:3.0pt' xmlns=3D""><span style=3D'font-size:10.0p=
t;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black'>Dependency Properties and Objects<o:p></o:p></span></h3>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>In general, accessing a dependency property of a DependencyObj=
ect
is not slower than accessing a CLR property. While there is a small perform=
ance
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 bindi=
ng,
animation, inheritance, and styling. For more information, see &#8216;Depen=
dency
Properties Overview&#8217; (topic available in the SDK).<o:p></o:p></span><=
/p>

<SECTIONS   xmlns=3D"http://ddue.schemas.microsoft.com/authoring/2003/5">

<h4 style=3D'margin-bottom:3.0pt' xmlns=3D""><span style=3D'font-size:9.5pt;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black'>DependencyProperty Optimizations<o:p></o:p></span></h4>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>You should define dependency properties in your application ve=
ry
carefully. If your DependencyProperty affects only render type metadata
options, rather than other metadata options such as AffectsMeasure, you sho=
uld
mark it as such by overriding its metadata. For more information about over=
riding
or obtaining property metadata, see Dependency Property Metadata.<o:p></o:p=
></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>It may be more efficient to have a property change handler
invalidate the measure, arrange, and render passes manually if not all prop=
erty
changes actually affect measure, arrange, and render. For instance, you mig=
ht
decide to re-render a background only when a value is greater than a set li=
mit.
In this case, your property change handler would only invalidate render when
the value exceeds the set limit.<o:p></o:p></span></p>

</div>

<h4 style=3D'margin-bottom:3.0pt' xmlns=3D""><span style=3D'font-size:9.5pt;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black'>Making a DependencyProperty Inheritable is Not Free<o:p></o:p>=
</span></h4>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>By default, registered dependency properties are non-inheritab=
le.
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.<o:p></o:p></span><=
/p>

</div>

<h4 style=3D'margin-bottom:3.0pt' xmlns=3D""><span style=3D'font-size:9.5pt;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black'>Use RegisterClassHandler Carefully<o:p></o:p></span></h4>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>While calling RegisterClassHandler allows you to save your
instance state, it is important to be aware that the handler is called on e=
very
instance, which can cause performance problems. Only use <b>RegisterClassHa=
ndler</b>
when your application requires that you save your instance state.<o:p></o:p=
></span></p>

</div>

<h4 style=3D'margin-bottom:3.0pt' xmlns=3D""><span style=3D'font-size:9.5pt;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black'>Set the Default Value for a DependencyProperty during Registra=
tion<o:p></o:p></span></h4>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>When creating a <b>DependencyProperty</b> that requires a defa=
ult
value, set the value using the default metadata passed as a parameter to th=
e Register
method of the <b>DependencyProperty</b>. Use this technique rather than set=
ting
the property value in a constructor or on each instance of an element.<o:p>=
</o:p></span></p>

</div>

<h4 style=3D'margin-bottom:3.0pt' xmlns=3D""><span style=3D'font-size:9.5pt;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black'>Set the PropertyMetadata Value using Register<o:p></o:p></span=
></h4>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>When creating a <b>DependencyProperty</b>, you have the option=
 of
setting the PropertyMetadata using either the <b>Register</b> or OverrideMe=
tadata
methods. Although your object could have a static constructor to call <b>Ov=
errideMetadata</b>,
this is not the optimal solution and will impact performance. For best
performance, set the <b>PropertyMetadata</b> during the call to <b>Register=
</b>.<o:p></o:p></span></p>

</div>

</div>

</SECTIONS>

<h3 style=3D'margin-bottom:3.0pt' xmlns=3D""><span style=3D'font-size:10.0p=
t;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black'>Freezable Objects<o:p></o:p></span></h3>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>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 &#8216;<a
href=3D"http://wcpsdk/wpf_conceptual/html/89c71692-4f43-4057-b611-67c6a8a86=
3a2.htm">Freezable
Objects Overview</a>&#8217; (topic available in the SDK).<o:p></o:p></span>=
</p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>Each <b>Freezable</b> has a Changed event that is raised whene=
ver
it changes. However, change notifications are costly in terms of application
performance.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>Consider the following example in which each <b>Rectangle</b> =
uses
the same Brush object:<o:p></o:p></span></p>

<div><span codeLanguage=3DCSharp>

<table class=3DMsoNormalTable border=3D0 cellspacing=3D0 cellpadding=3D0 wi=
dth=3D"98%"
style=3D'width:98.9%;mso-cellspacing:0in;mso-yfti-tbllook:1184;mso-padding-=
alt:
0in 0in 0in 0in'>
<tr style=3D'mso-yfti-irow:0;mso-yfti-firstrow:yes'>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:0in 3=
.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><b><span style=3D'font-size:13.5pt;font-family:"Ve=
rdana","sans-serif";
 mso-fareast-font-family:"Times New Roman";color:#000066'>C#&nbsp;<o:p></o:=
p></span></b></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:0in 3=
.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><!--[if gte vml 1]><v:shape id=3D"Picture_x0020_20"
  o:spid=3D"_x0000_i1054" type=3D"#_x0000_t75" alt=3D"CopyCode image" style=
=3D'width:24pt;
  height:24pt;visibility:visible;mso-wrap-style:square'>
  <v:imagedata src=3D"OptimizingWPFApplicationPerformance_files/image007.gi=
f"
   o:title=3D"CopyCode image"/>
 </v:shape><![endif]--><![if !vml]><img border=3D0 width=3D32 height=3D32
 src=3D"OptimizingWPFApplicationPerformance_files/image008.gif"
 alt=3D"CopyCode image" v:shapes=3D"Picture_x0020_20"><![endif]><span onkey=
press=3D"CopyCode_CheckKey(this)"
 onmouseover=3D"ChangeCopyCodeIcon(this)" onfocusout=3D"ChangeCopyCodeIcon(=
this)"
 onclick=3D"CopyCode(this)" onfocusin=3D"ChangeCopyCodeIcon(this)" tabIndex=
=3D0
 onmouseout=3D"ChangeCopyCodeIcon(this)"><span class=3Dcopycode><span
 style=3D'mso-ansi-font-size:12.0pt;mso-bidi-font-size:12.0pt;font-family:"=
Verdana","sans-serif";
 mso-fareast-font-family:"Times New Roman"'>Copy Code</span></span></span><=
b><span
 style=3D'font-size:13.5pt;font-family:"Verdana","sans-serif";mso-fareast-f=
ont-family:
 "Times New Roman";color:#000066'><o:p></o:p></span></b></p>
 </td>
</tr>
<tr style=3D'mso-yfti-irow:1;mso-yfti-lastrow:yes'>
 <td colspan=3D2 valign=3Dtop style=3D'border-top:solid white 1.0pt;border-=
left:none;
 border-bottom:solid #D5D5D3 1.0pt;border-right:none;mso-border-top-alt:sol=
id white .75pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>rectang=
le_1.Fill
 =3D myBrush;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>rectang=
le_2.Fill
 =3D myBrush;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>rectang=
le_3.Fill
 =3D myBrush;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>// ...<=
o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>rectang=
le_10.Fill
 =3D myBrush;<o:p></o:p></span></p>
 </td>
</tr>
</table>

</span></div>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>By default, WPF provides an event handler for the SolidColorBr=
ush
object's <b>Changed</b> event in order to invalidate the <b>Rectangle</b>
object's Fill property. In this case, each time the <b>SolidColorBrush</b> =
has
to fire its <b>Changed</b> event it is required to invoke the callback func=
tion
for each <b>Rectangle</b>&#8212;the accumulation of these callback function
invocations impose a significant performance penalty. In addition, it is ve=
ry
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 <b>SolidColorBrush</b>, you will be
paying the cost of maintaining <b>Changed</b> event handlers unnecessarily.=
<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>Freezing a <b>Freezable</b> can improve its performance, becau=
se
it no longer needs to expend resources on maintaining change notifications.=
 The
table below shows the size of a simple <b>SolidColorBrush</b> when its IsFr=
ozen
property is set to <b>true</b>, compared to when it is not. This assumes
applying one brush to the <b>Fill</b> property of ten <b>Rectangle</b> obje=
cts.<o:p></o:p></span></p>

<div>

<table class=3DMsoNormalTable border=3D0 cellpadding=3D0 width=3D"98%"
style=3D'width:98.9%;mso-cellspacing:1.5pt;mso-yfti-tbllook:1184;mso-paddin=
g-alt:
3.75pt 3.75pt 3.75pt 3.75pt'>
<tr style=3D'mso-yfti-irow:0;mso-yfti-firstrow:yes'>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><b><span style=3D'font-size:13.5pt;font-family:"Ve=
rdana","sans-serif";
 mso-fareast-font-family:"Times New Roman";color:#000066'>State<o:p></o:p><=
/span></b></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><b><span style=3D'font-size:13.5pt;font-family:"Ve=
rdana","sans-serif";
 mso-fareast-font-family:"Times New Roman";color:#000066'>Size<o:p></o:p></=
span></b></p>
 </td>
</tr>
<tr style=3D'mso-yfti-irow:1'>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>Frozen <b>SolidColorBrush</b><o:p></o:p></span></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>212 Bytes<o:p></o:p></span></p>
 </td>
</tr>
<tr style=3D'mso-yfti-irow:2;mso-yfti-lastrow:yes'>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>Non-frozen <b>SolidColorBrush</b><o:p></o:p></span></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>972 Bytes<o:p></o:p></span></p>
 </td>
</tr>
</table>

</div>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>The following code sample demonstrates this concept:<o:p></o:p=
></span></p>

<div><span codeLanguage=3DCSharp>

<table class=3DMsoNormalTable border=3D0 cellspacing=3D0 cellpadding=3D0 wi=
dth=3D"98%"
style=3D'width:98.9%;mso-cellspacing:0in;mso-yfti-tbllook:1184;mso-padding-=
alt:
0in 0in 0in 0in'>
<tr style=3D'mso-yfti-irow:0;mso-yfti-firstrow:yes'>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:0in 3=
.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><b><span style=3D'font-size:13.5pt;font-family:"Ve=
rdana","sans-serif";
 mso-fareast-font-family:"Times New Roman";color:#000066'>C#&nbsp;<o:p></o:=
p></span></b></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:0in 3=
.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><!--[if gte vml 1]><v:shape id=3D"Picture_x0020_21"
  o:spid=3D"_x0000_i1053" type=3D"#_x0000_t75" alt=3D"CopyCode image" style=
=3D'width:24pt;
  height:24pt;visibility:visible;mso-wrap-style:square'>
  <v:imagedata src=3D"OptimizingWPFApplicationPerformance_files/image007.gi=
f"
   o:title=3D"CopyCode image"/>
 </v:shape><![endif]--><![if !vml]><img border=3D0 width=3D32 height=3D32
 src=3D"OptimizingWPFApplicationPerformance_files/image008.gif"
 alt=3D"CopyCode image" v:shapes=3D"Picture_x0020_21"><![endif]><span onkey=
press=3D"CopyCode_CheckKey(this)"
 onmouseover=3D"ChangeCopyCodeIcon(this)" onfocusout=3D"ChangeCopyCodeIcon(=
this)"
 onclick=3D"CopyCode(this)" onfocusin=3D"ChangeCopyCodeIcon(this)" tabIndex=
=3D0
 onmouseout=3D"ChangeCopyCodeIcon(this)"><span class=3Dcopycode><span
 style=3D'mso-ansi-font-size:12.0pt;mso-bidi-font-size:12.0pt;font-family:"=
Verdana","sans-serif";
 mso-fareast-font-family:"Times New Roman"'>Copy Code</span></span></span><=
b><span
 style=3D'font-size:13.5pt;font-family:"Verdana","sans-serif";mso-fareast-f=
ont-family:
 "Times New Roman";color:#000066'><o:p></o:p></span></b></p>
 </td>
</tr>
<tr style=3D'mso-yfti-irow:1;mso-yfti-lastrow:yes'>
 <td colspan=3D2 valign=3Dtop style=3D'border-top:solid white 1.0pt;border-=
left:none;
 border-bottom:solid #D5D5D3 1.0pt;border-right:none;mso-border-top-alt:sol=
id white .75pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>Brush
 frozenBrush =3D new SolidColorBrush(Colors.Blue);<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>frozenB=
rush.Freeze();<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>Brush
 nonFrozenBrush =3D new SolidColorBrush(Colors.Blue);<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>for (in=
t i =3D
 0; i &lt; 10; i++)<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>{<o:p><=
/o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp; </span>// Create a Rectangle=
 using
 a non-frozed Brush.<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp; </span>Rectangle
 rectangleNonFrozen =3D new Rectangle();<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp; </span>rectangleNonFrozen.Fi=
ll =3D
 nonFrozenBrush;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp; </span>// Create a Rectangle=
 using
 a frozed Brush.<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp; </span>Rectangle rectangleFr=
ozen =3D
 new Rectangle();<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp; </span>rectangleFrozen.Fill =
=3D
 frozenBrush;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>}<o:p><=
/o:p></span></p>
 </td>
</tr>
</table>

</span><SECTIONS   xmlns=3D"http://ddue.schemas.microsoft.com/authoring/200=
3/5"></div>

<h4 style=3D'margin-bottom:3.0pt' xmlns=3D""><span style=3D'font-size:9.5pt;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black'>Changed Handlers on Unfrozen Freezables may Keep Objects Alive=
<o:p></o:p></span></h4>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>The delegate that an object passes to a <b>Freezable</b> objec=
t's <b>Changed</b>
event is effectively a reference to that object. Therefore, <b>Changed</b>
event handlers can keep objects alive longer than expected. When performing
clean up of an object that has registered to listen to a <b>Freezable</b>
object's <b>Changed</b> event, it is essential to remove that delegate befo=
re
releasing the object.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>WPF also hooks up <b>Changed</b> events internally. For exampl=
e,
all dependency properties which take <b>Freezable</b> as a value will liste=
n to
<b>Changed</b> events automatically. The <b>Fill</b> property, which takes =
a <b>Brush</b>,
illustrates this concept.<o:p></o:p></span></p>

<div><span codeLanguage=3DCSharp>

<table class=3DMsoNormalTable border=3D0 cellspacing=3D0 cellpadding=3D0 wi=
dth=3D"98%"
style=3D'width:98.9%;mso-cellspacing:0in;mso-yfti-tbllook:1184;mso-padding-=
alt:
0in 0in 0in 0in'>
<tr style=3D'mso-yfti-irow:0;mso-yfti-firstrow:yes'>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:0in 3=
.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><b><span style=3D'font-size:13.5pt;font-family:"Ve=
rdana","sans-serif";
 mso-fareast-font-family:"Times New Roman";color:#000066'>C#&nbsp;<o:p></o:=
p></span></b></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:0in 3=
.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><!--[if gte vml 1]><v:shape id=3D"Picture_x0020_22"
  o:spid=3D"_x0000_i1052" type=3D"#_x0000_t75" alt=3D"CopyCode image" style=
=3D'width:24pt;
  height:24pt;visibility:visible;mso-wrap-style:square'>
  <v:imagedata src=3D"OptimizingWPFApplicationPerformance_files/image007.gi=
f"
   o:title=3D"CopyCode image"/>
 </v:shape><![endif]--><![if !vml]><img border=3D0 width=3D32 height=3D32
 src=3D"OptimizingWPFApplicationPerformance_files/image008.gif"
 alt=3D"CopyCode image" v:shapes=3D"Picture_x0020_22"><![endif]><span onkey=
press=3D"CopyCode_CheckKey(this)"
 onmouseover=3D"ChangeCopyCodeIcon(this)" onfocusout=3D"ChangeCopyCodeIcon(=
this)"
 onclick=3D"CopyCode(this)" onfocusin=3D"ChangeCopyCodeIcon(this)" tabIndex=
=3D0
 onmouseout=3D"ChangeCopyCodeIcon(this)"><span class=3Dcopycode><span
 style=3D'mso-ansi-font-size:12.0pt;mso-bidi-font-size:12.0pt;font-family:"=
Verdana","sans-serif";
 mso-fareast-font-family:"Times New Roman"'>Copy Code</span></span></span><=
b><span
 style=3D'font-size:13.5pt;font-family:"Verdana","sans-serif";mso-fareast-f=
ont-family:
 "Times New Roman";color:#000066'><o:p></o:p></span></b></p>
 </td>
</tr>
<tr style=3D'mso-yfti-irow:1;mso-yfti-lastrow:yes'>
 <td colspan=3D2 valign=3Dtop style=3D'border-top:solid white 1.0pt;border-=
left:none;
 border-bottom:solid #D5D5D3 1.0pt;border-right:none;mso-border-top-alt:sol=
id white .75pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>Brush m=
yBrush
 =3D new SolidColorBrush(Colors.Red);<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>Rectang=
le
 myRectangle =3D new Rectangle();<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>myRecta=
ngle.Fill
 =3D myBrush;<o:p></o:p></span></p>
 </td>
</tr>
</table>

</span></div>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>On the assignment of </span><code><span style=3D'font-size:9.0=
pt'>myBrush</span></code><span
style=3D'font-size:8.5pt;font-family:"Verdana","sans-serif";color:black'> t=
o </span><code><span
style=3D'font-size:9.0pt'>myRectangle.Fill</span></code><span style=3D'font=
-size:
8.5pt;font-family:"Verdana","sans-serif";color:black'>, a delegate pointing
back to the <b>Rectangle</b> object will be added to the <b>SolidColorBrush=
</b>
object's <b>Changed</b> event. This means the following code does not actua=
lly
make </span><code><span style=3D'font-size:9.0pt'>myRect</span></code><span
style=3D'font-size:8.5pt;font-family:"Verdana","sans-serif";color:black'>
eligible for garbage collection:<o:p></o:p></span></p>

<div><span codeLanguage=3DCSharp>

<table class=3DMsoNormalTable border=3D0 cellspacing=3D0 cellpadding=3D0 wi=
dth=3D"98%"
style=3D'width:98.9%;mso-cellspacing:0in;mso-yfti-tbllook:1184;mso-padding-=
alt:
0in 0in 0in 0in'>
<tr style=3D'mso-yfti-irow:0;mso-yfti-firstrow:yes'>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:0in 3=
.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><b><span style=3D'font-size:13.5pt;font-family:"Ve=
rdana","sans-serif";
 mso-fareast-font-family:"Times New Roman";color:#000066'>C#&nbsp;<o:p></o:=
p></span></b></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:0in 3=
.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><!--[if gte vml 1]><v:shape id=3D"Picture_x0020_23"
  o:spid=3D"_x0000_i1051" type=3D"#_x0000_t75" alt=3D"CopyCode image" style=
=3D'width:24pt;
  height:24pt;visibility:visible;mso-wrap-style:square'>
  <v:imagedata src=3D"OptimizingWPFApplicationPerformance_files/image007.gi=
f"
   o:title=3D"CopyCode image"/>
 </v:shape><![endif]--><![if !vml]><img border=3D0 width=3D32 height=3D32
 src=3D"OptimizingWPFApplicationPerformance_files/image008.gif"
 alt=3D"CopyCode image" v:shapes=3D"Picture_x0020_23"><![endif]><span onkey=
press=3D"CopyCode_CheckKey(this)"
 onmouseover=3D"ChangeCopyCodeIcon(this)" onfocusout=3D"ChangeCopyCodeIcon(=
this)"
 onclick=3D"CopyCode(this)" onfocusin=3D"ChangeCopyCodeIcon(this)" tabIndex=
=3D0
 onmouseout=3D"ChangeCopyCodeIcon(this)"><span class=3Dcopycode><span
 style=3D'mso-ansi-font-size:12.0pt;mso-bidi-font-size:12.0pt;font-family:"=
Verdana","sans-serif";
 mso-fareast-font-family:"Times New Roman"'>Copy Code</span></span></span><=
b><span
 style=3D'font-size:13.5pt;font-family:"Verdana","sans-serif";mso-fareast-f=
ont-family:
 "Times New Roman";color:#000066'><o:p></o:p></span></b></p>
 </td>
</tr>
<tr style=3D'mso-yfti-irow:1;mso-yfti-lastrow:yes'>
 <td colspan=3D2 valign=3Dtop style=3D'border-top:solid white 1.0pt;border-=
left:none;
 border-bottom:solid #D5D5D3 1.0pt;border-right:none;mso-border-top-alt:sol=
id white .75pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>myRecta=
ngle =3D
 null;<o:p></o:p></span></p>
 </td>
</tr>
</table>

</span></div>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>In this case </span><code><span style=3D'font-size:9.0pt'>myBr=
ush</span></code><span
style=3D'font-size:8.5pt;font-family:"Verdana","sans-serif";color:black'> is
still keeping </span><code><span style=3D'font-size:9.0pt'>myRectangle</spa=
n></code><span
style=3D'font-size:8.5pt;font-family:"Verdana","sans-serif";color:black'> a=
live
and will call back to it when it fires its <b>Changed</b> event. Note that
assigning </span><code><span style=3D'font-size:9.0pt'>myBrush</span></code=
><span
style=3D'font-size:8.5pt;font-family:"Verdana","sans-serif";color:black'> t=
o the <b>Fill</b>
property of a new <b>Rectangle</b> will simply add another event handler to=
 </span><code><span
style=3D'font-size:9.0pt'>myBrush</span></code><span style=3D'font-size:8.5=
pt;
font-family:"Verdana","sans-serif";color:black'>. <o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>The recommended way to clean up these types of objects is to
remove the <b>Brush</b> from the <b>Fill</b> property, which will in turn
remove the <b>Changed</b> event handler.<o:p></o:p></span></p>

<div><span codeLanguage=3DCSharp>

<table class=3DMsoNormalTable border=3D0 cellspacing=3D0 cellpadding=3D0 wi=
dth=3D"98%"
style=3D'width:98.9%;mso-cellspacing:0in;mso-yfti-tbllook:1184;mso-padding-=
alt:
0in 0in 0in 0in'>
<tr style=3D'mso-yfti-irow:0;mso-yfti-firstrow:yes'>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:0in 3=
.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><b><span style=3D'font-size:13.5pt;font-family:"Ve=
rdana","sans-serif";
 mso-fareast-font-family:"Times New Roman";color:#000066'>C#&nbsp;<o:p></o:=
p></span></b></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:0in 3=
.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><!--[if gte vml 1]><v:shape id=3D"Picture_x0020_24"
  o:spid=3D"_x0000_i1050" type=3D"#_x0000_t75" alt=3D"CopyCode image" style=
=3D'width:24pt;
  height:24pt;visibility:visible;mso-wrap-style:square'>
  <v:imagedata src=3D"OptimizingWPFApplicationPerformance_files/image007.gi=
f"
   o:title=3D"CopyCode image"/>
 </v:shape><![endif]--><![if !vml]><img border=3D0 width=3D32 height=3D32
 src=3D"OptimizingWPFApplicationPerformance_files/image008.gif"
 alt=3D"CopyCode image" v:shapes=3D"Picture_x0020_24"><![endif]><span onkey=
press=3D"CopyCode_CheckKey(this)"
 onmouseover=3D"ChangeCopyCodeIcon(this)" onfocusout=3D"ChangeCopyCodeIcon(=
this)"
 onclick=3D"CopyCode(this)" onfocusin=3D"ChangeCopyCodeIcon(this)" tabIndex=
=3D0
 onmouseout=3D"ChangeCopyCodeIcon(this)"><span class=3Dcopycode><span
 style=3D'mso-ansi-font-size:12.0pt;mso-bidi-font-size:12.0pt;font-family:"=
Verdana","sans-serif";
 mso-fareast-font-family:"Times New Roman"'>Copy Code</span></span></span><=
b><span
 style=3D'font-size:13.5pt;font-family:"Verdana","sans-serif";mso-fareast-f=
ont-family:
 "Times New Roman";color:#000066'><o:p></o:p></span></b></p>
 </td>
</tr>
<tr style=3D'mso-yfti-irow:1;mso-yfti-lastrow:yes'>
 <td colspan=3D2 valign=3Dtop style=3D'border-top:solid white 1.0pt;border-=
left:none;
 border-bottom:solid #D5D5D3 1.0pt;border-right:none;mso-border-top-alt:sol=
id white .75pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>myRecta=
ngle.Fill
 =3D null;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>myRecta=
ngle =3D
 null;<o:p></o:p></span></p>
 </td>
</tr>
</table>

</span></SECTIONS></div>

</div>

</div>

<h3 style=3D'margin-bottom:3.0pt' xmlns=3D""><span style=3D'font-size:10.0p=
t;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black'>User Interface Virtualization<o:p></o:p></span></h3>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>WPF also provides a variation of the <b>StackPanel</b> element
that automatically &quot;virtualizes&quot; data-bound child content. In this
context, the word virtualize refers to a technique by which a subset of UIE=
lements
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 Vir=
tualizingPanel)
calculates visible items and works with the ItemContainerGenerator from an =
ItemsControl
(such as ListBox or ListView) to only create UIElements for visible items.<=
o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>As a performance optimization, visual objects for these items =
are
only generated or kept alive if they are visible on the screen. When they a=
re
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. <o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>The table below shows the elapsed time adding and rendering 50=
00 <b>TextBlock</b>
elements to a <b>StackPanel</b> and a <b>VirtualizingStackPanel</b>. In this
scenario, the measurements represent the time between attaching a text stri=
ng
to the ItemsSource property of an <b>ItemsControl</b> object to the time wh=
en
the panel elements display the text string.<o:p></o:p></span></p>

<div>

<table class=3DMsoNormalTable border=3D0 cellpadding=3D0 width=3D"98%"
style=3D'width:98.9%;mso-cellspacing:1.5pt;mso-yfti-tbllook:1184;mso-paddin=
g-alt:
3.75pt 3.75pt 3.75pt 3.75pt'>
<tr style=3D'mso-yfti-irow:0;mso-yfti-firstrow:yes'>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><b><span style=3D'font-size:13.5pt;font-family:"Ve=
rdana","sans-serif";
 mso-fareast-font-family:"Times New Roman";color:#000066'>Host panel<o:p></=
o:p></span></b></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><b><span style=3D'font-size:13.5pt;font-family:"Ve=
rdana","sans-serif";
 mso-fareast-font-family:"Times New Roman";color:#000066'>Render time (ms)<=
o:p></o:p></span></b></p>
 </td>
</tr>
<tr style=3D'mso-yfti-irow:1'>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><b><span style=3D'font-size:13.5pt;font-family:"V=
erdana","sans-serif";
 color:black'>StackPanel</span></b><span style=3D'font-size:13.5pt;font-fam=
ily:
 "Verdana","sans-serif";color:black'><o:p></o:p></span></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>3210<o:p></o:p></span></p>
 </td>
</tr>
<tr style=3D'mso-yfti-irow:2;mso-yfti-lastrow:yes'>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><b><span style=3D'font-size:13.5pt;font-family:"V=
erdana","sans-serif";
 color:black'>VirtualizingStackPanel</span></b><span style=3D'font-size:13.=
5pt;
 font-family:"Verdana","sans-serif";color:black'><o:p></o:p></span></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>46<o:p></o:p></span></p>
 </td>
</tr>
</table>

</SECTIONS></div>

</div>

</div>

<h1 style=3D'margin-top:13.5pt;margin-right:0in;margin-bottom:6.0pt;margin-=
left:
0in'><a name=3D"application_resources"></a><span style=3D'font-size:11.0pt;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:#003399'>Application Resources<o:p></o:p></span></h1>

<div id=3DsectionSection5>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>WPF allows you to share application resources so that you can
support a consistent look or behavior across similar-typed elements. For mo=
re
information on resources, see &#8216;Resources Overview&#8217; (topic avail=
able
in the SDK).<o:p></o:p></span></p>

<SECTIONS   xmlns=3D"http://ddue.schemas.microsoft.com/authoring/2003/5"><S=
ECTIONS   xmlns=3D"http://ddue.schemas.microsoft.com/authoring/2003/5">

<div xmlns=3D"">

<h4 style=3D'margin-bottom:3.0pt'><span style=3D'font-size:9.5pt;font-famil=
y:"Verdana","sans-serif";
mso-fareast-font-family:"Times New Roman";color:black'>Sharing resources<o:=
p></o:p></span></h4>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>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 resource=
s in
a custom control's <b>ResourceDictionary</b> imposes a performance impact f=
or
every instance of that control. For example, if you have performance-intens=
ive
brush operations defined as part of the resource definition of a custom con=
trol
and many instances of the custom control, the application's working set will
increase significantly.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>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 <b>Brush</b> objects, which gives you a total of 52 * 52 <b>Br=
ush</b>
objects in your application. By moving the brushes out of the card custom
control resources to the <b>Application</b> or <b>Window</b> 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 am=
ong
52 instances of the card control.<o:p></o:p></span></p>

</div>

<h4 style=3D'margin-bottom:3.0pt' xmlns=3D""><span style=3D'font-size:9.5pt;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black'>Sharing a Brush without Copying<o:p></o:p></span></h4>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>If you have multiple elements using the same <b>Brush</b> obje=
ct,
define the brush as a resource and reference it, rather than defining the b=
rush
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.<o:=
p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>The following markup sample illustrates this point:<o:p></o:p>=
</span></p>

<div><span codeLanguage=3DXAML>

<table class=3DMsoNormalTable border=3D0 cellspacing=3D0 cellpadding=3D0 wi=
dth=3D"98%"
style=3D'width:98.9%;mso-cellspacing:0in;mso-yfti-tbllook:1184;mso-padding-=
alt:
0in 0in 0in 0in'>
<tr style=3D'mso-yfti-irow:0;mso-yfti-firstrow:yes'>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:0in 3=
.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><b><span style=3D'font-size:13.5pt;font-family:"Ve=
rdana","sans-serif";
 mso-fareast-font-family:"Times New Roman";color:#000066'>XAML&nbsp;<o:p></=
o:p></span></b></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:0in 3=
.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><!--[if gte vml 1]><v:shape id=3D"Picture_x0020_25"
  o:spid=3D"_x0000_i1049" type=3D"#_x0000_t75" alt=3D"CopyCode image" style=
=3D'width:24pt;
  height:24pt;visibility:visible;mso-wrap-style:square'>
  <v:imagedata src=3D"OptimizingWPFApplicationPerformance_files/image007.gi=
f"
   o:title=3D"CopyCode image"/>
 </v:shape><![endif]--><![if !vml]><img border=3D0 width=3D32 height=3D32
 src=3D"OptimizingWPFApplicationPerformance_files/image008.gif"
 alt=3D"CopyCode image" v:shapes=3D"Picture_x0020_25"><![endif]><span onkey=
press=3D"CopyCode_CheckKey(this)"
 onmouseover=3D"ChangeCopyCodeIcon(this)" onfocusout=3D"ChangeCopyCodeIcon(=
this)"
 onclick=3D"CopyCode(this)" onfocusin=3D"ChangeCopyCodeIcon(this)" tabIndex=
=3D0
 onmouseout=3D"ChangeCopyCodeIcon(this)"><span class=3Dcopycode><span
 style=3D'mso-ansi-font-size:12.0pt;mso-bidi-font-size:12.0pt;font-family:"=
Verdana","sans-serif";
 mso-fareast-font-family:"Times New Roman"'>Copy Code</span></span></span><=
b><span
 style=3D'font-size:13.5pt;font-family:"Verdana","sans-serif";mso-fareast-f=
ont-family:
 "Times New Roman";color:#000066'><o:p></o:p></span></b></p>
 </td>
</tr>
<tr style=3D'mso-yfti-irow:1;mso-yfti-lastrow:yes'>
 <td colspan=3D2 valign=3Dtop style=3D'border-top:solid white 1.0pt;border-=
left:none;
 border-bottom:solid #D5D5D3 1.0pt;border-right:none;mso-border-top-alt:sol=
id white .75pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>&lt;Sta=
ckPanel.Resources&gt;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp; </span>&lt;LinearGradientBrush
 x:Key=3D&quot;myBrush&quot; StartPoint=3D&quot;0,0.5&quot;
 EndPoint=3D&quot;1,0.5&quot; Opacity=3D&quot;0.5&quot;&gt;<o:p></o:p></spa=
n></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;
 </span>&lt;LinearGradientBrush.GradientStops&gt;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;Gradi=
entStopCollection&gt;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span>&lt;GradientStop Color=3D&quot;GoldenRod&quot; Offset=3D&quot;0&quo=
t; /&gt;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span>&lt;GradientStop Color=3D&quot;White&quot; Offset=3D&quot;1&quot; /=
&gt;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span>&lt;/GradientStopCollection&gt;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;
 </span>&lt;/LinearGradientBrush.GradientStops&gt;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp; </span>&lt;/LinearGradientBrush&gt;<o:p>=
</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>&lt;/St=
ackPanel.Resources&gt;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>&lt;!--
 Non-shared Brush object. --&gt;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>&lt;Lab=
el&gt;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp; </span>Label 1<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp; </span>&lt;Label.Background&gt;<o:p></o:=
p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp; </span>&lt;LinearGradientBru=
sh
 StartPoint=3D&quot;0,0.5&quot; EndPoint=3D&quot;1,0.5&quot;
 Opacity=3D&quot;0.5&quot;&gt;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span>&lt;LinearGradientBrush.GradientStops&gt;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span>&lt;GradientStopCollection&gt;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;
 </span>&lt;GradientStop Color=3D&quot;GoldenRod&quot; Offset=3D&quot;0&quo=
t; /&gt;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;
 </span>&lt;GradientStop Color=3D&quot;White&quot; Offset=3D&quot;1&quot; /=
&gt;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span>&lt;/GradientStopCollection&gt;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span>&lt;/LinearGradientBrush.GradientStops&gt;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;
 </span>&lt;/LinearGradientBrush&gt;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp; </span>&lt;/Label.Background&gt;<o:p></o=
:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>&lt;/La=
bel&gt;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>&lt;!--
 Shared Brush object. --&gt;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>&lt;Lab=
el
 Background=3D&quot;{StaticResource myBrush}&quot;&gt;Label 2&lt;/Label&gt;=
<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>&lt;Lab=
el
 Background=3D&quot;{StaticResource myBrush}&quot;&gt;Label 3&lt;/Label&gt;=
<o:p></o:p></span></p>
 </td>
</tr>
</table>

</span></div>

</div>

<h4 style=3D'margin-bottom:3.0pt' xmlns=3D""><span style=3D'font-size:9.5pt;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black'>Use Static Resources when Possible<o:p></o:p></span></h4>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>A static resource provides a value for any XAML property attri=
bute
by looking up a reference to an already defined resource. Lookup behavior f=
or
that resource is analogous to compile-time lookup.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>A dynamic resource, on the other hand, will create a temporary
expression during the initial compilation and thus defer lookup for resourc=
es
until the requested resource value is actually required in order to constru=
ct
an object. Lookup behavior for that resource is analogous to run-time looku=
p,
which imposes a performance impact. Use static resources whenever possible =
in
your application, using dynamic resources only when necessary.<o:p></o:p></=
span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>The following markup sample shows the use of both types of
resources:<o:p></o:p></span></p>

<div><span codeLanguage=3DXAML>

<table class=3DMsoNormalTable border=3D0 cellspacing=3D0 cellpadding=3D0 wi=
dth=3D"98%"
style=3D'width:98.9%;mso-cellspacing:0in;mso-yfti-tbllook:1184;mso-padding-=
alt:
0in 0in 0in 0in'>
<tr style=3D'mso-yfti-irow:0;mso-yfti-firstrow:yes'>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:0in 3=
.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><b><span style=3D'font-size:13.5pt;font-family:"Ve=
rdana","sans-serif";
 mso-fareast-font-family:"Times New Roman";color:#000066'>XAML&nbsp;<o:p></=
o:p></span></b></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:0in 3=
.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><!--[if gte vml 1]><v:shape id=3D"Picture_x0020_26"
  o:spid=3D"_x0000_i1048" type=3D"#_x0000_t75" alt=3D"CopyCode image" style=
=3D'width:24pt;
  height:24pt;visibility:visible;mso-wrap-style:square'>
  <v:imagedata src=3D"OptimizingWPFApplicationPerformance_files/image007.gi=
f"
   o:title=3D"CopyCode image"/>
 </v:shape><![endif]--><![if !vml]><img border=3D0 width=3D32 height=3D32
 src=3D"OptimizingWPFApplicationPerformance_files/image008.gif"
 alt=3D"CopyCode image" v:shapes=3D"Picture_x0020_26"><![endif]><span onkey=
press=3D"CopyCode_CheckKey(this)"
 onmouseover=3D"ChangeCopyCodeIcon(this)" onfocusout=3D"ChangeCopyCodeIcon(=
this)"
 onclick=3D"CopyCode(this)" onfocusin=3D"ChangeCopyCodeIcon(this)" tabIndex=
=3D0
 onmouseout=3D"ChangeCopyCodeIcon(this)"><span class=3Dcopycode><span
 style=3D'mso-ansi-font-size:12.0pt;mso-bidi-font-size:12.0pt;font-family:"=
Verdana","sans-serif";
 mso-fareast-font-family:"Times New Roman"'>Copy Code</span></span></span><=
b><span
 style=3D'font-size:13.5pt;font-family:"Verdana","sans-serif";mso-fareast-f=
ont-family:
 "Times New Roman";color:#000066'><o:p></o:p></span></b></p>
 </td>
</tr>
<tr style=3D'mso-yfti-irow:1;mso-yfti-lastrow:yes'>
 <td colspan=3D2 valign=3Dtop style=3D'border-top:solid white 1.0pt;border-=
left:none;
 border-bottom:solid #D5D5D3 1.0pt;border-right:none;mso-border-top-alt:sol=
id white .75pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>&lt;Sta=
ckPanel.Resources&gt;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp; </span>&lt;SolidColorBrush
 x:Key=3D&quot;myBrush&quot; Color=3D&quot;Teal&quot;/&gt;<o:p></o:p></span=
></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>&lt;/St=
ackPanel.Resources&gt;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>&lt;!--
 StaticResource reference --&gt;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>&lt;Lab=
el
 Foreground=3D&quot;{StaticResource myBrush}&quot;&gt;Label 1&lt;/Label&gt;=
<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>&lt;!--
 DynamicResource reference --&gt;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>&lt;Lab=
el
 Foreground=3D&quot;{DynamicResource {x:Static
 SystemColors.ControlBrushKey}}&quot;&gt;Label 2&lt;/Label&gt;<o:p></o:p></=
span></p>
 </td>
</tr>
</table>

</span></SECTIONS></div>

</SECTIONS></div>

</div>

</div>

<h1 style=3D'margin-top:13.5pt;margin-right:0in;margin-bottom:6.0pt;margin-=
left:
0in'><a name=3Dtext></a><span style=3D'font-size:11.0pt;font-family:"Verdan=
a","sans-serif";
mso-fareast-font-family:"Times New Roman";color:#003399'>Text<o:p></o:p></s=
pan></h1>

<div id=3DsectionSection6>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>WPF includes support for the presentation of text content thro=
ugh
the use of feature-rich user interface (UI) controls. In general you can di=
vide
text rendering in three layers:<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:1.5pt;margin-right:0in;margin-bott=
om:1.5pt;
margin-left:21.0pt;text-indent:-.25in;mso-list:l0 level1 lfo8;tab-stops:lis=
t .5in'><![if !supportLists]><span
style=3D'font-size:8.5pt;font-family:"Verdana","sans-serif";mso-fareast-fon=
t-family:
Verdana;mso-bidi-font-family:Verdana;color:black'><span style=3D'mso-list:I=
gnore'>1.<span
style=3D'font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp; </span></sp=
an></span><![endif]><span
style=3D'font-size:8.5pt;font-family:"Verdana","sans-serif";color:black'>Us=
ing
the Glyphs and GlyphRun objects directly.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:1.5pt;margin-right:0in;margin-bott=
om:1.5pt;
margin-left:21.0pt;text-indent:-.25in;mso-list:l0 level1 lfo8;tab-stops:lis=
t .5in'><![if !supportLists]><span
style=3D'font-size:8.5pt;font-family:"Verdana","sans-serif";mso-fareast-fon=
t-family:
Verdana;mso-bidi-font-family:Verdana;color:black'><span style=3D'mso-list:I=
gnore'>2.<span
style=3D'font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp; </span></sp=
an></span><![endif]><span
style=3D'font-size:8.5pt;font-family:"Verdana","sans-serif";color:black'>Us=
ing
the FormattedText object.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:1.5pt;margin-right:0in;margin-bott=
om:1.5pt;
margin-left:21.0pt;text-indent:-.25in;mso-list:l0 level1 lfo8;tab-stops:lis=
t .5in'><![if !supportLists]><span
style=3D'font-size:8.5pt;font-family:"Verdana","sans-serif";mso-fareast-fon=
t-family:
Verdana;mso-bidi-font-family:Verdana;color:black'><span style=3D'mso-list:I=
gnore'>3.<span
style=3D'font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp; </span></sp=
an></span><![endif]><span
style=3D'font-size:8.5pt;font-family:"Verdana","sans-serif";color:black'>Us=
ing
high-level controls, such as the <b>TextBlock</b> and FlowDocument objects.=
<o:p></o:p></span></p>

<SECTIONS   xmlns=3D"http://ddue.schemas.microsoft.com/authoring/2003/5">

<h3 style=3D'margin-bottom:3.0pt' xmlns=3D""><span style=3D'font-size:10.0p=
t;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black'>Rendering Text at the Glyph Level<o:p></o:p></span></h3>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>Windows Presentation Foundation (WPF) provides advanced text
support including glyph-level markup with direct access to <b>Glyphs</b> for
customers who want to intercept and persist text after formatting. These fe=
atures
provide critical support for the different text rendering requirements in e=
ach
of the following scenarios.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:1.5pt;margin-right:0in;margin-bott=
om:1.5pt;
margin-left:12.75pt;text-indent:-.25in;mso-list:l6 level1 lfo9;tab-stops:li=
st .5in'><![if !supportLists]><span
style=3D'font-size:10.0pt;mso-bidi-font-size:8.5pt;font-family:Symbol;mso-f=
areast-font-family:
Symbol;mso-bidi-font-family:Symbol;color:black'><span style=3D'mso-list:Ign=
ore'>&middot;<span
style=3D'font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;
</span></span></span><![endif]><span style=3D'font-size:8.5pt;font-family:"=
Verdana","sans-serif";
color:black'>Screen display of fixed-format documents.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:1.5pt;margin-right:0in;margin-bott=
om:1.5pt;
margin-left:12.75pt;text-indent:-.25in;mso-list:l6 level1 lfo9;tab-stops:li=
st .5in'><![if !supportLists]><span
style=3D'font-size:10.0pt;mso-bidi-font-size:8.5pt;font-family:Symbol;mso-f=
areast-font-family:
Symbol;mso-bidi-font-family:Symbol;color:black'><span style=3D'mso-list:Ign=
ore'>&middot;<span
style=3D'font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;
</span></span></span><![endif]><span style=3D'font-size:8.5pt;font-family:"=
Verdana","sans-serif";
color:black'>Print scenarios.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:1.5pt;margin-right:0in;margin-bott=
om:1.5pt;
margin-left:25.5pt;text-indent:-.25in;mso-list:l6 level2 lfo9;tab-stops:lis=
t 1.0in'><![if !supportLists]><span
style=3D'font-size:10.0pt;mso-bidi-font-size:8.5pt;font-family:Symbol;mso-f=
areast-font-family:
Symbol;mso-bidi-font-family:Symbol;color:black'><span style=3D'mso-list:Ign=
ore'>&middot;<span
style=3D'font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;
</span></span></span><![endif]><span style=3D'font-size:8.5pt;font-family:"=
Verdana","sans-serif";
color:black'>Extensible Application Markup Language (XAML) as a device prin=
ter
language.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:1.5pt;margin-right:0in;margin-bott=
om:1.5pt;
margin-left:25.5pt;text-indent:-.25in;mso-list:l6 level2 lfo9;tab-stops:lis=
t 1.0in'><![if !supportLists]><span
style=3D'font-size:10.0pt;mso-bidi-font-size:8.5pt;font-family:Symbol;mso-f=
areast-font-family:
Symbol;mso-bidi-font-family:Symbol;color:black'><span style=3D'mso-list:Ign=
ore'>&middot;<span
style=3D'font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;
</span></span></span><![endif]><span style=3D'font-size:8.5pt;font-family:"=
Verdana","sans-serif";
color:black'>Microsoft XPS Document Writer.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:1.5pt;margin-right:0in;margin-bott=
om:1.5pt;
margin-left:25.5pt;text-indent:-.25in;mso-list:l6 level2 lfo9;tab-stops:lis=
t 1.0in'><![if !supportLists]><span
style=3D'font-size:10.0pt;mso-bidi-font-size:8.5pt;font-family:Symbol;mso-f=
areast-font-family:
Symbol;mso-bidi-font-family:Symbol;color:black'><span style=3D'mso-list:Ign=
ore'>&middot;<span
style=3D'font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;
</span></span></span><![endif]><span style=3D'font-size:8.5pt;font-family:"=
Verdana","sans-serif";
color:black'>Previous printer drivers, output from Win32 applications to the
fixed format.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:1.5pt;margin-right:0in;margin-bott=
om:1.5pt;
margin-left:25.5pt;text-indent:-.25in;mso-list:l6 level2 lfo9;tab-stops:lis=
t 1.0in'><![if !supportLists]><span
style=3D'font-size:10.0pt;mso-bidi-font-size:8.5pt;font-family:Symbol;mso-f=
areast-font-family:
Symbol;mso-bidi-font-family:Symbol;color:black'><span style=3D'mso-list:Ign=
ore'>&middot;<span
style=3D'font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;
</span></span></span><![endif]><span style=3D'font-size:8.5pt;font-family:"=
Verdana","sans-serif";
color:black'>Print spool format. <o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:1.5pt;margin-right:0in;margin-bott=
om:1.5pt;
margin-left:12.75pt;text-indent:-.25in;mso-list:l6 level1 lfo9;tab-stops:li=
st .5in'><![if !supportLists]><span
style=3D'font-size:10.0pt;mso-bidi-font-size:8.5pt;font-family:Symbol;mso-f=
areast-font-family:
Symbol;mso-bidi-font-family:Symbol;color:black'><span style=3D'mso-list:Ign=
ore'>&middot;<span
style=3D'font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;
</span></span></span><![endif]><span style=3D'font-size:8.5pt;font-family:"=
Verdana","sans-serif";
color:black'>Fixed-format document representation, including clients for
previous versions of Windows and other computing devices.<o:p></o:p></span>=
</p>

<div>

<table class=3DMsoNormalTable border=3D0 cellspacing=3D0 cellpadding=3D0 wi=
dth=3D"98%"
style=3D'width:98.9%;mso-cellspacing:0in;mso-yfti-tbllook:1184;mso-padding-=
alt:
0in 0in 0in 0in'>
<tr style=3D'mso-yfti-irow:0;mso-yfti-firstrow:yes'>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:0in 3=
.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><!--[if gte vml 1]><v:shape id=3D"Picture_x0020_27"
  o:spid=3D"_x0000_i1047" type=3D"#_x0000_t75" alt=3D"Note" style=3D'width:=
24pt;
  height:24pt;visibility:visible;mso-wrap-style:square'>
  <v:imagedata src=3D"OptimizingWPFApplicationPerformance_files/image013.gi=
f"
   o:title=3D"Note"/>
 </v:shape><![endif]--><![if !vml]><img border=3D0 width=3D32 height=3D32
 src=3D"OptimizingWPFApplicationPerformance_files/image014.gif" alt=3DNote =
v:shapes=3D"Picture_x0020_27"><![endif]><b><span
 style=3D'font-size:13.5pt;font-family:"Verdana","sans-serif";mso-fareast-f=
ont-family:
 "Times New Roman";color:#000066'>Note: <o:p></o:p></span></b></p>
 </td>
</tr>
<tr style=3D'mso-yfti-irow:1;mso-yfti-lastrow:yes'>
 <td valign=3Dtop style=3D'border-top:solid white 1.0pt;border-left:none;
 border-bottom:solid #D5D5D3 1.0pt;border-right:none;mso-border-top-alt:sol=
id white .75pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:0in 3=
.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:.75pt;margin-=
bottom:
 6.0pt;margin-left:.75pt'><b><span style=3D'font-size:13.5pt;font-family:"V=
erdana","sans-serif";
 color:black'>Glyphs</span></b><span style=3D'font-size:13.5pt;font-family:=
"Verdana","sans-serif";
 color:black'> and <b>GlyphRun</b> are designed for fixed-format document
 presentation and print scenarios. Windows Presentation Foundation (WPF)
 provides several elements for general layout and user interface (UI) scena=
rios
 such as Label and <b>TextBlock</b>. For more information on layout and UI
 scenarios, see the &#8216;Typography in Windows Presentation Foundation&#8=
217;
 (topic available in the SDK).<o:p></o:p></span></p>
 </td>
</tr>
</table>

</div>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>The following examples show how to define properties for a <b>=
Glyphs</b>
object in Extensible Application Markup Language (XAML). The <b>Glyphs</b>
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 <b>C=
:\WINDOWS\Fonts</b>
folder on the local computer.<o:p></o:p></span></p>

<div><span codeLanguage=3DXAML>

<table class=3DMsoNormalTable border=3D0 cellspacing=3D0 cellpadding=3D0 wi=
dth=3D"98%"
style=3D'width:98.9%;mso-cellspacing:0in;mso-yfti-tbllook:1184;mso-padding-=
alt:
0in 0in 0in 0in'>
<tr style=3D'mso-yfti-irow:0;mso-yfti-firstrow:yes'>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:0in 3=
.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><b><span style=3D'font-size:13.5pt;font-family:"Ve=
rdana","sans-serif";
 mso-fareast-font-family:"Times New Roman";color:#000066'>XAML&nbsp;<o:p></=
o:p></span></b></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:0in 3=
.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><!--[if gte vml 1]><v:shape id=3D"Picture_x0020_28"
  o:spid=3D"_x0000_i1046" type=3D"#_x0000_t75" alt=3D"CopyCode image" style=
=3D'width:24pt;
  height:24pt;visibility:visible;mso-wrap-style:square'>
  <v:imagedata src=3D"OptimizingWPFApplicationPerformance_files/image007.gi=
f"
   o:title=3D"CopyCode image"/>
 </v:shape><![endif]--><![if !vml]><img border=3D0 width=3D32 height=3D32
 src=3D"OptimizingWPFApplicationPerformance_files/image008.gif"
 alt=3D"CopyCode image" v:shapes=3D"Picture_x0020_28"><![endif]><span onkey=
press=3D"CopyCode_CheckKey(this)"
 onmouseover=3D"ChangeCopyCodeIcon(this)" onfocusout=3D"ChangeCopyCodeIcon(=
this)"
 onclick=3D"CopyCode(this)" onfocusin=3D"ChangeCopyCodeIcon(this)" tabIndex=
=3D0
 onmouseout=3D"ChangeCopyCodeIcon(this)"><span class=3Dcopycode><span
 style=3D'mso-ansi-font-size:12.0pt;mso-bidi-font-size:12.0pt;font-family:"=
Verdana","sans-serif";
 mso-fareast-font-family:"Times New Roman"'>Copy Code</span></span></span><=
b><span
 style=3D'font-size:13.5pt;font-family:"Verdana","sans-serif";mso-fareast-f=
ont-family:
 "Times New Roman";color:#000066'><o:p></o:p></span></b></p>
 </td>
</tr>
<tr style=3D'mso-yfti-irow:1;mso-yfti-lastrow:yes'>
 <td colspan=3D2 valign=3Dtop style=3D'border-top:solid white 1.0pt;border-=
left:none;
 border-bottom:solid #D5D5D3 1.0pt;border-right:none;mso-border-top-alt:sol=
id white .75pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>&lt;!--=
 The
 example shows how to use a Glyphs object. --&gt;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>&lt;Pag=
e<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;
 </span>xmlns=3D&quot;http://schemas.microsoft.com/winfx/2006/xaml/presenta=
tion&quot;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp; </span>xmlns:x=3D&quot;http://schemas.mi=
crosoft.com/winfx/2006/xaml&quot;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp; </span>&gt;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp; </span>&lt;StackPanel
 Background=3D&quot;PowderBlue&quot;&gt;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;Glyph=
s<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span>FontUri<span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;
 </span>=3D &quot;C:\WINDOWS\Fonts\TIMES.TTF&quot;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span>FontRenderingEmSize =3D &quot;100&quot;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span>StyleSimulations<span style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;
 </span>=3D &quot;BoldSimulation&quot;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span>UnicodeString<span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>=3D
 &quot;Hello World!&quot;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span>Fill<span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span>=3D &quot;Black&quot;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span>OriginX<span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;
 </span>=3D &quot;100&quot;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span>OriginY<span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;
 </span>=3D &quot;200&quot;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>/&gt;<o:p=
></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp; </span>&lt;/StackPanel&gt;<o:p></o=
:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>&lt;/Pa=
ge&gt;<o:p></o:p></span></p>
 </td>
</tr>
</table>

</span><SECTIONS   xmlns=3D"http://ddue.schemas.microsoft.com/authoring/200=
3/5"></div>

<h4 style=3D'margin-bottom:3.0pt' xmlns=3D""><span style=3D'font-size:9.5pt;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black'>Using DrawGlyphRun<o:p></o:p></span></h4>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>If you have custom control and you want to render glyphs, use =
the DrawGlyphRun
method.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>WPF also provides lower-level services for custom text formatt=
ing
through the use of the <b>FormattedText</b> object. The most efficient way =
of
rendering text in Windows Presentation Foundation (WPF) is by generating te=
xt
content at the glyph level using <b>Glyphs</b> and <b>GlyphRun</b>. 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) contro=
ls,
such as <b>TextBlock</b> and <b>FlowDocument</b>.<o:p></o:p></span></p>

</div>

</div>

</SECTIONS>

<h3 style=3D'margin-bottom:3.0pt' xmlns=3D""><span style=3D'font-size:10.0p=
t;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black'>FormattedText Object<o:p></o:p></span></h3>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>The <b>FormattedText</b> object allows you to draw multi-line
text, in which each character in the text can be individually formatted. For
more information, see &#8216;Drawing Formatted Text&#8217; (topic available=
 in
the SDK).<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>To create formatted text, call the FormattedText constructor to
create a <b>FormattedText</b> 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 <b>FormattedText</b>
object is better choice than using a control, such as <b>TextBlock</b>. For
more information on the <b>FormattedText</b> object, see Drawing Formatted =
Text
.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>The <b>FormattedText</b> object provides low-level text format=
ting
capability. You can apply multiple formatting styles to one or more charact=
ers.
For example, you could call both the SetFontSize and SetForegroundBrush met=
hods
to change the formatting of the first five characters in the text.<o:p></o:=
p></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>The following code example creates a <b>FormattedText</b> obje=
ct
and renders it.<o:p></o:p></span></p>

<div><span codeLanguage=3DCSharp>

<table class=3DMsoNormalTable border=3D0 cellspacing=3D0 cellpadding=3D0 wi=
dth=3D"98%"
style=3D'width:98.9%;mso-cellspacing:0in;mso-yfti-tbllook:1184;mso-padding-=
alt:
0in 0in 0in 0in'>
<tr style=3D'mso-yfti-irow:0;mso-yfti-firstrow:yes'>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:0in 3=
.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><b><span style=3D'font-size:13.5pt;font-family:"Ve=
rdana","sans-serif";
 mso-fareast-font-family:"Times New Roman";color:#000066'>C#&nbsp;<o:p></o:=
p></span></b></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:0in 3=
.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><!--[if gte vml 1]><v:shape id=3D"Picture_x0020_29"
  o:spid=3D"_x0000_i1045" type=3D"#_x0000_t75" alt=3D"CopyCode image" style=
=3D'width:24pt;
  height:24pt;visibility:visible;mso-wrap-style:square'>
  <v:imagedata src=3D"OptimizingWPFApplicationPerformance_files/image007.gi=
f"
   o:title=3D"CopyCode image"/>
 </v:shape><![endif]--><![if !vml]><img border=3D0 width=3D32 height=3D32
 src=3D"OptimizingWPFApplicationPerformance_files/image008.gif"
 alt=3D"CopyCode image" v:shapes=3D"Picture_x0020_29"><![endif]><span onkey=
press=3D"CopyCode_CheckKey(this)"
 onmouseover=3D"ChangeCopyCodeIcon(this)" onfocusout=3D"ChangeCopyCodeIcon(=
this)"
 onclick=3D"CopyCode(this)" onfocusin=3D"ChangeCopyCodeIcon(this)" tabIndex=
=3D0
 onmouseout=3D"ChangeCopyCodeIcon(this)"><span class=3Dcopycode><span
 style=3D'mso-ansi-font-size:12.0pt;mso-bidi-font-size:12.0pt;font-family:"=
Verdana","sans-serif";
 mso-fareast-font-family:"Times New Roman"'>Copy Code</span></span></span><=
b><span
 style=3D'font-size:13.5pt;font-family:"Verdana","sans-serif";mso-fareast-f=
ont-family:
 "Times New Roman";color:#000066'><o:p></o:p></span></b></p>
 </td>
</tr>
<tr style=3D'mso-yfti-irow:1;mso-yfti-lastrow:yes'>
 <td colspan=3D2 valign=3Dtop style=3D'border-top:solid white 1.0pt;border-=
left:none;
 border-bottom:solid #D5D5D3 1.0pt;border-right:none;mso-border-top-alt:sol=
id white .75pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>protect=
ed
 override void OnRender(DrawingContext drawingContext)<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>{<o:p><=
/o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp; </span>string testString =3D
 &quot;Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiu=
smod
 tempor&quot;;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp; </span>// Create the initial
 formatted text string.<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp; </span>FormattedText formatt=
edText
 =3D new FormattedText(<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span>testString,<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span>CultureInfo.GetCultureInfo(&quot;en-us&quot;),<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span>FlowDirection.LeftToRight,<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </sp=
an>new
 Typeface(&quot;Verdana&quot;),<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </sp=
an>32,<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span>Brushes.Black);<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp; </span>// Set a maximum widt=
h and
 height. If the text overflows these values, an ellipsis &quot;...&quot;
 appears.<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp; </span>formattedText.MaxText=
Width
 =3D 300;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp; </span>formattedText.MaxText=
Height
 =3D 240;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp; </span>// Use a larger font =
size
 beginning at the first (zero-based) character and continuing for 5 charact=
ers.<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp; </span>// The font size is
 calculated in terms of points -- not as device-independent pixels.<o:p></o=
:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;
 </span>formattedText.SetFontSize(36 * (96.0 / 72.0), 0, 5);<o:p></o:p></sp=
an></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp; </span>// Use a Bold font we=
ight
 beginning at the 6th character and continuing for 11 characters.<o:p></o:p=
></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;
 </span>formattedText.SetFontWeight(FontWeights.Bold, 6, 11);<o:p></o:p></s=
pan></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp; </span>// Use a linear gradi=
ent
 brush beginning at the 6th character and continuing for 11 characters.<o:p=
></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;
 </span>formattedText.SetForegroundBrush(<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span>new LinearGradientBrush(<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span>Colors.Orange,<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span>Colors.Teal,<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span>90.0),<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span>6, 11);<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp; </span>// Use an Italic font=
 style
 beginning at the 28th character and continuing for 28 characters.<o:p></o:=
p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;
 </span>formattedText.SetFontStyle(FontStyles.Italic, 28, 28);<o:p></o:p></=
span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp; </span>// Draw the formatted=
 text
 string to the DrawingContext of the control.<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp; </span>drawingContext.DrawTe=
xt(formattedText,
 new Point(10, 0));<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>}<o:p><=
/o:p></span></p>
 </td>
</tr>
</table>

</span></div>

</div>

<h3 style=3D'margin-bottom:3.0pt' xmlns=3D""><span style=3D'font-size:10.0p=
t;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black'>FlowDocument, TextBlock, and Label Controls<o:p></o:p></span><=
/h3>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>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.<o:p></o:p></span></p>

<SECTIONS   xmlns=3D"http://ddue.schemas.microsoft.com/authoring/2003/5">

<h4 style=3D'margin-bottom:3.0pt' xmlns=3D""><span style=3D'font-size:9.5pt;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black'>FlowDocument Impacts Performance More than TextBlock or Label<=
o:p></o:p></span></h4>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>In general, the <b>TextBlock</b> element should be used when
limited text support is required, such as a brief sentence in a user interf=
ace
(UI). <b>Label</b> can be used when minimal text support is required. The <=
b>FlowDocument</b>
element is a container for re-flowable documents that support rich presenta=
tion
of content, and therefore, has a greater performance impact than using the =
<b>TextBlock</b>
or <b>Label</b> controls.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>For more information on <b>FlowDocument</b>, see &#8216;Flow
Document Overview&#8217; (topic available in the SDK).<o:p></o:p></span></p>

</div>

<h4 style=3D'margin-bottom:3.0pt' xmlns=3D""><span style=3D'font-size:9.5pt;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black'>Avoid Using TextBlock in FlowDocument<o:p></o:p></span></h4>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>The <b>TextBlock</b> element is derived from <b>UIElement</b>.=
 The
Run element is derived from TextElement, which is less costly to use than a=
 <b>UIElement</b>-derived
object. When possible, use <b>Run</b> rather than <b>TextBlock</b> for disp=
laying
text content in a <b>FlowDocument</b>.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>The following markup sample illustrates two ways of setting te=
xt
content within a <b>FlowDocument</b>:<o:p></o:p></span></p>

<div><span codeLanguage=3DXAML>

<table class=3DMsoNormalTable border=3D0 cellspacing=3D0 cellpadding=3D0 wi=
dth=3D"98%"
style=3D'width:98.9%;mso-cellspacing:0in;mso-yfti-tbllook:1184;mso-padding-=
alt:
0in 0in 0in 0in'>
<tr style=3D'mso-yfti-irow:0;mso-yfti-firstrow:yes'>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:0in 3=
.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><b><span style=3D'font-size:13.5pt;font-family:"Ve=
rdana","sans-serif";
 mso-fareast-font-family:"Times New Roman";color:#000066'>XAML&nbsp;<o:p></=
o:p></span></b></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:0in 3=
.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><!--[if gte vml 1]><v:shape id=3D"Picture_x0020_30"
  o:spid=3D"_x0000_i1044" type=3D"#_x0000_t75" alt=3D"CopyCode image" style=
=3D'width:24pt;
  height:24pt;visibility:visible;mso-wrap-style:square'>
  <v:imagedata src=3D"OptimizingWPFApplicationPerformance_files/image007.gi=
f"
   o:title=3D"CopyCode image"/>
 </v:shape><![endif]--><![if !vml]><img border=3D0 width=3D32 height=3D32
 src=3D"OptimizingWPFApplicationPerformance_files/image008.gif"
 alt=3D"CopyCode image" v:shapes=3D"Picture_x0020_30"><![endif]><span onkey=
press=3D"CopyCode_CheckKey(this)"
 onmouseover=3D"ChangeCopyCodeIcon(this)" onfocusout=3D"ChangeCopyCodeIcon(=
this)"
 onclick=3D"CopyCode(this)" onfocusin=3D"ChangeCopyCodeIcon(this)" tabIndex=
=3D0
 onmouseout=3D"ChangeCopyCodeIcon(this)"><span class=3Dcopycode><span
 style=3D'mso-ansi-font-size:12.0pt;mso-bidi-font-size:12.0pt;font-family:"=
Verdana","sans-serif";
 mso-fareast-font-family:"Times New Roman"'>Copy Code</span></span></span><=
b><span
 style=3D'font-size:13.5pt;font-family:"Verdana","sans-serif";mso-fareast-f=
ont-family:
 "Times New Roman";color:#000066'><o:p></o:p></span></b></p>
 </td>
</tr>
<tr style=3D'mso-yfti-irow:1;mso-yfti-lastrow:yes'>
 <td colspan=3D2 valign=3Dtop style=3D'border-top:solid white 1.0pt;border-=
left:none;
 border-bottom:solid #D5D5D3 1.0pt;border-right:none;mso-border-top-alt:sol=
id white .75pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>&lt;Flo=
wDocument&gt;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp; </span>&lt;!-- Text content within a Run=
 (more
 efficient). --&gt;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp; </span>&lt;Paragraph&gt;<o:p></o:p></spa=
n></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp; </span>&lt;Run&gt;Line
 one&lt;/Run&gt;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp; </span>&lt;/Paragraph&gt;<o:p></o:p></sp=
an></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp; </span>&lt;!-- Text content within a Tex=
tBlock
 (less efficient). --&gt;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp; </span>&lt;Paragraph&gt;<o:p></o:p></spa=
n></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp; </span>&lt;TextBlock&gt;Line
 two&lt;/TextBlock&gt;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp; </span>&lt;/Paragraph&gt;<o:p></o:p></sp=
an></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>&lt;/Fl=
owDocument&gt;<o:p></o:p></span></p>
 </td>
</tr>
</table>

</span></div>

</div>

<h4 style=3D'margin-bottom:3.0pt' xmlns=3D""><span style=3D'font-size:9.5pt;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black'>Avoid Using TextBlock to Set Text Properties<o:p></o:p></span>=
</h4>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>In general, using a <b>Run</b> within a <b>TextBlock</b> is mo=
re
performance intensive than not using an explicit <b>Run</b> object at all. =
If
you are using a <b>Run</b> in order to set text properties, set those
properties directly on the <b>TextBlock</b> instead.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>The following markup sample illustrates these two ways of sett=
ing
a text property, in this case, the FontWeight property:<o:p></o:p></span></=
p>

<div><span codeLanguage=3DXAML>

<table class=3DMsoNormalTable border=3D0 cellspacing=3D0 cellpadding=3D0 wi=
dth=3D"98%"
style=3D'width:98.9%;mso-cellspacing:0in;mso-yfti-tbllook:1184;mso-padding-=
alt:
0in 0in 0in 0in'>
<tr style=3D'mso-yfti-irow:0;mso-yfti-firstrow:yes'>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:0in 3=
.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><b><span style=3D'font-size:13.5pt;font-family:"Ve=
rdana","sans-serif";
 mso-fareast-font-family:"Times New Roman";color:#000066'>XAML&nbsp;<o:p></=
o:p></span></b></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:0in 3=
.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><!--[if gte vml 1]><v:shape id=3D"Picture_x0020_31"
  o:spid=3D"_x0000_i1043" type=3D"#_x0000_t75" alt=3D"CopyCode image" style=
=3D'width:24pt;
  height:24pt;visibility:visible;mso-wrap-style:square'>
  <v:imagedata src=3D"OptimizingWPFApplicationPerformance_files/image007.gi=
f"
   o:title=3D"CopyCode image"/>
 </v:shape><![endif]--><![if !vml]><img border=3D0 width=3D32 height=3D32
 src=3D"OptimizingWPFApplicationPerformance_files/image008.gif"
 alt=3D"CopyCode image" v:shapes=3D"Picture_x0020_31"><![endif]><span onkey=
press=3D"CopyCode_CheckKey(this)"
 onmouseover=3D"ChangeCopyCodeIcon(this)" onfocusout=3D"ChangeCopyCodeIcon(=
this)"
 onclick=3D"CopyCode(this)" onfocusin=3D"ChangeCopyCodeIcon(this)" tabIndex=
=3D0
 onmouseout=3D"ChangeCopyCodeIcon(this)"><span class=3Dcopycode><span
 style=3D'mso-ansi-font-size:12.0pt;mso-bidi-font-size:12.0pt;font-family:"=
Verdana","sans-serif";
 mso-fareast-font-family:"Times New Roman"'>Copy Code</span></span></span><=
b><span
 style=3D'font-size:13.5pt;font-family:"Verdana","sans-serif";mso-fareast-f=
ont-family:
 "Times New Roman";color:#000066'><o:p></o:p></span></b></p>
 </td>
</tr>
<tr style=3D'mso-yfti-irow:1;mso-yfti-lastrow:yes'>
 <td colspan=3D2 valign=3Dtop style=3D'border-top:solid white 1.0pt;border-=
left:none;
 border-bottom:solid #D5D5D3 1.0pt;border-right:none;mso-border-top-alt:sol=
id white .75pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>&lt;!--=
 Run
 is used to set text properties. --&gt;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>&lt;Tex=
tBlock&gt;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp; </span>&lt;Run
 FontWeight=3D&quot;Bold&quot;&gt;Hello, world&lt;/Run&gt;<o:p></o:p></span=
></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>&lt;/Te=
xtBlock&gt;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>&lt;!--
 TextBlock is used to set text properties, which is more efficient. --&gt;<=
o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>&lt;Tex=
tBlock
 FontWeight=3D&quot;Bold&quot;&gt;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp; </span>Hello, world<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>&lt;/Te=
xtBlock&gt;<o:p></o:p></span></p>
 </td>
</tr>
</table>

</span></div>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>The following table shows the cost of displaying 1000 <b>TextB=
lock</b>
objects with and without an explicit <b>Run</b>.<o:p></o:p></span></p>

<div>

<table class=3DMsoNormalTable border=3D0 cellpadding=3D0 width=3D"98%"
style=3D'width:98.9%;mso-cellspacing:1.5pt;mso-yfti-tbllook:1184;mso-paddin=
g-alt:
3.75pt 3.75pt 3.75pt 3.75pt'>
<tr style=3D'mso-yfti-irow:0;mso-yfti-firstrow:yes'>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><b><span style=3D'font-size:13.5pt;font-family:"Ve=
rdana","sans-serif";
 mso-fareast-font-family:"Times New Roman";color:#000066'>TextBlock type<o:=
p></o:p></span></b></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><b><span style=3D'font-size:13.5pt;font-family:"Ve=
rdana","sans-serif";
 mso-fareast-font-family:"Times New Roman";color:#000066'>Creation time (ms=
)<o:p></o:p></span></b></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><b><span style=3D'font-size:13.5pt;font-family:"Ve=
rdana","sans-serif";
 mso-fareast-font-family:"Times New Roman";color:#000066'>Render time (ms)<=
o:p></o:p></span></b></p>
 </td>
</tr>
<tr style=3D'mso-yfti-irow:1'>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>Run setting text properties<o:p></o:p></span></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>146<o:p></o:p></span></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>540<o:p></o:p></span></p>
 </td>
</tr>
<tr style=3D'mso-yfti-irow:2;mso-yfti-lastrow:yes'>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>TextBlock setting text properties<o:p></o:p></span></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>43<o:p></o:p></span></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>453<o:p></o:p></span></p>
 </td>
</tr>
</table>

</div>

</div>

<h4 style=3D'margin-bottom:3.0pt' xmlns=3D""><span style=3D'font-size:9.5pt;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black'>Avoid Databinding to the Label.Content Property<o:p></o:p></sp=
an></h4>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>Imagine a scenario where you have a <b>Label</b> object that is
updated frequently from a String source. When data binding the <b>Label</b>
element's Content property to the <b>String</b> source object, you may
experience poor performance. Each time the source <b>String</b> is updated,=
 the
old <b>String</b> object is discarded and a new <b>String</b> is
recreated&#8212;because a <b>String</b> object is immutable, it cannot be
modified. This, in turn, causes the ContentPresenter of the <b>Label</b> ob=
ject
to discard its old content and regenerate the new content to display the ne=
w <b>String</b>.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>The solution to this problem is simple. If the <b>Label</b> is=
 not
set to a custom ContentTemplate value, replace the <b>Label</b> with a <b>T=
extBlock</b>
and data bind its Text property to the source string.<o:p></o:p></span></p>

<div>

<table class=3DMsoNormalTable border=3D0 cellpadding=3D0 width=3D"98%"
style=3D'width:98.9%;mso-cellspacing:1.5pt;mso-yfti-tbllook:1184;mso-paddin=
g-alt:
3.75pt 3.75pt 3.75pt 3.75pt'>
<tr style=3D'mso-yfti-irow:0;mso-yfti-firstrow:yes'>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><b><span style=3D'font-size:13.5pt;font-family:"Ve=
rdana","sans-serif";
 mso-fareast-font-family:"Times New Roman";color:#000066'>Data bound proper=
ty<o:p></o:p></span></b></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><b><span style=3D'font-size:13.5pt;font-family:"Ve=
rdana","sans-serif";
 mso-fareast-font-family:"Times New Roman";color:#000066'>Update time (ms)<=
o:p></o:p></span></b></p>
 </td>
</tr>
<tr style=3D'mso-yfti-irow:1'>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>Label.Content<o:p></o:p></span></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>835<o:p></o:p></span></p>
 </td>
</tr>
<tr style=3D'mso-yfti-irow:2;mso-yfti-lastrow:yes'>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>TextBlock.Text<o:p></o:p></span></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>242<o:p></o:p></span></p>
 </td>
</tr>
</table>

</SECTIONS></div>

</div>

</div>

<h3 style=3D'margin-bottom:3.0pt' xmlns=3D""><span style=3D'font-size:10.0p=
t;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black'>Hyperlink<o:p></o:p></span></h3>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>The Hyperlink object is an inline-level flow content element t=
hat
allows you to host hyperlinks within the flow content.<o:p></o:p></span></p>

<SECTIONS   xmlns=3D"http://ddue.schemas.microsoft.com/authoring/2003/5">

<h4 style=3D'margin-bottom:3.0pt' xmlns=3D""><span style=3D'font-size:9.5pt;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black'>Combine Hyperlinks in One TextBlock Object<o:p></o:p></span></=
h4>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>You can optimize the use of multiple <b>Hyperlink</b> elements=
 by
grouping them together within the same <b>TextBlock</b>. This helps to mini=
mize
the number of objects you create in your application. For example, you may =
want
to display multiple hyperlinks, such as the following:<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>MSN Home | My MSN<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>The following markup example shows multiple <b>TextBlock</b>
elements used to display the hyperlinks:<o:p></o:p></span></p>

<div><span codeLanguage=3DXAML>

<table class=3DMsoNormalTable border=3D0 cellspacing=3D0 cellpadding=3D0 wi=
dth=3D"98%"
style=3D'width:98.9%;mso-cellspacing:0in;mso-yfti-tbllook:1184;mso-padding-=
alt:
0in 0in 0in 0in'>
<tr style=3D'mso-yfti-irow:0;mso-yfti-firstrow:yes'>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:0in 3=
.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><b><span style=3D'font-size:13.5pt;font-family:"Ve=
rdana","sans-serif";
 mso-fareast-font-family:"Times New Roman";color:#000066'>XAML&nbsp;<o:p></=
o:p></span></b></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:0in 3=
.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><!--[if gte vml 1]><v:shape id=3D"Picture_x0020_32"
  o:spid=3D"_x0000_i1042" type=3D"#_x0000_t75" alt=3D"CopyCode image" style=
=3D'width:24pt;
  height:24pt;visibility:visible;mso-wrap-style:square'>
  <v:imagedata src=3D"OptimizingWPFApplicationPerformance_files/image007.gi=
f"
   o:title=3D"CopyCode image"/>
 </v:shape><![endif]--><![if !vml]><img border=3D0 width=3D32 height=3D32
 src=3D"OptimizingWPFApplicationPerformance_files/image008.gif"
 alt=3D"CopyCode image" v:shapes=3D"Picture_x0020_32"><![endif]><span onkey=
press=3D"CopyCode_CheckKey(this)"
 onmouseover=3D"ChangeCopyCodeIcon(this)" onfocusout=3D"ChangeCopyCodeIcon(=
this)"
 onclick=3D"CopyCode(this)" onfocusin=3D"ChangeCopyCodeIcon(this)" tabIndex=
=3D0
 onmouseout=3D"ChangeCopyCodeIcon(this)"><span class=3Dcopycode><span
 style=3D'mso-ansi-font-size:12.0pt;mso-bidi-font-size:12.0pt;font-family:"=
Verdana","sans-serif";
 mso-fareast-font-family:"Times New Roman"'>Copy Code</span></span></span><=
b><span
 style=3D'font-size:13.5pt;font-family:"Verdana","sans-serif";mso-fareast-f=
ont-family:
 "Times New Roman";color:#000066'><o:p></o:p></span></b></p>
 </td>
</tr>
<tr style=3D'mso-yfti-irow:1;mso-yfti-lastrow:yes'>
 <td colspan=3D2 valign=3Dtop style=3D'border-top:solid white 1.0pt;border-=
left:none;
 border-bottom:solid #D5D5D3 1.0pt;border-right:none;mso-border-top-alt:sol=
id white .75pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>&lt;!--
 Hyperlinks in separate TextBlocks. --&gt;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>&lt;Tex=
tBlock&gt;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp; </span>&lt;Hyperlink
 TextDecorations=3D&quot;None&quot;
 NavigateUri=3D&quot;http://www.msn.com&quot;&gt;MSN Home&lt;/Hyperlink&gt;=
<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>&lt;/Te=
xtBlock&gt;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>&lt;Tex=
tBlock
 Text=3D&quot; | &quot;/&gt;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>&lt;Tex=
tBlock&gt;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp; </span>&lt;Hyperlink
 TextDecorations=3D&quot;None&quot;
 NavigateUri=3D&quot;http://my.msn.com&quot;&gt;My MSN&lt;/Hyperlink&gt;<o:=
p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>&lt;/Te=
xtBlock&gt;<o:p></o:p></span></p>
 </td>
</tr>
</table>

</span></div>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>The following markup example shows a more efficient way of
displaying the hyperlinks, this time, using a single <b>TextBlock</b>:<o:p>=
</o:p></span></p>

<div><span codeLanguage=3DXAML>

<table class=3DMsoNormalTable border=3D0 cellspacing=3D0 cellpadding=3D0 wi=
dth=3D"98%"
style=3D'width:98.9%;mso-cellspacing:0in;mso-yfti-tbllook:1184;mso-padding-=
alt:
0in 0in 0in 0in'>
<tr style=3D'mso-yfti-irow:0;mso-yfti-firstrow:yes'>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:0in 3=
.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><b><span style=3D'font-size:13.5pt;font-family:"Ve=
rdana","sans-serif";
 mso-fareast-font-family:"Times New Roman";color:#000066'>XAML&nbsp;<o:p></=
o:p></span></b></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:0in 3=
.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><!--[if gte vml 1]><v:shape id=3D"Picture_x0020_33"
  o:spid=3D"_x0000_i1041" type=3D"#_x0000_t75" alt=3D"CopyCode image" style=
=3D'width:24pt;
  height:24pt;visibility:visible;mso-wrap-style:square'>
  <v:imagedata src=3D"OptimizingWPFApplicationPerformance_files/image007.gi=
f"
   o:title=3D"CopyCode image"/>
 </v:shape><![endif]--><![if !vml]><img border=3D0 width=3D32 height=3D32
 src=3D"OptimizingWPFApplicationPerformance_files/image008.gif"
 alt=3D"CopyCode image" v:shapes=3D"Picture_x0020_33"><![endif]><span onkey=
press=3D"CopyCode_CheckKey(this)"
 onmouseover=3D"ChangeCopyCodeIcon(this)" onfocusout=3D"ChangeCopyCodeIcon(=
this)"
 onclick=3D"CopyCode(this)" onfocusin=3D"ChangeCopyCodeIcon(this)" tabIndex=
=3D0
 onmouseout=3D"ChangeCopyCodeIcon(this)"><span class=3Dcopycode><span
 style=3D'mso-ansi-font-size:12.0pt;mso-bidi-font-size:12.0pt;font-family:"=
Verdana","sans-serif";
 mso-fareast-font-family:"Times New Roman"'>Copy Code</span></span></span><=
b><span
 style=3D'font-size:13.5pt;font-family:"Verdana","sans-serif";mso-fareast-f=
ont-family:
 "Times New Roman";color:#000066'><o:p></o:p></span></b></p>
 </td>
</tr>
<tr style=3D'mso-yfti-irow:1;mso-yfti-lastrow:yes'>
 <td colspan=3D2 valign=3Dtop style=3D'border-top:solid white 1.0pt;border-=
left:none;
 border-bottom:solid #D5D5D3 1.0pt;border-right:none;mso-border-top-alt:sol=
id white .75pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>&lt;!--
 Hyperlinks combined in the same TextBlock. --&gt;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>&lt;Tex=
tBlock&gt;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp; </span>&lt;Hyperlink
 TextDecorations=3D&quot;None&quot;
 NavigateUri=3D&quot;http://www.msn.com&quot;&gt;MSN Home&lt;/Hyperlink&gt;=
<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp; </span><o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp; </span>&lt;Run Text=3D&quot; | &quot; /&=
gt;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp; </span><o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp; </span>&lt;Hyperlink
 TextDecorations=3D&quot;None&quot;
 NavigateUri=3D&quot;http://my.msn.com&quot;&gt;My MSN&lt;/Hyperlink&gt;<o:=
p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>&lt;/Te=
xtBlock&gt;<o:p></o:p></span></p>
 </td>
</tr>
</table>

</span></div>

</div>

<h4 style=3D'margin-bottom:3.0pt' xmlns=3D""><span style=3D'font-size:9.5pt;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black'>Showing Underlines on Hyperlinks Only on MouseEnter Events<o:p=
></o:p></span></h4>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>A TextDecoration object is a visual ornamentation that you can=
 add
to text; however, it can be performance intensive to instantiate. If you ma=
ke
extensive use of <b>Hyperlink</b> elements, consider showing an underline o=
nly
when triggering an event, such as the MouseEnter event. For more informatio=
n,
see &#8216;How to: Use a Text Decoration with a Hyperlink&#8217; (topic
available in the SDK).<o:p></o:p></span></p>

<div>

<p class=3DMsoNormal><b><span style=3D'font-size:8.5pt;font-family:"Verdana=
","sans-serif";
mso-fareast-font-family:"Times New Roman";color:#003399'>Hyperlink appearin=
g on
MouseEnter </span></b><span style=3D'font-size:8.5pt;font-family:"Verdana",=
"sans-serif";
mso-fareast-font-family:"Times New Roman";color:#003399'><o:p></o:p></span>=
</p>

</div>

<p class=3DMsoNormal><!--[if gte vml 1]><v:shape id=3D"Picture_x0020_34" o:=
spid=3D"_x0000_i1040"
type=3D"#_x0000_t75" alt=3D"Hyperlinks displaying TextDecorations" style=3D=
'width:24pt;
height:24pt;visibility:visible;mso-wrap-style:square'>
<v:imagedata src=3D"OptimizingWPFApplicationPerformance_files/image015.png"
 o:title=3D"Hyperlinks displaying TextDecorations"/>
</v:shape><![endif]--><![if !vml]><img border=3D0 width=3D32 height=3D32
src=3D"OptimizingWPFApplicationPerformance_files/image016.jpg"
alt=3D"Hyperlinks displaying TextDecorations" v:shapes=3D"Picture_x0020_34"=
><![endif]><span
style=3D'font-size:8.5pt;font-family:"Verdana","sans-serif";mso-fareast-fon=
t-family:
"Times New Roman";color:black'><o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>The following markup sample shows a <b>Hyperlink</b> defined w=
ith
and without an underline:<o:p></o:p></span></p>

<div><span codeLanguage=3DXAML>

<table class=3DMsoNormalTable border=3D0 cellspacing=3D0 cellpadding=3D0 wi=
dth=3D"98%"
style=3D'width:98.9%;mso-cellspacing:0in;mso-yfti-tbllook:1184;mso-padding-=
alt:
0in 0in 0in 0in'>
<tr style=3D'mso-yfti-irow:0;mso-yfti-firstrow:yes'>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:0in 3=
.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><b><span style=3D'font-size:13.5pt;font-family:"Ve=
rdana","sans-serif";
 mso-fareast-font-family:"Times New Roman";color:#000066'>XAML&nbsp;<o:p></=
o:p></span></b></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:0in 3=
.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><!--[if gte vml 1]><v:shape id=3D"Picture_x0020_35"
  o:spid=3D"_x0000_i1039" type=3D"#_x0000_t75" alt=3D"CopyCode image" style=
=3D'width:24pt;
  height:24pt;visibility:visible;mso-wrap-style:square'>
  <v:imagedata src=3D"OptimizingWPFApplicationPerformance_files/image007.gi=
f"
   o:title=3D"CopyCode image"/>
 </v:shape><![endif]--><![if !vml]><img border=3D0 width=3D32 height=3D32
 src=3D"OptimizingWPFApplicationPerformance_files/image008.gif"
 alt=3D"CopyCode image" v:shapes=3D"Picture_x0020_35"><![endif]><span onkey=
press=3D"CopyCode_CheckKey(this)"
 onmouseover=3D"ChangeCopyCodeIcon(this)" onfocusout=3D"ChangeCopyCodeIcon(=
this)"
 onclick=3D"CopyCode(this)" onfocusin=3D"ChangeCopyCodeIcon(this)" tabIndex=
=3D0
 onmouseout=3D"ChangeCopyCodeIcon(this)"><span class=3Dcopycode><span
 style=3D'mso-ansi-font-size:12.0pt;mso-bidi-font-size:12.0pt;font-family:"=
Verdana","sans-serif";
 mso-fareast-font-family:"Times New Roman"'>Copy Code</span></span></span><=
b><span
 style=3D'font-size:13.5pt;font-family:"Verdana","sans-serif";mso-fareast-f=
ont-family:
 "Times New Roman";color:#000066'><o:p></o:p></span></b></p>
 </td>
</tr>
<tr style=3D'mso-yfti-irow:1;mso-yfti-lastrow:yes'>
 <td colspan=3D2 valign=3Dtop style=3D'border-top:solid white 1.0pt;border-=
left:none;
 border-bottom:solid #D5D5D3 1.0pt;border-right:none;mso-border-top-alt:sol=
id white .75pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>&lt;!--
 Hyperlink with default underline. --&gt;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>&lt;Hyp=
erlink
 NavigateUri=3D&quot;http://www.msn.com&quot;&gt;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp; </span>MSN Home<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>&lt;/Hy=
perlink&gt;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>&lt;Run
 Text=3D&quot; | &quot; /&gt;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>&lt;!--
 Hyperlink with no underline. --&gt;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>&lt;Hyp=
erlink
 Name=3D&quot;myHyperlink&quot; TextDecorations=3D&quot;None&quot;<o:p></o:=
p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;
 </span>MouseEnter=3D&quot;OnMouseEnter&quot;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;
 </span>MouseLeave=3D&quot;OnMouseLeave&quot;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;
 </span>NavigateUri=3D&quot;http://www.msn.com&quot;&gt;<o:p></o:p></span><=
/p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp; </span>My MSN<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>&lt;/Hy=
perlink&gt;<o:p></o:p></span></p>
 </td>
</tr>
</table>

</span></div>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>The following table shows the performance cost of displaying 1=
000 <b>Hyperlink</b>
elements with and without an underline.<o:p></o:p></span></p>

<div>

<table class=3DMsoNormalTable border=3D0 cellpadding=3D0 width=3D"98%"
style=3D'width:98.9%;mso-cellspacing:1.5pt;mso-yfti-tbllook:1184;mso-paddin=
g-alt:
3.75pt 3.75pt 3.75pt 3.75pt'>
<tr style=3D'mso-yfti-irow:0;mso-yfti-firstrow:yes'>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><b><span style=3D'font-size:13.5pt;font-family:"Ve=
rdana","sans-serif";
 mso-fareast-font-family:"Times New Roman";color:#000066'>Hyperlink<o:p></o=
:p></span></b></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><b><span style=3D'font-size:13.5pt;font-family:"Ve=
rdana","sans-serif";
 mso-fareast-font-family:"Times New Roman";color:#000066'>Creation time (ms=
)<o:p></o:p></span></b></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><b><span style=3D'font-size:13.5pt;font-family:"Ve=
rdana","sans-serif";
 mso-fareast-font-family:"Times New Roman";color:#000066'>Render time (ms)<=
o:p></o:p></span></b></p>
 </td>
</tr>
<tr style=3D'mso-yfti-irow:1'>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>With underline<o:p></o:p></span></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>289<o:p></o:p></span></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>1130<o:p></o:p></span></p>
 </td>
</tr>
<tr style=3D'mso-yfti-irow:2;mso-yfti-lastrow:yes'>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>Without underline<o:p></o:p></span></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>299<o:p></o:p></span></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>776<o:p></o:p></span></p>
 </td>
</tr>
</table>

</SECTIONS></div>

</div>

</div>

<h3 style=3D'margin-bottom:3.0pt' xmlns=3D""><span style=3D'font-size:10.0p=
t;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black'>Text Formatting Features<o:p></o:p></span></h3>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>WPF provides rich text formatting services, such as automatic
hyphenations. These services may impact application performance and should =
only
be used when needed.<o:p></o:p></span></p>

<SECTIONS xmlns=3D"http://ddue.schemas.microsoft.com/authoring/2003/5">

<h4 style=3D'margin-bottom:3.0pt' xmlns=3D""><span style=3D'font-size:9.5pt;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black'>Avoid Unnecessary Use of Hyphenation<o:p></o:p></span></h4>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>Automatic hyphenation finds hyphen breakpoints for lines of te=
xt,
and allows additional break positions for lines in <b>TextBlock</b> and <b>=
FlowDocument</b>
objects. By default, the automatic hyphenation feature is disabled in these
objects. You can enable this feature by setting the object's IsHyphenationE=
nabled
property to <b>true</b>. However, enabling this feature causes WPF to initi=
ate
Component Object Model (COM) interoperability, which can impact application
performance. It is recommended that you do not use automatic hyphenation un=
less
you need it.<o:p></o:p></span></p>

</div>

<h4 style=3D'margin-bottom:3.0pt' xmlns=3D""><span style=3D'font-size:9.5pt;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black'>Use Figures Carefully<o:p></o:p></span></h4>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>A Figure element represents a portion of flow content that can=
 be
absolutely-positioned within a page of content. In some cases, a <b>Figure<=
/b>
may cause an entire page to automatically reformat if its position collides
with content that has already been laid-out. You can minimize the possibili=
ty
of unnecessary reformatting by either grouping <b>Figure</b> elements next =
to
each other, or declaring them near the top of content in a fixed page size
scenario.<o:p></o:p></span></p>

</div>

<h4 style=3D'margin-bottom:3.0pt' xmlns=3D""><span style=3D'font-size:9.5pt;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black'>Optimal Paragraph<o:p></o:p></span></h4>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>The optimal paragraph feature of the <b>FlowDocument</b> object
lays out paragraphs so that white space is distributed as evenly as possibl=
e.
By default, the optimal paragraph feature is disabled. You can enable this
feature by setting the object's IsOptimalParagraphEnabled property to <b>tr=
ue</b>.
However, enabling this feature impacts application performance. It is
recommended that you do not use the optimal paragraph feature unless you ne=
ed
it.<o:p></o:p></span></p>

</div>

</div>

</div>

</SECTIONS>

<h1 style=3D'margin-top:13.5pt;margin-right:0in;margin-bottom:6.0pt;margin-=
left:
0in'><a name=3D"data_binding"></a><span style=3D'font-size:11.0pt;font-fami=
ly:"Verdana","sans-serif";
mso-fareast-font-family:"Times New Roman";color:#003399'></SECTIONS>Data
Binding<o:p></o:p></span></h1>

<div id=3DsectionSection7>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>Windows Presentation Foundation (WPF) data binding provides a
simple and consistent way for applications to present and interact with dat=
a.
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 &#8216;Data Bind=
ing
Overview&#8217; (topic available in the SDK).<o:p></o:p></span></p>

<SECTIONS   xmlns=3D"http://ddue.schemas.microsoft.com/authoring/2003/5">

<h3 style=3D'margin-bottom:3.0pt' xmlns=3D""><span style=3D'font-size:10.0p=
t;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black'>How Data Binding References are Resolved<o:p></o:p></span></h3>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>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.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>The source of a Windows Presentation Foundation (WPF) data bin=
ding
can be any CLR object. You can bind to properties, sub-properties, or index=
ers
of a CLR object. The binding references are resolved by using either Micros=
oft
.NET Framework version 3.0 reflection or an ICustomTypeDescriptor. Here are
three methods for resolving object references for binding.<o:p></o:p></span=
></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>The first method involves using reflection. In this case, the =
PropertyInfo
object is used to discover the attributes of the property and provides acce=
ss
to property metadata. When using the <b>ICustomTypeDescriptor</b> interface,
the data binding engine uses this interface to access the property values. =
The <b>ICustomTypeDescriptor</b>
interface is especially useful in cases where the object does not have a st=
atic
set of properties.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>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 <b>INotif=
yPropertyChanged</b>.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>If the source object is a CLR object and the source property i=
s a
CLR property, the Windows Presentation Foundation (WPF) data binding engine=
 has
to first use reflection on the source object to get the <b>TypeDescriptor</=
b>,
and then query for a PropertyDescriptor. This sequence of reflection operat=
ions
is potentially very time-consuming from a performance perspective.<o:p></o:=
p></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>The second method for resolving object references involves a C=
LR
source object that implements the <b>INotifyPropertyChanged</b> interface, =
and
a source property that is a CLR property. In this case, the data binding en=
gine
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.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>The third method for resolving object references involves a so=
urce
object that is a <b>DependencyObject</b> and a source property that is a <b=
>DependencyProperty</b>.
In this case, the data binding engine does not need to use reflection. Inst=
ead,
the property engine and the data binding engine together resolve the proper=
ty
reference independently. This is the optimal method for resolving object
references used for data binding.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>The table below compares the speed of data binding the <b>Text=
</b>
property of one thousand <b>TextBlock</b> elements using these three method=
s.<o:p></o:p></span></p>

<div>

<table class=3DMsoNormalTable border=3D0 cellpadding=3D0 width=3D"98%"
style=3D'width:98.9%;mso-cellspacing:1.5pt;mso-yfti-tbllook:1184;mso-paddin=
g-alt:
3.75pt 3.75pt 3.75pt 3.75pt'>
<tr style=3D'mso-yfti-irow:0;mso-yfti-firstrow:yes'>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><b><span style=3D'font-size:13.5pt;font-family:"Ve=
rdana","sans-serif";
 mso-fareast-font-family:"Times New Roman";color:#000066'>Binding the Text
 property of a TextBlock<o:p></o:p></span></b></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><b><span style=3D'font-size:13.5pt;font-family:"Ve=
rdana","sans-serif";
 mso-fareast-font-family:"Times New Roman";color:#000066'>Binding time (ms)=
<o:p></o:p></span></b></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><b><span style=3D'font-size:13.5pt;font-family:"Ve=
rdana","sans-serif";
 mso-fareast-font-family:"Times New Roman";color:#000066'>Render time --
 includes binding (ms)<o:p></o:p></span></b></p>
 </td>
</tr>
<tr style=3D'mso-yfti-irow:1'>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>To a property of a CLR object<o:p></o:p></span></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>115<o:p></o:p></span></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>314<o:p></o:p></span></p>
 </td>
</tr>
<tr style=3D'mso-yfti-irow:2'>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>To a property of a CLR object which implements <b>INotifyProp=
ertyChanged</b><o:p></o:p></span></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>115<o:p></o:p></span></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>305<o:p></o:p></span></p>
 </td>
</tr>
<tr style=3D'mso-yfti-irow:3;mso-yfti-lastrow:yes'>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>To a <b>DependencyProperty</b> of a <b>DependencyObject</b>.<=
o:p></o:p></span></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>90<o:p></o:p></span></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>263<o:p></o:p></span></p>
 </td>
</tr>
</table>

<SECTIONS   xmlns=3D"http://ddue.schemas.microsoft.com/authoring/2003/5"></=
div>

<h4 style=3D'margin-bottom:3.0pt' xmlns=3D""><span style=3D'font-size:9.5pt;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black'>Binding to Large CLR Objects<o:p></o:p></span></h4>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>There is a significant performance impact when you data bind t=
o a
single CLR object with thousands of properties. You can minimize this impac=
t 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 la=
rge
CLR object versus multiple smaller objects.<o:p></o:p></span></p>

<div>

<table class=3DMsoNormalTable border=3D0 cellpadding=3D0 width=3D"98%"
style=3D'width:98.9%;mso-cellspacing:1.5pt;mso-yfti-tbllook:1184;mso-paddin=
g-alt:
3.75pt 3.75pt 3.75pt 3.75pt'>
<tr style=3D'mso-yfti-irow:0;mso-yfti-firstrow:yes'>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><b><span style=3D'font-size:13.5pt;font-family:"Ve=
rdana","sans-serif";
 mso-fareast-font-family:"Times New Roman";color:#000066'>Data binding 1000
 TextBlock objects<o:p></o:p></span></b></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><b><span style=3D'font-size:13.5pt;font-family:"Ve=
rdana","sans-serif";
 mso-fareast-font-family:"Times New Roman";color:#000066'>Binding time (ms)=
<o:p></o:p></span></b></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><b><span style=3D'font-size:13.5pt;font-family:"Ve=
rdana","sans-serif";
 mso-fareast-font-family:"Times New Roman";color:#000066'>Render time --
 includes binding (ms)<o:p></o:p></span></b></p>
 </td>
</tr>
<tr style=3D'mso-yfti-irow:1'>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>To a CLR object with 1000 properties<o:p></o:p></span></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>950<o:p></o:p></span></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>1200<o:p></o:p></span></p>
 </td>
</tr>
<tr style=3D'mso-yfti-irow:2;mso-yfti-lastrow:yes'>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>To 1000 CLR objects with one property<o:p></o:p></span></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>115<o:p></o:p></span></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>314<o:p></o:p></span></p>
 </td>
</tr>
</table>

</div>

</div>

<h4 style=3D'margin-bottom:3.0pt' xmlns=3D""><span style=3D'font-size:9.5pt;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black'>Binding to an ItemsSource<o:p></o:p></span></h4>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>Consider a scenario in which you have a CLR List object that h=
olds
a list of employees that you want to display in a <b>ListBox</b>. To create=
 a
correspondence between these two objects, you would bind your employee list=
 to
the <b>ItemsSource</b> property of the <b>ListBox</b>. However, suppose you
have a new employee joining your group. You might think that in order to in=
sert
this new person into your bound <b>ListBox</b> 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 <b>ListBox</b>
automatically. This is because the CLR <b>List</b> object does not
automatically raise a collection changed event. In order to get the <b>List=
Box</b>
to pick up the changes, you would have to recreate your list of employees a=
nd
re-attach it to the <b>ItemsSource</b> property of the <b>ListBox</b>. While
this solution works, it introduces a huge performance impact. Each time you
reassign the <b>ItemsSource</b> of <b>ListBox</b> to a new object, the <b>L=
istBox</b>
first throws away its previous items and regenerates its entire list. The
performance impact is magnified if your <b>ListBox</b> maps to a complex Da=
taTemplate.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>A very efficient solution to this problem is to make your empl=
oyee
list an ObservableCollection. An <b>ObservableCollection</b> object raises a
change notification which the data binding engine can receive. The event ad=
ds
or removes an item from an <b>ItemsControl</b> without the need to regenera=
te
the entire list.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>The table below shows the time it takes to update the <b>ListB=
ox</b>
(with UI virtualization turned off) when one item is added. The number in t=
he
first row represents the elapsed time when the CLR&nbsp;<b>List</b> object =
is
bound to <b>ListBox</b> element's <b>ItemsSource</b>. The number in the sec=
ond
row represents the elapsed time when an <b>ObservableCollection</b> is boun=
d to
the <b>ListBox</b> element's <b>ItemsSource</b>. Note the significant time
savings using the <b>ObservableCollection</b> data binding strategy.<o:p></=
o:p></span></p>

<div>

<table class=3DMsoNormalTable border=3D0 cellpadding=3D0 width=3D"98%"
style=3D'width:98.9%;mso-cellspacing:1.5pt;mso-yfti-tbllook:1184;mso-paddin=
g-alt:
3.75pt 3.75pt 3.75pt 3.75pt'>
<tr style=3D'mso-yfti-irow:0;mso-yfti-firstrow:yes'>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><b><span style=3D'font-size:13.5pt;font-family:"Ve=
rdana","sans-serif";
 mso-fareast-font-family:"Times New Roman";color:#000066'>Data binding the
 ItemsSource<o:p></o:p></span></b></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><b><span style=3D'font-size:13.5pt;font-family:"Ve=
rdana","sans-serif";
 mso-fareast-font-family:"Times New Roman";color:#000066'>Update time for 1
 item (ms)<o:p></o:p></span></b></p>
 </td>
</tr>
<tr style=3D'mso-yfti-irow:1'>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>To a CLR <b>List</b> object<o:p></o:p></span></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>1656<o:p></o:p></span></p>
 </td>
</tr>
<tr style=3D'mso-yfti-irow:2;mso-yfti-lastrow:yes'>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>To an <b>ObservableCollection</b><o:p></o:p></span></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>20<o:p></o:p></span></p>
 </td>
</tr>
</table>

</div>

</div>

<h4 style=3D'margin-bottom:3.0pt' xmlns=3D""><span style=3D'font-size:9.5pt;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black'>Bind IList to ItemsControl not IEnumerable<o:p></o:p></span></=
h4>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>If you have a choice between binding an IList or an IEnumerabl=
e to
an <b>ItemsControl</b> object, choose the <b>IList</b> object. Binding <b>I=
Enumerable</b>
to an <b>ItemsControl</b> forces WPF to create a wrapper <b>IList</b> objec=
t,
which means your performance is impacted by the unnecessary overhead of a
second object.<o:p></o:p></span></p>

</div>

<h4 style=3D'margin-bottom:3.0pt' xmlns=3D""><span style=3D'font-size:9.5pt;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black'>Do not Convert CLR objects to XML Just for Data Binding.<o:p><=
/o:p></span></h4>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>WPF allows you to data bind to XML content; however, data bind=
ing
to XML content is slower than data binding to CLR objects. Do not convert C=
LR
object data to XML if the only purpose is for data binding.<o:p></o:p></spa=
n></p>

</div>

</div>

</div>

</SECTIONS>

<h1 style=3D'margin-top:13.5pt;margin-right:0in;margin-bottom:6.0pt;margin-=
left:
0in'><a name=3D"other_performance_recommendations"></a><span style=3D'font-=
size:
11.0pt;font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times Ne=
w Roman";
color:#003399'></SECTIONS>Other Performance Recommendations<o:p></o:p></spa=
n></h1>

<SECTIONS   xmlns=3D"http://ddue.schemas.microsoft.com/authoring/2003/5"><S=
ECTIONS   xmlns=3D"http://ddue.schemas.microsoft.com/authoring/2003/5">

<div id=3DsectionSection8>

<div xmlns=3D"">

<h4 style=3D'margin-bottom:3.0pt'><span style=3D'font-size:9.5pt;font-famil=
y:"Verdana","sans-serif";
mso-fareast-font-family:"Times New Roman";color:black'>Opacity on Brushes
versus Opacity on Elements<o:p></o:p></span></h4>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>When you use a <b>Brush</b> to set the <b>Fill</b> or Stroke o=
f an
element, it is better to set the Brush.Opacity value rather than the setting
the element's Opacity property. Modifying an element's <b>Opacity</b> prope=
rty
can cause WPF to create a temporary surface.<o:p></o:p></span></p>

</div>

<h4 style=3D'margin-bottom:3.0pt' xmlns=3D""><span style=3D'font-size:9.5pt;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black'>Navigation to Object<o:p></o:p></span></h4>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>The NavigationWindow object derives from <b>Window</b> and ext=
ends
it with content navigation support, primarily by aggregating NavigationServ=
ice
and the journal. You can update the client area of <b>NavigationWindow</b> =
by
specifying either a uniform resource identifier (URI) or an object. The
following sample shows both methods:<o:p></o:p></span></p>

<div><span codeLanguage=3DCSharp>

<table class=3DMsoNormalTable border=3D0 cellspacing=3D0 cellpadding=3D0 wi=
dth=3D"98%"
style=3D'width:98.9%;mso-cellspacing:0in;mso-yfti-tbllook:1184;mso-padding-=
alt:
0in 0in 0in 0in'>
<tr style=3D'mso-yfti-irow:0;mso-yfti-firstrow:yes'>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:0in 3=
.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><b><span style=3D'font-size:13.5pt;font-family:"Ve=
rdana","sans-serif";
 mso-fareast-font-family:"Times New Roman";color:#000066'>C#&nbsp;<o:p></o:=
p></span></b></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:0in 3=
.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><!--[if gte vml 1]><v:shape id=3D"Picture_x0020_36"
  o:spid=3D"_x0000_i1038" type=3D"#_x0000_t75" alt=3D"CopyCode image" style=
=3D'width:24pt;
  height:24pt;visibility:visible;mso-wrap-style:square'>
  <v:imagedata src=3D"OptimizingWPFApplicationPerformance_files/image007.gi=
f"
   o:title=3D"CopyCode image"/>
 </v:shape><![endif]--><![if !vml]><img border=3D0 width=3D32 height=3D32
 src=3D"OptimizingWPFApplicationPerformance_files/image008.gif"
 alt=3D"CopyCode image" v:shapes=3D"Picture_x0020_36"><![endif]><span onkey=
press=3D"CopyCode_CheckKey(this)"
 onmouseover=3D"ChangeCopyCodeIcon(this)" onfocusout=3D"ChangeCopyCodeIcon(=
this)"
 onclick=3D"CopyCode(this)" onfocusin=3D"ChangeCopyCodeIcon(this)" tabIndex=
=3D0
 onmouseout=3D"ChangeCopyCodeIcon(this)"><span class=3Dcopycode><span
 style=3D'mso-ansi-font-size:12.0pt;mso-bidi-font-size:12.0pt;font-family:"=
Verdana","sans-serif";
 mso-fareast-font-family:"Times New Roman"'>Copy Code</span></span></span><=
b><span
 style=3D'font-size:13.5pt;font-family:"Verdana","sans-serif";mso-fareast-f=
ont-family:
 "Times New Roman";color:#000066'><o:p></o:p></span></b></p>
 </td>
</tr>
<tr style=3D'mso-yfti-irow:1;mso-yfti-lastrow:yes'>
 <td colspan=3D2 valign=3Dtop style=3D'border-top:solid white 1.0pt;border-=
left:none;
 border-bottom:solid #D5D5D3 1.0pt;border-right:none;mso-border-top-alt:sol=
id white .75pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 0in 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>private=
 void
 buttonGoToUri(object sender, RoutedEventArgs args)<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>{<o:p><=
/o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp; </span>navWindow.Source =3D =
new
 Uri(&quot;NewPage.xaml&quot;, UriKind.RelativeOrAbsolute);<o:p></o:p></spa=
n></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>}<o:p><=
/o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>private=
 void
 buttonGoNewObject(object sender, RoutedEventArgs args)<o:p></o:p></span></=
p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>{<o:p><=
/o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp; </span>NewPage nextPage =3D =
new
 NewPage();<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;
 </span>nextPage.InitializeComponent();<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><span
 style=3D'mso-spacerun:yes'>&nbsp;&nbsp;&nbsp; </span>navWindow.Content =3D=
 nextPage;<o:p></o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'><o:p>&n=
bsp;</o:p></span></p>
 <p class=3DMsoNormal style=3D'margin-top:0in;margin-right:.75pt;margin-bot=
tom:
 0in;margin-left:.75pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4p=
t 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 5=
95.4pt 641.2pt 687.0pt 732.8pt'><span
 style=3D'font-size:14.0pt;font-family:"Courier New";color:#000066'>}<o:p><=
/o:p></span></p>
 </td>
</tr>
</table>

</span></div>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>Each <b>NavigationWindow</b> object has a journal that records=
 the
user's navigation history in that window. One of the purposes of the journa=
l is
to allow users to retrace their steps.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>When you navigate using a uniform resource identifier (URI), t=
he
journal stores only the uniform resource identifier (URI) reference. This m=
eans
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.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>When you navigate using an object, the journal stores the enti=
re
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.=
<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>When you use the <b>NavigationWindow</b> object, you will need=
 to
keep in mind how the journaling support impacts your application's performa=
nce.
For more information, see &#8216;Navigation Overview&#8217; (topic availabl=
e in
the SDK).<o:p></o:p></span></p>

</div>

<h4 style=3D'margin-bottom:3.0pt' xmlns=3D""><span style=3D'font-size:9.5pt;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black'>Hit Testing on Large 3D Surfaces<o:p></o:p></span></h4>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>Hit testing on large 3D surfaces is a very performance intensi=
ve
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 <b>UIElement</b> can dis=
able
hit testing by setting the IsHitTestVisible property to <b>false</b>.<o:p><=
/o:p></span></p>

</div>

<h4 style=3D'margin-bottom:3.0pt' xmlns=3D""><span style=3D'font-size:9.5pt;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black'>Avoid Using ScrollBarVisibility=3DAuto<o:p></o:p></span></h4>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>Whenever possible, avoid using the ScrollBarVisibility value A=
uto
for the HorizontalScrollBarVisibility and VerticalScrollBarVisibility
properties. These properties are defined for RichTextBox, ScrollViewer, Tex=
tBox
objects, and as an attached property for the <b>ListBox</b> object. Instead,
set <b>ScrollBarVisibility</b> to Disabled, Hidden, or Visible.<o:p></o:p><=
/span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>The <b>Auto</b> value is intended for cases when space is limi=
ted
and scrollbars should only be displayed when necessary. For example, it may=
 be
useful to use this <b>ScrollBarVisibility</b> value with a <b>ListBox</b> o=
f 30
items as opposed to a <b>TextBox</b> with hundreds of lines of text.<o:p></=
o:p></span></p>

</div>

</div>

</div>

</SECTIONS>

<h1 style=3D'margin-top:13.5pt;margin-right:0in;margin-bottom:6.0pt;margin-=
left:
0in'><a name=3D"wpf_performance_tools_and_resources"></a><span style=3D'fon=
t-size:
11.0pt;font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times Ne=
w Roman";
color:#003399'></SECTIONS>WPF Performance Tools and Resources<o:p></o:p></s=
pan></h1>

<div id=3DsectionSection9>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>WPF provides a suite of performance profiling tools that allow=
 you
to analyze the run-time behavior of your application and determine the type=
s of
performance optimizations you can apply. The following table lists the five
performance profiling tools that are included in the Windows SDK tool, WPFP=
erf:<o:p></o:p></span></p>

<div>

<table class=3DMsoNormalTable border=3D0 cellpadding=3D0 width=3D"98%"
style=3D'width:98.9%;mso-cellspacing:1.5pt;mso-yfti-tbllook:1184;mso-paddin=
g-alt:
3.75pt 3.75pt 3.75pt 3.75pt'>
<tr style=3D'mso-yfti-irow:0;mso-yfti-firstrow:yes'>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><b><span style=3D'font-size:13.5pt;font-family:"Ve=
rdana","sans-serif";
 mso-fareast-font-family:"Times New Roman";color:#000066'>Tool<o:p></o:p></=
span></b></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #C8CDDE 1.0pt;
 mso-border-bottom-alt:solid #C8CDDE .75pt;background:#EFEFF7;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:3.75pt;margin-right:0in;margin-bo=
ttom:
 3.75pt;margin-left:0in'><b><span style=3D'font-size:13.5pt;font-family:"Ve=
rdana","sans-serif";
 mso-fareast-font-family:"Times New Roman";color:#000066'>Description<o:p><=
/o:p></span></b></p>
 </td>
</tr>
<tr style=3D'mso-yfti-irow:1'>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>Event Trace<o:p></o:p></span></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>Use for analyzing events and generating event log files.<o:p>=
</o:p></span></p>
 </td>
</tr>
<tr style=3D'mso-yfti-irow:2'>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>Perforator<o:p></o:p></span></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>Use for analyzing rendering behavior.<o:p></o:p></span></p>
 </td>
</tr>
<tr style=3D'mso-yfti-irow:3'>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>Trace Viewer<o:p></o:p></span></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>Record, display, and browse Event Tracing for Windows (ETW) l=
og
 files in a WPF user-interface format.<o:p></o:p></span></p>
 </td>
</tr>
<tr style=3D'mso-yfti-irow:4'>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>Visual Profiler<o:p></o:p></span></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>Use for profiling the use of WPF services, such as layout and
 event handling, by elements in the visual tree.<o:p></o:p></span></p>
 </td>
</tr>
<tr style=3D'mso-yfti-irow:5;mso-yfti-lastrow:yes'>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>Working Set Viewer<o:p></o:p></span></p>
 </td>
 <td valign=3Dtop style=3D'border:none;border-bottom:solid #D5D5D3 1.0pt;
 mso-border-bottom-alt:solid #D5D5D3 .75pt;background:#F7F7FF;padding:3.75p=
t 3.75pt 3.75pt 3.75pt'>
 <p class=3DMsoNormal style=3D'margin-top:.75pt;margin-right:.75pt;margin-b=
ottom:
 3.0pt;margin-left:.75pt'><span style=3D'font-size:13.5pt;font-family:"Verd=
ana","sans-serif";
 color:black'>Use for analyzing the working set characteristics of your
 application.<o:p></o:p></span></p>
 </td>
</tr>
</table>

</div>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>The Visual Profiler tool suite provides a rich, graphical view=
 of
performance data. In this screenshot, the <b>CPU Usage</b> section of the
Visual Profiler gives you a precise breakdown of an object's use of WPF
services, such as rendering and layout.<o:p></o:p></span></p>

<div>

<p class=3DMsoNormal><b><span style=3D'font-size:8.5pt;font-family:"Verdana=
","sans-serif";
mso-fareast-font-family:"Times New Roman";color:#003399'>Visual Profiler
display output </span></b><span style=3D'font-size:8.5pt;font-family:"Verda=
na","sans-serif";
mso-fareast-font-family:"Times New Roman";color:#003399'><o:p></o:p></span>=
</p>

</div>

<p class=3DMsoNormal><!--[if gte vml 1]><v:shape id=3D"Picture_x0020_37" o:=
spid=3D"_x0000_i1037"
type=3D"#_x0000_t75" alt=3D"Visual Profiler display output" style=3D'width:=
24pt;
height:24pt;visibility:visible;mso-wrap-style:square'>
<v:imagedata src=3D"OptimizingWPFApplicationPerformance_files/image017.png"
 o:title=3D"Visual Profiler display output"/>
</v:shape><![endif]--><![if !vml]><img border=3D0 width=3D32 height=3D32
src=3D"OptimizingWPFApplicationPerformance_files/image018.jpg"
alt=3D"Visual Profiler display output" v:shapes=3D"Picture_x0020_37"><![end=
if]><span
style=3D'font-size:8.5pt;font-family:"Verdana","sans-serif";mso-fareast-fon=
t-family:
"Times New Roman";color:black'><o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>For more information on WPF performance tools, see &#8216;Perf=
ormance
Profiling Tools for WPF&#8217; (topic available in the SDK).<o:p></o:p></sp=
an></p>

<SECTIONS   xmlns=3D"http://ddue.schemas.microsoft.com/authoring/2003/5"><S=
ECTIONS   xmlns=3D"http://ddue.schemas.microsoft.com/authoring/2003/5">

<div xmlns=3D"">

<h4 style=3D'margin-bottom:3.0pt'><span style=3D'font-size:9.5pt;font-famil=
y:"Verdana","sans-serif";
mso-fareast-font-family:"Times New Roman";color:black'>Viewing the Visual T=
ree
with XamlPad<o:p></o:p></span></h4>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>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.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>XamlPad provides an option for viewing and exploring the visual
tree that corresponds to the currently defined XAML content. Click the <b>S=
how
Visual Tree </b>button on the menu bar to display the visual tree. The
following illustrates the expansion of XAML content into visual tree nodes =
in
the <b>Visual Tree Explorer</b> panel of XamlPad:<o:p></o:p></span></p>

<div>

<p class=3DMsoNormal><b><span style=3D'font-size:8.5pt;font-family:"Verdana=
","sans-serif";
mso-fareast-font-family:"Times New Roman";color:#003399'>Visual Tree Explor=
er
panel in XamlPad </span></b><span style=3D'font-size:8.5pt;font-family:"Ver=
dana","sans-serif";
mso-fareast-font-family:"Times New Roman";color:#003399'><o:p></o:p></span>=
</p>

</div>

<p class=3DMsoNormal><!--[if gte vml 1]><v:shape id=3D"Picture_x0020_38" o:=
spid=3D"_x0000_i1036"
type=3D"#_x0000_t75" alt=3D"Visual Tree Explorer panel in XamlPad" style=3D=
'width:24pt;
height:24pt;visibility:visible;mso-wrap-style:square'>
<v:imagedata src=3D"OptimizingWPFApplicationPerformance_files/image019.png"
 o:title=3D"Visual Tree Explorer panel in XamlPad"/>
</v:shape><![endif]--><![if !vml]><img border=3D0 width=3D32 height=3D32
src=3D"OptimizingWPFApplicationPerformance_files/image020.jpg"
alt=3D"Visual Tree Explorer panel in XamlPad" v:shapes=3D"Picture_x0020_38"=
><![endif]><span
style=3D'font-size:8.5pt;font-family:"Verdana","sans-serif";mso-fareast-fon=
t-family:
"Times New Roman";color:black'><o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>Notice how the <b>Label</b>, <b>TextBox</b>, and Button contro=
ls
each display a separate visual object hierarchy in the <b>Visual Tree Explo=
rer</b>
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 informatio=
n on
visual objects and the visual tree, see &#8216;Windows Presentation Foundat=
ion
Graphics Rendering Overview&#8217; (topic available in the SDK).<o:p></o:p>=
</span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>You can view the property settings of an item in the <b>Visual
Tree Explorer</b> by selecting the item. The <b>Property Tree Explorer</b>
panel, below the <b>Visual Tree Explorer</b> panel, displays the current
property settings for the selected visual object.<o:p></o:p></span></p>

<div>

<p class=3DMsoNormal><b><span style=3D'font-size:8.5pt;font-family:"Verdana=
","sans-serif";
mso-fareast-font-family:"Times New Roman";color:#003399'>Property Tree Expl=
orer
panel in XamlPad </span></b><span style=3D'font-size:8.5pt;font-family:"Ver=
dana","sans-serif";
mso-fareast-font-family:"Times New Roman";color:#003399'><o:p></o:p></span>=
</p>

</div>

<p class=3DMsoNormal><!--[if gte vml 1]><v:shape id=3D"Picture_x0020_39" o:=
spid=3D"_x0000_i1035"
type=3D"#_x0000_t75" alt=3D"Property Tree Explorer" style=3D'width:24pt;hei=
ght:24pt;
visibility:visible;mso-wrap-style:square'>
<v:imagedata src=3D"OptimizingWPFApplicationPerformance_files/image021.png"
 o:title=3D"Property Tree Explorer"/>
</v:shape><![endif]--><![if !vml]><img border=3D0 width=3D32 height=3D32
src=3D"OptimizingWPFApplicationPerformance_files/image022.jpg"
alt=3D"Property Tree Explorer" v:shapes=3D"Picture_x0020_39"><![endif]><span
style=3D'font-size:8.5pt;font-family:"Verdana","sans-serif";mso-fareast-fon=
t-family:
"Times New Roman";color:black'><o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>For more information, see XAMLPad.<o:p></o:p></span></p>

</div>

<h4 style=3D'margin-bottom:3.0pt' xmlns=3D""><span style=3D'font-size:9.5pt;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black'>Debug Tracing Support for WPF<o:p></o:p></span></h4>

<div xmlns=3D"">

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>The PresentationTraceSources class provides debug tracing supp=
ort
that specifically targets Windows Presentation Foundation (WPF) application=
s.
Tracing is a diagnostics system by which an application's progression can be
tracked. The tracing statements report information, much the way the WriteL=
ine
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 c=
an
be customized.<o:p></o:p></span></p>

<p class=3DMsoNormal style=3D'margin-top:7.5pt;margin-right:0in;margin-bott=
om:3.75pt;
margin-left:0in'><span style=3D'font-size:8.5pt;font-family:"Verdana","sans=
-serif";
color:black'>For other related .NET Framework 3.0 diagnostic classes, see S=
ystem.Diagnostics.<o:p></o:p></span></p>

</div>

</div>

</div>

</SECTIONS>

<h1 style=3D'margin-top:13.5pt;margin-right:0in;margin-bottom:6.0pt;margin-=
left:
0in'><span id=3DseeAlsoNoToggle><span style=3D'font-size:11.0pt;font-family=
:"Verdana","sans-serif";
mso-fareast-font-family:"Times New Roman";color:#003399'></SECTIONS>See Als=
o</span><o:p></o:p></span></h1>

<div id=3DseeAlsoSection>

<h4 style=3D'margin-bottom:3.0pt'><span style=3D'font-size:9.5pt;font-famil=
y:"Verdana","sans-serif";
mso-fareast-font-family:"Times New Roman";color:black'>Reference<o:p></o:p>=
</span></h4>

<p class=3DMsoNormal><span style=3D'font-size:8.5pt;font-family:"Verdana","=
sans-serif";
mso-fareast-font-family:"Times New Roman";color:black'>RenderOptions<br>
RenderCapability<o:p></o:p></span></p>

<h4 style=3D'margin-bottom:3.0pt'><span style=3D'font-size:9.5pt;font-famil=
y:"Verdana","sans-serif";
mso-fareast-font-family:"Times New Roman";color:black'>Concepts<o:p></o:p><=
/span></h4>

<p class=3DMsoNormal><span style=3D'font-size:8.5pt;font-family:"Verdana","=
sans-serif";
mso-fareast-font-family:"Times New Roman";color:black'>Graphics Rendering T=
iers<br>
Windows Presentation Foundation Graphics Rendering Overview<br>
The Layout System<br>
Element Tree<br>
Drawing Objects Overview<br>
Using DrawingVisual Objects<br>
Dependency Properties Overview<br>
Freezable Objects Overview<br>
Resources Overview<br>
Documents in Windows Presentation Foundation<br>
Drawing Formatted Text<br>
Typography in Windows Presentation Foundation<br>
Data Binding Overview<br>
Navigation Overview<o:p></o:p></span></p>

<h4 style=3D'margin-bottom:3.0pt'><span style=3D'font-size:9.5pt;font-famil=
y:"Verdana","sans-serif";
mso-fareast-font-family:"Times New Roman";color:black'>Other Resources<o:p>=
</o:p></span></h4>

<p class=3DMsoNormal style=3D'margin-bottom:12.0pt'><span style=3D'font-siz=
e:8.5pt;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black'>Performance Profiling Tools for WPF<o:p></o:p></span></p>

</div>

</div>

<USCDATAISLAND></USCDATAISLAND>

<div id=3Dfooter>

<div>

<p class=3DMsoNormal><!--[if gte vml 1]><v:shape id=3D"Picture_x0020_40" o:=
spid=3D"_x0000_i1034"
type=3D"#_x0000_t75" alt=3D"Footer image" style=3D'width:24pt;height:2.25pt;
visibility:visible;mso-wrap-style:square'>
<v:imagedata src=3D"OptimizingWPFApplicationPerformance_files/image023.gif"
 o:title=3D"Footer image"/>
</v:shape><![endif]--><![if !vml]><img border=3D0 width=3D32 height=3D3
src=3D"OptimizingWPFApplicationPerformance_files/image024.jpg" alt=3D"Foote=
r image"
v:shapes=3D"Picture_x0020_40"><![endif]><span style=3D'font-size:7.5pt;font=
-family:
"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman";color:blac=
k'><o:p></o:p></span></p>

</div>

<p class=3DMsoNormal><span style=3D'font-size:6.5pt;mso-bidi-font-size:7.5p=
t;
font-family:"Verdana","sans-serif";mso-fareast-font-family:"Times New Roman=
";
color:black'>Send <a
href=3D"javascript:sendfeedback('Articles%20Documentation%20Feedback:%20','=
',%20'avwriter@microsoft.com');">comments
</a>about this topic to Microsoft. <o:p></o:p></span></p>

</div>

</div>

</div>

</body>

</html>

------=_NextPart_01C6FC1B.30B6CA00
Content-Location: file:///C:/AB0244C5/OptimizingWPFApplicationPerformance_files/item0001.xml
Content-Transfer-Encoding: quoted-printable
Content-Type: text/xml

<b:Sources xmlns:b=3D"http://schemas.openxmlformats.org/officeDocument/2006=
/bibliography" xmlns=3D"http://schemas.openxmlformats.org/officeDocument/20=
06/bibliography" SelectedStyle=3D"\APA.XSL"/>
------=_NextPart_01C6FC1B.30B6CA00
Content-Location: file:///C:/AB0244C5/OptimizingWPFApplicationPerformance_files/props0002.xml
Content-Transfer-Encoding: quoted-printable
Content-Type: text/xml

<?xml version=3D"1.0" encoding=3D"UTF-8" standalone=3D"no"?>
<ds:datastoreItem ds:itemID=3D"{B650CA4D-1E93-4244-946A-84C7527BBADB}" xmln=
s:ds=3D"http://schemas.openxmlformats.org/officeDocument/2006/customXml"><d=
s:schemaRefs><ds:schemaRef ds:uri=3D"http://schemas.openxmlformats.org/offi=
ceDocument/2006/bibliography"/></ds:schemaRefs></ds:datastoreItem>
------=_NextPart_01C6FC1B.30B6CA00
Content-Location: file:///C:/AB0244C5/OptimizingWPFApplicationPerformance_files/themedata.thmx
Content-Transfer-Encoding: base64
Content-Type: application/vnd.ms-officetheme

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
AAA=

------=_NextPart_01C6FC1B.30B6CA00
Content-Location: file:///C:/AB0244C5/OptimizingWPFApplicationPerformance_files/colorschememapping.xml
Content-Transfer-Encoding: quoted-printable
Content-Type: text/xml

<?xml version=3D"1.0" encoding=3D"UTF-8" standalone=3D"yes"?>
<a:clrMap xmlns:a=3D"http://schemas.openxmlformats.org/drawingml/2006/main"=
 bg1=3D"lt1" tx1=3D"dk1" bg2=3D"lt2" tx2=3D"dk2" accent1=3D"accent1" accent=
2=3D"accent2" accent3=3D"accent3" accent4=3D"accent4" accent5=3D"accent5" a=
ccent6=3D"accent6" hlink=3D"hlink" folHlink=3D"folHlink"/>
------=_NextPart_01C6FC1B.30B6CA00
Content-Location: file:///C:/AB0244C5/OptimizingWPFApplicationPerformance_files/image001.wmz
Content-Transfer-Encoding: base64
Content-Type: image/x-wmz

H4sIAAAAAAAEC22QOxKCQBBEexb8IKaKiVYZGWngZUwUSbmSEdfwAmbGHoALeACr1u5VcAOhaulp
5s3OzON+uyA8FRaogsoOhgxIroxS5MFLeSY2xoDf3MmSmjoxCdUKI54v/vHeUyl/a1AdLIdrPFmd
Ic6RY4wKeh3ZNA2jDxk6+JJFIONahpKZ1pNt2/aki26YM0e5vy4MJ8jt7qzruieTKG8WyLgLw5Ge
+7sB7cKcJpfaadCgnElqg/uJPJDXW7IHzbkx77U94A0DkIThiAEAAA==

------=_NextPart_01C6FC1B.30B6CA00
Content-Location: file:///C:/AB0244C5/OptimizingWPFApplicationPerformance_files/image002.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif

R0lGODdhYAAYAHcAACH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACwAAAAAYAAYAIFpaWmg
oKDj4+P///8CdIyPqcvtDyMaAdiLs968+w+GlkABw4mm6sq27gvH8kBW843nelyb+w8MunrCovFH
PCqXryTzCXVCp0cp9Qq0Yrc4LfcL84LHKzH5TCuh1yoz++t+b+PyK70+veOf+v2y71dFIUBYaHiI
mKi4yNjo+FgYyFYAADs=

------=_NextPart_01C6FC1B.30B6CA00
Content-Location: file:///C:/AB0244C5/OptimizingWPFApplicationPerformance_files/image003.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif

R0lGODlhDwARAMQAANPd+9bf+7W95Jacu9zk/O7z/uvw/uXr/QAAAuns+t7m/Ovx/tni/AAABObs
/eLp/QABBQEBA+zx/uju/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAA
AAAALAAAAAAPABEAAAVaYCKMZEmKRaqu6iBIiyHP9OJOzqHvvOM+CoJwSFS4FIyAcslkuAgBgHRK
DTyjAMgUMbUKoNIGF8GVesFSRKRsvlIbVMAZG++66/YvHT/H59F+VgkDhIWGhQkhADs=

------=_NextPart_01C6FC1B.30B6CA00
Content-Location: file:///C:/AB0244C5/OptimizingWPFApplicationPerformance_files/image004.jpg
Content-Transfer-Encoding: base64
Content-Type: image/jpeg

/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a
HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy
MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAgACADASIA
AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA
AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3
ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm
p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA
AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx
BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK
U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3
uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD12zt7
e9tVuLpN8rdWqb+ztP8A+eIqrYMfsCAVlN4v0qPxWfDc03lX+wOpfhWz2HvXY1Z7mVzf/s7T/wDn
iKpavHDp2mSXVkvlzr91vSs1fF+lSeK18NwzebflC7FOVXHY+9W9eY/2PKD60JX6hcsWP/Hilc74
z8EWXiyzEiH7NqsPzW90nBDe59K2lv7XT4hbXUvlzL1Wk/trTv8An4FU0mIxvBngiy8J2Zkc/adV
m+ae6fkk+x9K2Nd/5A8tL/bWnf8APwKgvruDVLN7Oyfzbh/up60JJID/2Y==

------=_NextPart_01C6FC1B.30B6CA00
Content-Location: file:///C:/AB0244C5/OptimizingWPFApplicationPerformance_files/image005.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif

R0lGODlhDwARANUAAOaLLP/IPP/TpP/Llv/IkP/56f/Fi//lxP/pzAAAAP/Xq//t0//Pnf/gvP/w
2v/35f/ctP/25f/04P/s0//PnP/z4P/btP3sxv/py//w2f/x2v/03//XrP/z3wABAP/Yq//kxP/g
u//YrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAPABEAAAaLwEtg
SCwShYWkcqkEBCKRh3QKjUaclY5kW6lsOhtJReLMODSOtNqc0TgX8Al8MZHbnYg8AoPR5/tOB4Ig
HoIHCYYHTg2MDQkJIY+NDU4WEJcQjwmWEBYWTgqhIh8KCaEcp04Cq6ytrE4MFAyxsrOxsU4Duru8
u04EwMHCwU4GxsfIxwAXAM3Oz84XQQA7

------=_NextPart_01C6FC1B.30B6CA00
Content-Location: file:///C:/AB0244C5/OptimizingWPFApplicationPerformance_files/image006.jpg
Content-Transfer-Encoding: base64
Content-Type: image/jpeg

/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a
HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy
MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAgACADASIA
AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA
AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3
ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm
p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA
AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx
BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK
U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3
uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD2Szto
Ly1Wa4TfKerVY/s2x/54iq2nSYskFZbeNNIj8Wnw1NN5V/sDqX4Vs9gfWvGw1KlOjGUoJu2uh3VJ
SjNpPQ3P7Nsf+eIrP1yOPTdJkurNfLnXo3pVNfGmkSeLV8NQzebflC7bOVTHYn1qx4lfOhTD3qq1
GjCnJxgk7dh0XKVSKburi2sm23Arm/Gngyy8WWgkU/ZtVh+a3u04YN2yfStWW+gsZDb3EmyVeq0z
+2bL/nuK46Ff2cIpuzSOuVDn1sZngvwZZeE7QyOftOqzfNcXb8sW74PpWzr8m7R5RUP9s2X/AD3F
QXdzHqlu1pZt5k7dF9aqrX9pFq92yqdDkknbRH//2X==

------=_NextPart_01C6FC1B.30B6CA00
Content-Location: file:///C:/AB0244C5/OptimizingWPFApplicationPerformance_files/image007.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif

R0lGODlhDwAPAOZmAJOit7LC2K7E8IGu5a6/1HOh3lyM2pirxilUqpmsx/z9/svP1JKw7Yqu/MXT
8qm4zmSFydbe7Pb5/evv9itXsW6c2iJGj6a97CBBhqC572iX1ZywztLb8Zemu6OyyCNIlvn6/CJF
jpyrwbLJ8K7Q/6++1DVlxSlUrKm5z4Kf2M/Z5tLW3Zqtym6X52CO58zX7Nff6puvzJCq4Lra/+rv
+yVMmydQopquypamu+bq8+Dm8SVNnSVKmL/L3dLe8MDK4MLO5PX2+7rF1Pv9/iNHkn+n8/D0+8fS
4XOS0Uduup/F+iFDidvk9/f4+6/D7fDy+JepxKrB74648CFDipy156Kxx2aCpfDz+KOyx5quzKvC
79Pe9VV5wSpXs3Ka6oWn6ydQpFtyj77O8DVJY1GD0f///////wAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5
BAEAAGYALAAAAAAPAA8AAAefgGaCg4SFhoeCAQEEBA8eK4gBZZNlVVYLhyWUCjhCYZiFKGUzJD4A
AlpRGQwML4JYkyBPOQKUZV8mQGYiZUpSAwUXtl4jFD8dCkETOhFUZQ0NHC5dJ2AATcAVGjKURkwO
WTsAVzAqRz0pZUUtBmRkNzwAY/PzSGVDNFtiTglEhhBl2rkjcyCEIS4SNsRgkeAAlCWGkiBAYKPG
BwtTMAQCADs=

------=_NextPart_01C6FC1B.30B6CA00
Content-Location: file:///C:/AB0244C5/OptimizingWPFApplicationPerformance_files/image008.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif

R0lGODlhIAAgAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAwAg
AB0AhwAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBmAABmMwBmZgBmmQBm
zABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/MwD/ZgD/mQD/zAD/
/zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNmZjNmmTNmzDNm/zOZ
ADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/mTP/zDP//2YAAGYA
M2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZmzGZm/2aZAGaZM2aZ
ZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb//5kAAJkAM5kAZpkA
mZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZAJmZM5mZZpmZmZmZ
zJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwAM8wAZswAmcwAzMwA
/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZZsyZmcyZzMyZ/8zM
AMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8Amf8AzP8A//8zAP8z
M/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+ZzP+Z///MAP/MM//M
Zv/Mmf/MzP/M////AP//M///Zv//mf//zP///wECAwECAwECAwECAwECAwECAwECAwECAwECAwEC
AwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwEC
AwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwj/AAEIHEiwoMGDBBO1Ejgo0SAADQW2coWw
IgBXg1wlwqgRY6uMGS0enOgKm8mStLC1apXI4UKRBF21Mkmz5qBBXhIJgklwUKuUNU2yFHRT50uY
GoOedCXoYyIsg5ryzDjzJK2UDn3ezJhIkcAvhASWTJgIW0lXtBTRmijIIceNgxTF/aJIkcyeE7Fd
RYt2ZVe7rgILDlyXkKKjDmmeVamSVsbFKUvWzQLmy12IKxUHpkU4sNKThMBQfjgzsWSMchXRHbT2
c1e6X75kkdl0JmFFXePGLWkVperKX2jUsJzY6s+NcD0XlumY0HAXNRTIrq058MSuZc0aVhuY0Jca
NYS73aBxszHc1Ktlml1fcuLcQcITeMnrCr33QV8a0ozMWbBd/DS4EBVNyKE2l3qBgaTaghlhgYUC
DZGk0UosZcWadoRkGNuGW9GggE6JeBEVTiRCZZltjqEGm2pPZZFAVFjM0MIMM1xB44w0fJGdWf0F
lptcwbnQChZXINACAgLNYCQCWNBgl0oc6cbgUzQkwBNEJ22oZWwdKnClZ4k4x2UWXOroBRZWilRD
FqwliN9W+TUEoAswZUFeRvlBpecge9JQ5ZVrZmGnn4P6aWiVdPKUhQLRRedhlZAm4EICVQYEADs=

------=_NextPart_01C6FC1B.30B6CA00
Content-Location: file:///C:/AB0244C5/OptimizingWPFApplicationPerformance_files/image009.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif

R0lGODlhDwAPAOZjAMmzk+XMrPralfrAefrgqdm9lPq6aPq6Uvn599q/lbmGHeLJqdyZG/rYkNjT
y/by6tfBoeLLq82QG/rSgsiQHcySHPrKjvn379y/le7du/XJdeHEl/j48/r28byHHayKX7WEHeWq
OvjryeHZ0PivIfrmt/rewPn39PrrzPr05cy3l97Nt/bx5frIbPPDZfTq2frdrPrLcdzGptfBn/rb
neSiHPrZk/ran9zAlfnSg9a7lPrShMOZZfr49ujZw8eQHPqyV+zdyvTlxe7h0u27VtaZHOmySNOV
HPHl0frt1frov8y2lueiGufUutK8m+nauvrcpfrGYMONHd3FpffkyvTu4d6bG/rdtvq4Yb+JHfrh
qPrXpfr16uDBlPrdpeDBloVmQfqxQfr6+v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5
BAEAAGMALAAAAAAPAA8AAAefgGOCg4SFhoeCAQELCzIQI4gBYpNiMzwOhxGUCEsrH5iFU2ImV1QA
BFBeNA0NQoIQkycPVQSUYhMkGWNOYlsWAwY3tjEwNU8qCBcsL0g2YgICIlFMVkUAHMBYQDmUXElK
XRIAD0NBPk0aYjstB2FhGBQAYPPzLmI9KSglWglShkRi2rkLU8CDISMdNnzBkaCADgWGQjBgcKTC
jywKQAQCADs=

------=_NextPart_01C6FC1B.30B6CA00
Content-Location: file:///C:/AB0244C5/OptimizingWPFApplicationPerformance_files/image010.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif

R0lGODlhIAAgAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAwAg
AB0AhwAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBmAABmMwBmZgBmmQBm
zABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/MwD/ZgD/mQD/zAD/
/zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNmZjNmmTNmzDNm/zOZ
ADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/mTP/zDP//2YAAGYA
M2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZmzGZm/2aZAGaZM2aZ
ZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb//5kAAJkAM5kAZpkA
mZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZAJmZM5mZZpmZmZmZ
zJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwAM8wAZswAmcwAzMwA
/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZZsyZmcyZzMyZ/8zM
AMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8Amf8AzP8A//8zAP8z
M/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+ZzP+Z///MAP/MM//M
Zv/Mmf/MzP/M////AP//M///Zv//mf//zP///wECAwECAwECAwECAwECAwECAwECAwECAwECAwEC
AwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwEC
AwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwj/AAEIHEiwoMGDBFlBE8iqIQCHAKJFQ0gx
IqtorK5d3IhR48SKBqFdi4at5DVsJyVCg8aqFciCGLGRNFkSm8JS0Ey9TBjtZM2arViZGirU5c6Y
P0u2umYqJ6tAQj+CvNiqZs+TDTc2xLgQwLOuJAmyxFa1Z0aJTTOysiZyLTRrq9hq5Eny2si7rYKu
vGu3L9u/UseWJEmy6tKzMlEqfuvs2bNrRqlavatyZNKa16A9a7yQlU3PVduuhIZTZNWSrmoq/Frq
WSlrrUy1qpt59MqvM1HaRWnNsWNSyJ5hNJW4p1mNyAtnhlyb1LNRyEa5ln2acuZoo0/WFtlTM6nv
0Uk11CRbe5Vm0pohKy5LfmVr4J1KXZR53rdvaJh1d6/NqhSpUUItttdq0MSlnGhffXUTKZ2Y0tJI
GEXYUHYo2WZfMs+wssp/TkHlIFQg9gebTMi9ZR5rpJWSx1CB7KGHizBasQcgX/lkV3dsjdbff9G0
+IQeTwgEpBVP+GcNYcvd1luBpJGSx04AiJTZhb4Fp+F/UB6JjXeuPeNcaziVouJLxzgjZTTm4ZTm
hDuO8pIzzokUJmn90YkTIE5CiQycyHzn559+5kEKlM6Mcgx0nfzn5KKCNhoQADs=

------=_NextPart_01C6FC1B.30B6CA00
Content-Location: file:///C:/AB0244C5/OptimizingWPFApplicationPerformance_files/image011.wmz
Content-Transfer-Encoding: base64
Content-Type: image/x-wmz

H4sIAAAAAAAEC+2SMQ6CQBBF/yyiEDG2JBuNxkIbPYO3sLWl9QAexIrTWGntAbyABzBZ/99CG0Rj
7RCGx87w+Zndy/l4QAyPEttIu40hB5K9AYYZM9DhnViGlM++04qocCU8EtIYPeY7KyEEkvqX/JI6
GHWnuFHdk5srBdeHjdr6izlpilbRi8iZUN7W+QQnMjDgldLxIrLe5b9UCVn0HPGZqPpNoK7r66eg
kPqqqmqRpMi/r2E+P82Fo34XLz1uSXtoP3RW5xaCzjHwAE1loTISAwAA

------=_NextPart_01C6FC1B.30B6CA00
Content-Location: file:///C:/AB0244C5/OptimizingWPFApplicationPerformance_files/image012.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif

R0lGODdhGwAYAHcAACH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACwAAAAAGwAYAIFpaWmg
oKDj4+P///8CM5yPqcvtD6OcNNiL7Qyg+y9sQBNKHCmi5siU0dmm8aq+7OJCML4J/g/MUYbEovGI
TCqLBQA7

------=_NextPart_01C6FC1B.30B6CA00
Content-Location: file:///C:/AB0244C5/OptimizingWPFApplicationPerformance_files/image013.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif

R0lGODlhCgAKALMJAP8EAP9dWsbDxtbT1v/PAISGhIyOjAAAAP//zv///wAAAAAAAAAAAAAAAAAA
AAAAACH5BAEAAAkALAAAAAAKAAoAAAQo0Mg5RAAG6X0I3lp3JBlHjORWnEOSIsNRIIVbFkNog/oL
ooegMOiKAAA7

------=_NextPart_01C6FC1B.30B6CA00
Content-Location: file:///C:/AB0244C5/OptimizingWPFApplicationPerformance_files/image014.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif

R0lGODlhIAAgAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAAAAAg
ACAAhwAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBmAABmMwBmZgBmmQBm
zABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/MwD/ZgD/mQD/zAD/
/zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNmZjNmmTNmzDNm/zOZ
ADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/mTP/zDP//2YAAGYA
M2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZmzGZm/2aZAGaZM2aZ
ZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb//5kAAJkAM5kAZpkA
mZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZAJmZM5mZZpmZmZmZ
zJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwAM8wAZswAmcwAzMwA
/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZZsyZmcyZzMyZ/8zM
AMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8Amf8AzP8A//8zAP8z
M/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+ZzP+Z///MAP/MM//M
Zv/Mmf/MzP/M////AP//M///Zv//mf//zP///wECAwECAwECAwECAwECAwECAwECAwECAwECAwEC
AwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwEC
AwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwj/AAUJFHSFIEEvBRMiFNiqlStX2FotI9aL
l61atQwm1Mhxo6CItBqaUsZLGMaMAwWxGrhSYEuVrBq2GiSwlCdhwnZhFNRlZStWs2ICFfrz57VW
EQXNuKIHWTBku3QWFNTwmtWrWLMGvSJjRZVRx4LpzHiFFSus2K6mtbq24ZUrXqv8yXPsklSGWfOy
bSUo0JUqVfLkAQwAwM4rRq+tzZo2bau3K/TkGQW4ROG7VPVm/RnIitc8c/OsCBCgMACCZtGqtRrz
7ZPBsJ+sMF0Yi0vNVlshuuI58KjBs0nT5pl48bVZa/3G/Q1oNgAWtAFMbYX7GqvOVV4LtnKlxZXo
p8ue/1199JpKQKQEP6my4i1N8NM1892D/jf7t1QBYIuOenxjxWa5RsofpHB3BU2t6BddfKrxdQUL
LFgBSCCmBMJQfvyJhxZ1AkHYnoYxCfRddLaplJeDD3pnImuBFAbdcF0Ux9pjHCGCDXJmvfiiaQzm
9hJD1ClmXSAsCJdhakJa55MpR/2HTV+klbYgXlgFFZNqrD1YmpSmEedfbtaxJeRa1wnHZWE9Vicm
K1qeWRhDrDg55pyNXTeamwB4QaWa/7H5optYTHfWoGESSqhfUrrJwluBNGqho3012tekfkFoJG1F
QvigFYtG2CmnD4a6QpGXmhblqaimqioAbqrq6qtbRgIXEAA7

------=_NextPart_01C6FC1B.30B6CA00
Content-Location: file:///C:/AB0244C5/OptimizingWPFApplicationPerformance_files/image015.png
Content-Transfer-Encoding: base64
Content-Type: image/png

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
PVdv/wdHP8JE70968gAAAABJRU5ErkJggk==

------=_NextPart_01C6FC1B.30B6CA00
Content-Location: file:///C:/AB0244C5/OptimizingWPFApplicationPerformance_files/image016.jpg
Content-Transfer-Encoding: base64
Content-Type: image/jpeg

/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a
HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy
MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAgACADASIA
AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA
AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3
ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm
p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA
AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx
BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK
U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3
uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD1pkvy
SRqkgBJ48peKr6Tql2/iBLSSW4kiKn5pIgozj1/CtQm3BI8uTr/eNCOjX9mEDj52+8Sf4TWkoq2i
Ii2t9RdUW5a6Xyb14FCcqqA55PPNYlzqN9ZXlun2u4mDSqG/cjaAfU10d95QnG9XLbeqkiqF08Qt
HCLIDx1Y46iiycdECbUtR2oR6ibhGsdmwA7g2OufeiCG6j1K3a4mV0aQ7FAxt+VqvyEqGIGSKif/
AI/bP/ro3/oDVzxqydo2RbQ7VkuHgxaECbjBOBxnnrWRKNQESrc7MbN0m3GPvcf0roJ/vj6VQvlH
2WVyOcAD6ZFJ1H8HmUnbU//Z

------=_NextPart_01C6FC1B.30B6CA00
Content-Location: file:///C:/AB0244C5/OptimizingWPFApplicationPerformance_files/image017.png
Content-Transfer-Encoding: base64
Content-Type: image/png

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
RBDl/geQN8hW3bwD9AAAAABJRU5ErkJggk==

------=_NextPart_01C6FC1B.30B6CA00
Content-Location: file:///C:/AB0244C5/OptimizingWPFApplicationPerformance_files/image018.jpg
Content-Transfer-Encoding: base64
Content-Type: image/jpeg

/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a
HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy
MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAgACADASIA
AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA
AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3
ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm
p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA
AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx
BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK
U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3
uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD1+3sz
NEpWPfgDJ3c80+SygibbJuUnoOatCDFhBcRozOsakopwW4pk6i8milXAVRkkHJB9Kd2LQiNrCVI4
49OtV7q2tjbOS+HClowG2nIGemcmrULt57IUTgn5sc1ja3beZr2n3G9R5MNzwTycxgccUOT6gkkd
PA6rpsILAExDAJ68VQaKUxRIJ/IPf1NOh1qxhtoo3kBZEAPI4OKr3mpWlxIkiSxEDqGkCmlKN1Zj
TsWIbb7MWked34y2/wDnXN6yHvPE2k3FpKsttDBd+eY5AQN0ahcjPrmtmW8t7i1njku4V8xGQJ5g
I5GOuK4jw54OsfD2pT38clmJHgkj/dXDsWLex4qUuW0Un/Xq/wDMrSSbbP/Z

------=_NextPart_01C6FC1B.30B6CA00
Content-Location: file:///C:/AB0244C5/OptimizingWPFApplicationPerformance_files/image019.png
Content-Transfer-Encoding: base64
Content-Type: image/png

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

------=_NextPart_01C6FC1B.30B6CA00
Content-Location: file:///C:/AB0244C5/OptimizingWPFApplicationPerformance_files/image020.jpg
Content-Transfer-Encoding: base64
Content-Type: image/jpeg

/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a
HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy
MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAgACADASIA
AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA
AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3
ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm
p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA
AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx
BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK
U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3
uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+g9K
qG6kWcoVUgHHBx/OpGnKployAcDqD/KgbViksbxXAaa5kEbLlTu4z6Hmre3MfmJOzDsQRg1DcJKI
kdSGj2gOj8j61KkjvAPlj2Y+8jZ/Sn1ES/Zot+8rk5zyTTnjRk27RgHIxT6D0NICElPs3zDICcgV
TtICsTTYAVx8oPUc+tPmj3oGid45goBIUjP14qVG224jLO79yVNO2oH/2Y==

------=_NextPart_01C6FC1B.30B6CA00
Content-Location: file:///C:/AB0244C5/OptimizingWPFApplicationPerformance_files/image021.png
Content-Transfer-Encoding: base64
Content-Type: image/png

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

------=_NextPart_01C6FC1B.30B6CA00
Content-Location: file:///C:/AB0244C5/OptimizingWPFApplicationPerformance_files/image022.jpg
Content-Transfer-Encoding: base64
Content-Type: image/jpeg

/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a
HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy
MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAgACADASIA
AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA
AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3
ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm
p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA
AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx
BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK
U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3
uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD2K5hv
RP8A6PFbYY7kaSZwSfp0pZm1OEDzUs0DcBllc4/Srd2qv9lDHALdqlvDtktuf48ZNae0srWRHJre
7M1p9QRwhhtmZhuGyRzx+VLE+pMQrwQhR95izg49uMVrA/6aVzwEBxj3p8/+pf6Ue08kHJ5spXQB
NqGOFLcn0ou0jIi3zlo93LEjj8hTJT5ky7ZVjCDBLc/kKdcMrCFUlQEMdzKowPfFRYskVo47tSQz
jyxtkxnHXrU8kyPE6qTnHoRTElhDBmljLAY3A4/SnS3ELRMBIpJHAzQkB//Z

------=_NextPart_01C6FC1B.30B6CA00
Content-Location: file:///C:/AB0244C5/OptimizingWPFApplicationPerformance_files/image023.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif

R0lGODlhAQADAPEAAO7u/9Tf/8jN3gAAACwAAAAAAQADAAACAkRUADt=

------=_NextPart_01C6FC1B.30B6CA00
Content-Location: file:///C:/AB0244C5/OptimizingWPFApplicationPerformance_files/image024.jpg
Content-Transfer-Encoding: base64
Content-Type: image/jpeg

/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a
HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy
MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAADACADASIA
AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA
AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3
ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm
p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA
AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx
BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK
U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3
uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD1T7Xc
f89Wo+13H/PVqKK6TMPtdx/z1aj7Xcf89WoooA//2Q==

------=_NextPart_01C6FC1B.30B6CA00
Content-Location: file:///C:/AB0244C5/OptimizingWPFApplicationPerformance_files/editdata.mso
Content-Transfer-Encoding: base64
Content-Type: application/x-mso

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

------=_NextPart_01C6FC1B.30B6CA00
Content-Location: file:///C:/AB0244C5/OptimizingWPFApplicationPerformance_files/filelist.xml
Content-Transfer-Encoding: quoted-printable
Content-Type: text/xml; charset="utf-8"

<xml xmlns:o=3D"urn:schemas-microsoft-com:office:office">
 <o:MainFile HRef=3D"../OptimizingWPFApplicationPerformance.htm"/>
 <o:File HRef=3D"item0001.xml"/>
 <o:File HRef=3D"props0002.xml"/>
 <o:File HRef=3D"themedata.thmx"/>
 <o:File HRef=3D"colorschememapping.xml"/>
 <o:File HRef=3D"image001.wmz"/>
 <o:File HRef=3D"image002.gif"/>
 <o:File HRef=3D"image003.gif"/>
 <o:File HRef=3D"image004.jpg"/>
 <o:File HRef=3D"image005.gif"/>
 <o:File HRef=3D"image006.jpg"/>
 <o:File HRef=3D"image007.gif"/>
 <o:File HRef=3D"image008.gif"/>
 <o:File HRef=3D"image009.gif"/>
 <o:File HRef=3D"image010.gif"/>
 <o:File HRef=3D"image011.wmz"/>
 <o:File HRef=3D"image012.gif"/>
 <o:File HRef=3D"image013.gif"/>
 <o:File HRef=3D"image014.gif"/>
 <o:File HRef=3D"image015.png"/>
 <o:File HRef=3D"image016.jpg"/>
 <o:File HRef=3D"image017.png"/>
 <o:File HRef=3D"image018.jpg"/>
 <o:File HRef=3D"image019.png"/>
 <o:File HRef=3D"image020.jpg"/>
 <o:File HRef=3D"image021.png"/>
 <o:File HRef=3D"image022.jpg"/>
 <o:File HRef=3D"image023.gif"/>
 <o:File HRef=3D"image024.jpg"/>
 <o:File HRef=3D"editdata.mso"/>
 <o:File HRef=3D"filelist.xml"/>
</xml>
------=_NextPart_01C6FC1B.30B6CA00--
