<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><title type="html">Silverlight SDK</title><subtitle type="html" /><id>http://blogs.msdn.com/silverlight_sdk/atom.xml</id><link rel="alternate" type="text/html" href="http://blogs.msdn.com/silverlight_sdk/default.aspx" /><link rel="self" type="application/atom+xml" href="http://blogs.msdn.com/silverlight_sdk/atom.xml" /><generator uri="http://communityserver.org" version="2.1.61025.2">Community Server</generator><updated>2009-07-27T21:19:00Z</updated><entry><title>Using the Silverlight Toolkit LayoutTransformer Control for Angled Column Header Text</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/silverlight_sdk/archive/2009/12/16/using-the-silverlight-toolkit-layouttransformer-control.aspx" /><id>http://blogs.msdn.com/silverlight_sdk/archive/2009/12/16/using-the-silverlight-toolkit-layouttransformer-control.aspx</id><published>2009-12-16T21:05:00Z</published><updated>2009-12-16T21:05:00Z</updated><content type="html">&lt;P&gt;I recently inherited the &lt;B&gt;DataGrid&lt;/B&gt; control and, after reading over customer feedback and forum posts, one of the tasks I gave myself was to create a code example for the &lt;B&gt;DataGrid.ColumnHeaderStyle&lt;/B&gt; property. After poking around I thought it would be interesting, and hopefully useful, to show how to angle the content of column headers using the &lt;STRONG&gt;ColumnHeaderStyle&lt;/STRONG&gt; property. This would save screen real estate since headers, which by default are property names, can be lengthy, and the displayed values are often short. I mucked around and came up with the following:&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#004080 face="Courier New"&gt;&amp;lt;UserControl&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#004080 face="Courier New"&gt;…&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#004080 face="Courier New"&gt;xmlns:my="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data" &lt;BR&gt;xmlns:primitives="clr-namespace:System.Windows.Controls.Primitives;assembly=System.Windows.Controls.Data" &lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#004080 face="Courier New"&gt;… &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#004080 face="Courier New"&gt;&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#004080 face="Courier New"&gt;…&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#004080 face="Courier New"&gt;&amp;lt;my:DataGrid.ColumnHeaderStyle&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Style&amp;nbsp; TargetType="primitives:DataGridColumnHeader" &amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Setter Property="FontSize" Value="10" /&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Setter Property="ContentTemplate" &amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Setter.Value&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;DataTemplate &amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;TextBlock Text="{Binding}" &amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;TextBlock.RenderTransform&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;RotateTransform Angle="-35" /&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/TextBlock.RenderTransform&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/TextBlock&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/DataTemplate&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Setter.Value&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Setter&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Style&amp;gt; &lt;BR&gt;&amp;lt;/my:DataGrid.ColumnHeaderStyle&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here’s the column headers when I ran the code. (In this example, for simplicity, I’ve bound the &lt;B&gt;DataGrid&lt;/B&gt; to the &lt;B&gt;Children&lt;/B&gt; property of &lt;B&gt;LayoutRoot)&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_sdk/WindowsLiveWriter/UsingtheSilverlightToolkitLayoutTransfor_B7F8/image_10.png" mce_href="http://blogs.msdn.com/blogfiles/silverlight_sdk/WindowsLiveWriter/UsingtheSilverlightToolkitLayoutTransfor_B7F8/image_10.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/silverlight_sdk/WindowsLiveWriter/UsingtheSilverlightToolkitLayoutTransfor_B7F8/image_thumb_4.png" width=264 height=124 mce_src="http://blogs.msdn.com/blogfiles/silverlight_sdk/WindowsLiveWriter/UsingtheSilverlightToolkitLayoutTransfor_B7F8/image_thumb_4.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Unfortunately, the tops of the headers were cut off and I couldn’t figure out why. I consulted my friend Margaret, who used to own the Silverlight layout docs and the WPF Datagrid docs up until recently, and she pointed out that the transform is done after the measure and layout pass so the layout slot allowed for the content reflects the pre-transformed data. &lt;/P&gt;
&lt;P&gt;(As a side note, our conversation resulted in her posting about this problem on the WPF UE team blog. You can check out &lt;A href="http://blogs.msdn.com/wpfsdk/archive/2009/12/16/rotate-your-text-in-the-wpf-datagrid-column-headers.aspx" mce_href="http://blogs.msdn.com/wpfsdk/archive/2009/12/16/rotate-your-text-in-the-wpf-datagrid-column-headers.aspx"&gt;here&lt;/A&gt;.)&lt;/P&gt;
&lt;P&gt;Here’s the info about how rotated elements are clipped from the &lt;A href="http://msdn.microsoft.com/en-us/library/cc645025%28VS.96%29.aspx" mce_href="http://msdn.microsoft.com/en-us/library/cc645025(VS.96).aspx"&gt;Silverlight Layout System&lt;/A&gt; topic:&lt;/P&gt;
&lt;P&gt;&lt;I&gt;The following illustration shows a child element that is rotated and now extends beyond its assigned layout slot.&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;&lt;IMG alt="Layout Clip" src="http://i.msdn.microsoft.com/Cc645025.ChildElement_Clipped%28en-us,VS.95%29.png" mce_src="http://i.msdn.microsoft.com/Cc645025.ChildElement_Clipped(en-us,VS.95).png"&gt;&lt;/P&gt;
&lt;P&gt;&lt;I&gt;In this case, the layout system clips the child element and displays only the portion of the element that fits inside the layout slot. &lt;/I&gt;&lt;/P&gt;
&lt;P&gt;Now I understood why my headers where being cut off, but I didn’t know how to fix it. As a result, I did some searching and I ended up at &lt;A href="http://blogs.msdn.com/delay/archive/2008/05/27/lying-to-the-layout-system-for-a-good-cause-bringing-layouttransform-to-silverlight-2.aspx" mce_href="http://blogs.msdn.com/delay/archive/2008/05/27/lying-to-the-layout-system-for-a-good-cause-bringing-layouttransform-to-silverlight-2.aspx"&gt;David Anson’s blog&lt;/A&gt;. He created a control for Silverlight that operates in much the same way that the &lt;A href="http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.layouttransform%28VS.100%29.aspx" mce_href="http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.layouttransform(VS.100).aspx"&gt;LayoutTransform&lt;/A&gt; control does in WPF. The WPF &lt;B&gt;LayoutTransform&lt;/B&gt; control performs the transform before the measure and layout passes so the correct layout slot is allocated for the control content.&lt;/P&gt;
&lt;P&gt;It turns out that since David wrote this post, his control, now named the &lt;B&gt;LayoutTransformer, &lt;/B&gt;has been added to the Silverlight Toolkit. I already had the &lt;A href="http://silverlight.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=36060" mce_href="http://silverlight.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=36060"&gt;Toolkit installed&lt;/A&gt;, so it was just a matter of referencing the correct assembly, which is the System.Windows.Control.Layout.Toolkit assembly, adding the XAML namespace mapping, and adding the control to my XAML. Here’s my new code:&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#004080 face="Courier New"&gt;&amp;lt;UserControl&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#004080 face="Courier New"&gt;…&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#004080 face="Courier New"&gt;xmlns:my="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data" &lt;BR&gt;xmlns:primitives="clr-namespace:System.Windows.Controls.Primitives;assembly=System.Windows.Controls.Data" &lt;BR&gt;xmlns:layout="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Layout.Toolkit"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#004080 face="Courier New"&gt;… &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#004080 face="Courier New"&gt;&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#004080 face="Courier New"&gt;&amp;lt;my:DataGrid.ColumnHeaderStyle&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Style&amp;nbsp; TargetType="primitives:DataGridColumnHeader" &amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Setter Property="FontSize" Value="10" /&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Setter Property="ContentTemplate" &amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Setter.Value&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;DataTemplate &amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;layout:LayoutTransformer&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;layout:LayoutTransformer.LayoutTransform&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;RotateTransform Angle="-35"/&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/layout:LayoutTransformer.LayoutTransform&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;TextBlock Text="{Binding}"&amp;nbsp; /&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/layout:LayoutTransformer&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/DataTemplate&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Setter.Value&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Setter&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Style&amp;gt; &lt;BR&gt;&amp;lt;/my:DataGrid.ColumnHeaderStyle&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;Here’s what my revised code looks like when I run it:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_sdk/WindowsLiveWriter/UsingtheSilverlightToolkitLayoutTransfor_B7F8/image_8.png" mce_href="http://blogs.msdn.com/blogfiles/silverlight_sdk/WindowsLiveWriter/UsingtheSilverlightToolkitLayoutTransfor_B7F8/image_8.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/silverlight_sdk/WindowsLiveWriter/UsingtheSilverlightToolkitLayoutTransfor_B7F8/image_thumb_3.png" width=353 height=138 mce_src="http://blogs.msdn.com/blogfiles/silverlight_sdk/WindowsLiveWriter/UsingtheSilverlightToolkitLayoutTransfor_B7F8/image_thumb_3.png"&gt;&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Angled content, and it’s all on the screen. Woo Hoo!&lt;/P&gt;
&lt;P&gt;--Cheryl&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9937875" width="1" height="1"&gt;</content><author><name>cherylws</name><uri>http://blogs.msdn.com/members/cherylws.aspx</uri></author><category term="Silverlight Toolkit" scheme="http://blogs.msdn.com/silverlight_sdk/archive/tags/Silverlight+Toolkit/default.aspx" /><category term="DataGridColumnHeaderStyle" scheme="http://blogs.msdn.com/silverlight_sdk/archive/tags/DataGridColumnHeaderStyle/default.aspx" /></entry><entry><title>Getting started with the charting controls</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/silverlight_sdk/archive/2009/12/07/getting-started-with-the-charting-controls.aspx" /><id>http://blogs.msdn.com/silverlight_sdk/archive/2009/12/07/getting-started-with-the-charting-controls.aspx</id><published>2009-12-07T22:45:00Z</published><updated>2009-12-07T22:45:00Z</updated><content type="html">&lt;p&gt;Recently I thought I would check out the charting controls in the Silverlight Toolkit. I’d been meaning to for awhile, but I was distracted by other tasks such as writing the documentation for the Silverlight 4 beta release. Well, those docs have gone out so I had some time on my hands. I fired up my machine with &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=9442b0f2-7465-417a-88f3-5e7b5409e9dd&amp;amp;displaylang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?familyid=9442b0f2-7465-417a-88f3-5e7b5409e9dd&amp;amp;displaylang=en"&gt;Silverlight 3&lt;/a&gt; and the &lt;a href="http://silverlight.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=36060" mce_href="http://silverlight.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=36060"&gt;Toolkit for Silverlight 3&lt;/a&gt; installed and got busy. &lt;/p&gt;  &lt;h2&gt;The Data&lt;/h2&gt;  &lt;p&gt;I thought I’d start with a pie chart, because everyone loves pie charts, right? Okay, maybe it’s pie that everyone loves, but I do enjoy a good pie chart as well. One of the things we are always looking at on the User Education team is what a particular writer owns compared with other writers. This is one of the pieces of data we use to determine who should own new features. A pie chart is an easy way to visualize this data. For example, let’s say we have three writers with the following type distribution that I want to represent in a chart:&lt;/p&gt;  &lt;table width="400" border="0" cellpadding="2" cellspacing="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td width="200" valign="top"&gt;&lt;b&gt;Writer&lt;/b&gt;&lt;/td&gt;        &lt;td width="200" valign="top"&gt;&lt;b&gt;Types Owned&lt;/b&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="200" valign="top"&gt;Chris Sells&lt;/td&gt;        &lt;td width="200" valign="top"&gt;114&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="200" valign="top"&gt;Luka Albrus&lt;/td&gt;        &lt;td width="200" valign="top"&gt;225&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="200" valign="top"&gt;Jim Hance&lt;/td&gt;        &lt;td width="200" valign="top"&gt;140&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;To&amp;nbsp; get started, I &lt;a href="http://msdn.microsoft.com/en-us/library/cc838164%28VS.95%29.aspx" mce_href="http://msdn.microsoft.com/en-us/library/cc838164(VS.95).aspx"&gt;created a Silverlight project&lt;/a&gt; and added a very simple class to represent a writer and type ownership:&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" face="Courier New"&gt;public class Writer      &lt;br&gt;&amp;nbsp; {       &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public Writer() { }       &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public Writer(string writerName, int numOfTypes)       &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {       &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Name = writerName;       &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Types = numOfTypes;       &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }       &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public string Name { get; set; }       &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public int Types { get; set; }       &lt;br&gt;&amp;nbsp; }&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" face="Courier New"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Next, in the constructor for my page, I created an &lt;b&gt;ObservableCollection&lt;/b&gt; that contains the writers.&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" face="Courier New"&gt;public MainPage()      &lt;br&gt;{       &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; InitializeComponent();       &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ObservableCollection&amp;lt;Writer&amp;gt; Team = new ObservableCollection&amp;lt;Writer&amp;gt;       &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {       &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new Writer("Chris Sells", 114),       &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new Writer("Luka Abrus", 225),       &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new Writer("Jim Hance", 140)       &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" face="Courier New"&gt;}&lt;/font&gt;&lt;/p&gt;  &lt;h2&gt;Adding the Chart&lt;/h2&gt;  &lt;p&gt;A cool feature of the Toolkit for Silverlight 3 is the great designer support. The Toolkit controls display in the Visual Studio Toolbox so you can simply drag the desire controls onto the XAML editing surface. Doing so adds the necessary references, using statements and XAML namespace qualifiers to the XAML and code files.&lt;/p&gt;  &lt;p&gt;There are a few key steps to adding a chart to your application. &lt;/p&gt;  &lt;p&gt;First, drag a &lt;b&gt;Chart&lt;/b&gt; control to the XAML editor. Here’s the Toolbox:&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/silverlight_sdk/WindowsLiveWriter/Gettingstartedwiththechartingcontrols_E000/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/silverlight_sdk/WindowsLiveWriter/Gettingstartedwiththechartingcontrols_E000/image_2.png"&gt;&lt;img src="http://blogs.msdn.com/blogfiles/silverlight_sdk/WindowsLiveWriter/Gettingstartedwiththechartingcontrols_E000/image_thumb.png" style="border-width: 0px; display: inline;" title="image" alt="image" mce_src="http://blogs.msdn.com/blogfiles/silverlight_sdk/WindowsLiveWriter/Gettingstartedwiththechartingcontrols_E000/image_thumb.png" width="147" border="0" height="287"&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;I set the chart’s name and title properties.&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" face="Courier New"&gt;&amp;lt;chartingToolkit:Chart x:Name="MyPie" Title="Writer Assignments" Width="400" &amp;gt;      &lt;br&gt;&amp;lt;/chartingToolkit:Chart&amp;gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Then you’ll need to add a &lt;b&gt;&lt;i&gt;chartName&lt;/i&gt;Series&lt;/b&gt; control inside the &lt;b&gt;Chart&lt;/b&gt; control. In this case, I’ll add a &lt;b&gt;PieSeries&lt;/b&gt; by dragging it from the ToolBox to the XAML editor, inside the &lt;font color="#004080" face="Courier New"&gt;&amp;lt;Chart&amp;gt;&lt;/font&gt; tags.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/silverlight_sdk/WindowsLiveWriter/Gettingstartedwiththechartingcontrols_E000/image_4.png" mce_href="http://blogs.msdn.com/blogfiles/silverlight_sdk/WindowsLiveWriter/Gettingstartedwiththechartingcontrols_E000/image_4.png"&gt;&lt;img src="http://blogs.msdn.com/blogfiles/silverlight_sdk/WindowsLiveWriter/Gettingstartedwiththechartingcontrols_E000/image_thumb_1.png" style="border-width: 0px; display: inline;" title="image" alt="image" mce_src="http://blogs.msdn.com/blogfiles/silverlight_sdk/WindowsLiveWriter/Gettingstartedwiththechartingcontrols_E000/image_thumb_1.png" width="244" border="0" height="173"&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;I set the &lt;b&gt;ItemsSource&lt;/b&gt; property to a &lt;font color="#004080" face="Courier New"&gt;{Binding}&lt;/font&gt;, the &lt;b&gt;IndependentValue&lt;/b&gt; path to &lt;font color="#004080" face="Courier New"&gt;Name&lt;/font&gt;, which means my pie chart will have an entry for each writer name. and the &lt;b&gt;DependentValuePath&lt;/b&gt; to &lt;font color="#004080" face="Courier New"&gt;Types&lt;/font&gt; so my pie chart will display the number of types that each writer is assigned as a portion of the pie. &lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" face="Courier New"&gt;&amp;lt;chartingToolkit:Chart x:Name="MyPie" Title="Writer Assignments" Width="400" &amp;gt;      &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;chartingToolkit:PieSeries ItemsSource="{Binding}" IndependentValuePath="Name"       &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DependentValuePath="Types"&amp;gt;       &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/chartingToolkit:PieSeries&amp;gt;       &lt;br&gt;&amp;lt;/chartingToolkit:Chart&amp;gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Lastly, in the code-behind file, I set the data context for &lt;font color="#004080" face="Courier New"&gt;MyPie&lt;/font&gt; to the collection of writers.&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;font color="#004080" face="Courier New"&gt;MyPie.DataContext = Team;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;I pressed F5 and look at the beautiful pie chart I got:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/silverlight_sdk/WindowsLiveWriter/Gettingstartedwiththechartingcontrols_E000/image_6.png" mce_href="http://blogs.msdn.com/blogfiles/silverlight_sdk/WindowsLiveWriter/Gettingstartedwiththechartingcontrols_E000/image_6.png"&gt;&lt;img src="http://blogs.msdn.com/blogfiles/silverlight_sdk/WindowsLiveWriter/Gettingstartedwiththechartingcontrols_E000/image_thumb_2.png" style="border-width: 0px; display: inline;" title="image" alt="image" mce_src="http://blogs.msdn.com/blogfiles/silverlight_sdk/WindowsLiveWriter/Gettingstartedwiththechartingcontrols_E000/image_thumb_2.png" width="244" border="0" height="184"&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;This chart is nice, and it was incredibly easy to create, but I decided I wanted to see this data in bar-chart format. I swapped my &lt;b&gt;PieSeries&lt;/b&gt; for a &lt;b&gt;BarSeries&lt;/b&gt;, keeping the same property settings (yes, I even left it named “MyPie” for now). Here’s the XAML:&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" face="Courier New"&gt;&amp;lt;chartingToolkit:Chart x:Name="MyPie" Title="Writer Assignments" Width="400" &amp;gt;      &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;chartingToolkit:BarSeries ItemsSource="{Binding}" IndependentValuePath="Name"       &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DependentValuePath="Types"&amp;gt;       &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/chartingToolkit:BarSeries&amp;gt;       &lt;br&gt;&amp;lt;/chartingToolkit:Chart&amp;gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;When I pressed F5, I got the this bar chart:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/silverlight_sdk/WindowsLiveWriter/Gettingstartedwiththechartingcontrols_E000/image_8.png" mce_href="http://blogs.msdn.com/blogfiles/silverlight_sdk/WindowsLiveWriter/Gettingstartedwiththechartingcontrols_E000/image_8.png"&gt;&lt;img src="http://blogs.msdn.com/blogfiles/silverlight_sdk/WindowsLiveWriter/Gettingstartedwiththechartingcontrols_E000/image_thumb_3.png" style="border-width: 0px; display: inline;" title="image" alt="image" mce_src="http://blogs.msdn.com/blogfiles/silverlight_sdk/WindowsLiveWriter/Gettingstartedwiththechartingcontrols_E000/image_thumb_3.png" width="244" border="0" height="185"&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;This bar chart is okay, but the default scale the data is presented in makes Chris look like a slacker. Since I know he’s not (for the record, these names are out of our fictitious names list), I wanted to change the scale a bit. Also the “Series 1” title isn’t very helpful.&lt;/p&gt;  &lt;p&gt;Fixing the “Series 1” was easy…I added a title to my bar series.&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" face="Courier New"&gt;&amp;lt;chartingToolkit:BarSeries Title="# of Types" ItemsSource="{Binding}" IndependentValuePath="Name"      &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DependentValuePath="Types"&amp;gt;       &lt;br&gt;&amp;lt;/chartingToolkit:BarSeries&amp;gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;I discovered that in order to change the scale in which my data is displayed, I needed to add some &lt;b&gt;Axes&lt;/b&gt; to my chart. A &lt;b&gt;Chart&lt;/b&gt; object has an &lt;b&gt;Axes&lt;/b&gt; property that you set to a collection of &lt;b&gt;Axis&lt;/b&gt; objects. There are many different types of axis for displaying different kinds of data. These different types of axis all derive from &lt;b&gt;Axis&lt;/b&gt; are generally named using the following convention: &lt;b&gt;&lt;i&gt;DescriptionOfFunction&lt;/i&gt;Axis&lt;/b&gt;. For my chart I’ll use a &lt;b&gt;LinearAxis&lt;/b&gt; since I am displaying numbers. I set the properties of my &lt;b&gt;LinearAxis&lt;/b&gt; to the following values:&lt;/p&gt;  &lt;table width="400" border="0" cellpadding="2" cellspacing="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td width="200" valign="top"&gt;&lt;b&gt;Property&lt;/b&gt;&lt;/td&gt;        &lt;td width="200" valign="top"&gt;&lt;b&gt;Value&lt;/b&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="200" valign="top"&gt;Title&lt;/td&gt;        &lt;td width="200" valign="top"&gt;Types Owned&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="200" valign="top"&gt;Orientation&lt;/td&gt;        &lt;td width="200" valign="top"&gt;X&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="200" valign="top"&gt;Minimum&lt;/td&gt;        &lt;td width="200" valign="top"&gt;0&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="200" valign="top"&gt;Maximum&lt;/td&gt;        &lt;td width="200" valign="top"&gt;300&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="200" valign="top"&gt;Interval&lt;/td&gt;        &lt;td width="200" valign="top"&gt;50&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="200" valign="top"&gt;ShowGridLines&lt;/td&gt;        &lt;td width="200" valign="top"&gt;True&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="200" valign="top"&gt;FontStyle&lt;/td&gt;        &lt;td width="200" valign="top"&gt;Italic&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;With these settings I adjust the scale of the X-axis to 0-300, with intervals of 50. I also opted to show gridlines and decided to use an italic font.&lt;/p&gt;  &lt;p&gt;Getting fancy now, I also added a &lt;b&gt;CategoryAxis, &lt;/b&gt;used for displaying category information, with its &lt;b&gt;Title&lt;/b&gt; property set to &lt;font color="#004080" face="Courier New"&gt;Writer&lt;/font&gt;, and an &lt;b&gt;Orientation&lt;/b&gt; set to &lt;font color="#004080" face="Courier New"&gt;Y&lt;/font&gt;. This will add “Writer” along the Y-axis for clarity. When I was finished, my XAML looked like this (the newly added portion is in a bold font) :&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" face="Courier New"&gt;&amp;lt;chartingToolkit:Chart x:Name="MyPie" Title="Writer Assignments" Width="400" &amp;gt;      &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font color="#004080"&gt;&lt;b&gt;&amp;lt;chartingToolkit:Chart.Axes&amp;gt;          &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;chartingToolkit:CategoryAxis Title="Writer" Orientation="Y" /&amp;gt;           &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;chartingToolkit:LinearAxis Title="Types owned"&amp;nbsp; Orientation="X" Minimum="0" Maximum="300"&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Interval="50" ShowGridLines="True"&amp;nbsp; FontStyle='Italic'/&amp;gt;           &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/chartingToolkit:Chart.Axes&amp;gt;           &lt;br&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;chartingToolkit:BarSeries Title="# of Types" ItemsSource="{Binding}" IndependentValuePath="Name"&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DependentValuePath="Types"&amp;gt;         &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/chartingToolkit:BarSeries&amp;gt;         &lt;br&gt;&amp;lt;/chartingToolkit:Chart&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;I pressed F5 and here’s what I got:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/silverlight_sdk/WindowsLiveWriter/Gettingstartedwiththechartingcontrols_E000/image_10.png" mce_href="http://blogs.msdn.com/blogfiles/silverlight_sdk/WindowsLiveWriter/Gettingstartedwiththechartingcontrols_E000/image_10.png"&gt;&lt;img src="http://blogs.msdn.com/blogfiles/silverlight_sdk/WindowsLiveWriter/Gettingstartedwiththechartingcontrols_E000/image_thumb_4.png" style="border-width: 0px; display: inline;" title="image" alt="image" mce_src="http://blogs.msdn.com/blogfiles/silverlight_sdk/WindowsLiveWriter/Gettingstartedwiththechartingcontrols_E000/image_thumb_4.png" width="244" border="0" height="184"&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Yeah! Chris suddenly looks much more productive, and I’ve gotten started with charting!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9933768" width="1" height="1"&gt;</content><author><name>cherylws</name><uri>http://blogs.msdn.com/members/cherylws.aspx</uri></author><category term="Silverlight Toolkit" scheme="http://blogs.msdn.com/silverlight_sdk/archive/tags/Silverlight+Toolkit/default.aspx" /><category term="Charting controls" scheme="http://blogs.msdn.com/silverlight_sdk/archive/tags/Charting+controls/default.aspx" /></entry><entry><title>It's so easy to enable printing from a Silverlight 4 application</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/silverlight_sdk/archive/2009/12/03/it-s-so-easy-to-print-from-a-silverlight-4-application.aspx" /><id>http://blogs.msdn.com/silverlight_sdk/archive/2009/12/03/it-s-so-easy-to-print-from-a-silverlight-4-application.aspx</id><published>2009-12-03T21:07:00Z</published><updated>2009-12-03T21:07:00Z</updated><content type="html">&lt;P&gt;I've been a writer with Microsoft for about 5 years now, and I've seen my share of printing API. I am happy to report that using the Silverlight printing API to print a single page is about as easy as it gets. Printing multiple pages is a bit more complex, and something I’ll cover in a future blog post. For the most part, however, if you are familiar with the how to print from a Windows Forms application, you'll be very comfortable with printing from Silverlight. &lt;/P&gt;
&lt;P&gt;The heart of printing from Silverlight is the &lt;A href="http://msdn.microsoft.com/en-us/library/system.windows.printing.printdocument%28VS.96%29.aspx" mce_href="http://msdn.microsoft.com/en-us/library/system.windows.printing.printdocument(VS.96).aspx"&gt;PrintDocument&lt;/A&gt; type. You use it to raise a print dialog, with the &lt;A href="http://msdn.microsoft.com/en-us/library/system.windows.printing.printdocument.print%28VS.96%29.aspx" mce_href="http://msdn.microsoft.com/en-us/library/system.windows.printing.printdocument.print(VS.96).aspx"&gt;Print&lt;/A&gt; method and drive the actual print operation by handling the PrintPage event. Within your &lt;A href="http://msdn.microsoft.com/en-us/library/system.windows.printing.printdocument.printpage%28VS.96%29.aspx" mce_href="http://msdn.microsoft.com/en-us/library/system.windows.printing.printdocument.printpage(VS.96).aspx"&gt;PrintPage&lt;/A&gt; event handler you specify the &lt;A href="http://msdn.microsoft.com/en-us/library/system.windows.uielement%28VS.96%29.aspx" mce_href="http://msdn.microsoft.com/en-us/library/system.windows.uielement(VS.96).aspx"&gt;UIElement&lt;/A&gt; you want to print. This could be the layout root of the Silverlight app, meaning it would print the entire Silverlight UI, or a subset of the UI. Here's some sample code.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&lt;FONT color=#004080 face="Courier New"&gt;&amp;lt;StackPanel x:Name="LayoutRoot"&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp; &amp;lt;Button Margin="5" Width="200" Content="Click to print" x:Name="PrintButton"&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Click="PrintButton_Click"&amp;nbsp; /&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp; &amp;lt;Image Width="600"&amp;nbsp; Height="600" Source="RedmondMap.jpg" x:Name="mapImage"/&amp;gt; &lt;BR&gt;&amp;lt;/StackPanel&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#004080&gt;&lt;FONT color=#000409&gt;In t&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000&gt;he above xaml, I’ve declared a button and an image. In the code below, I declare the &lt;A href="http://msdn.microsoft.com/en-us/library/system.windows.printing.printdocument%28VS.96%29.aspx" mce_href="http://msdn.microsoft.com/en-us/library/system.windows.printing.printdocument(VS.96).aspx"&gt;PrintDocument&lt;/A&gt; object and the handler for the button’s click event opens the print dialog by calling &lt;A href="http://msdn.microsoft.com/en-us/library/system.windows.printing.printdocument.print%28VS.96%29.aspx" mce_href="http://msdn.microsoft.com/en-us/library/system.windows.printing.printdocument.print(VS.96).aspx"&gt;Print&lt;/A&gt; on the &lt;A href="http://msdn.microsoft.com/en-us/library/system.windows.printing.printdocument%28VS.96%29.aspx" mce_href="http://msdn.microsoft.com/en-us/library/system.windows.printing.printdocument(VS.96).aspx"&gt;PrintDocument&lt;/A&gt;. In the &lt;A href="http://msdn.microsoft.com/en-us/library/system.windows.printing.printdocument.printpage%28VS.96%29.aspx" mce_href="http://msdn.microsoft.com/en-us/library/system.windows.printing.printdocument.printpage%28VS.96%29.aspx"&gt;PrintPage &lt;/A&gt;event handler, I set the &lt;A href="http://msdn.microsoft.com/en-us/library/system.windows.printing.printpageeventargs.pagevisual%28VS.96%29.aspx" mce_href="http://msdn.microsoft.com/en-us/library/system.windows.printing.printpageeventargs.pagevisual%28VS.96%29.aspx"&gt;PageVisual&lt;/A&gt; property of the &lt;A href="http://msdn.microsoft.com/en-us/library/system.windows.printing.printpageeventargs%28VS.96%29.aspx" mce_href="http://msdn.microsoft.com/en-us/library/system.windows.printing.printpageeventargs%28VS.96%29.aspx"&gt;PrintEventArgs&lt;/A&gt; to the image object, which contains a map, to print it. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#004080 face="Courier New"&gt;PrintDocument pd = new PrintDocument(); &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#004080 face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public MainPage() &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; InitializeComponent(); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pd.PrintPage += new EventHandler&amp;lt;PrintPageEventArgs&amp;gt;(pd_PrintPage); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#004080 face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private void PrintButton_Click(object sender, RoutedEventArgs e) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pd.DocumentName = "My Map"; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Open the print dialog. &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pd.Print(); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#004080 face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; void pd_PrintPage(object sender, PrintPageEventArgs e) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Set the UI element to print. &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e.PageVisual = mapImage; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;For more details see the &lt;A href="http://msdn.microsoft.com/en-us/library/ee671023%28VS.96%29.aspx" mce_href="http://msdn.microsoft.com/en-us/library/ee671023(VS.96).aspx"&gt;printing overview&lt;/A&gt; topic and the reference documentation for &lt;A href="http://msdn.microsoft.com/en-us/library/system.windows.printing.printdocument%28VS.96%29.aspx" mce_href="http://msdn.microsoft.com/en-us/library/system.windows.printing.printdocument(VS.96).aspx"&gt;PrintDocument&lt;/A&gt; and its supporting classes. &lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9926514" width="1" height="1"&gt;</content><author><name>cherylws</name><uri>http://blogs.msdn.com/members/cherylws.aspx</uri></author><category term="printing" scheme="http://blogs.msdn.com/silverlight_sdk/archive/tags/printing/default.aspx" /><category term="Silverlight 4" scheme="http://blogs.msdn.com/silverlight_sdk/archive/tags/Silverlight+4/default.aspx" /></entry><entry><title>Have you checked out the new RichTextArea control?</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/silverlight_sdk/archive/2009/12/03/have-you-checked-out-the-new-richtextarea-control.aspx" /><id>http://blogs.msdn.com/silverlight_sdk/archive/2009/12/03/have-you-checked-out-the-new-richtextarea-control.aspx</id><published>2009-12-03T01:47:21Z</published><updated>2009-12-03T01:47:21Z</updated><content type="html">&lt;p&gt;Silverlight 4 Beta includes a new &lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.richtextarea(VS.96).aspx"&gt;RichTextArea&lt;/a&gt; control. &lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.richtextarea(VS.96).aspx"&gt;RichTextArea&lt;/a&gt; enables you to display or edit rich content and has features like:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;displaying hyperlinks&lt;/li&gt;    &lt;li&gt;displaying inline images or other UIElements like a Button&lt;/li&gt;    &lt;li&gt;Read-only mode&lt;/li&gt;    &lt;li&gt;Selection APIs&lt;/li&gt;    &lt;li&gt;Formatting text at run time&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Creating a RichTextArea is&amp;#160; simple, it is similar to creating any other control in Silverlight. You can set content in a RichTextArea using the &lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.documents.paragraph(VS.96).aspx"&gt;Paragraph&lt;/a&gt; element (the content property itself is &lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.richtextarea.blocks(VS.96).aspx"&gt;Blocks&lt;/a&gt;, which in turn is a collection of Paragraph elements). &lt;/p&gt;  &lt;p&gt;Here’s some sample code that shows you how to create a &lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.richtextarea(VS.96).aspx"&gt;RichTextArea&lt;/a&gt; with a paragraph and some bold text. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff" face="Courier"&gt;&amp;lt;RichTextArea VerticalScrollBarVisibility=&amp;quot;Auto&amp;quot;&amp;gt; &lt;/font&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#0000ff" face="Courier"&gt;&amp;lt;Paragraph&amp;gt; A RichTextArea with &amp;lt;Bold&amp;gt;initial content&amp;lt;/Bold&amp;gt; in it. &amp;lt;/Paragraph&amp;gt; &lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;font color="#0000ff" face="Courier"&gt;&amp;lt;/RichTextArea&amp;gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff" face="Courier"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Here’s the C# code, which does the same thing as the above xaml.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff" face="Courier"&gt;private void ContentRTA() &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff" face="Courier"&gt;{ &lt;/font&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#0000ff" face="Courier"&gt;&lt;font color="#000000"&gt;//Create a new RichTextArea with its VerticalScrollBarVisibility property set to Auto.&lt;/font&gt; &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#0000ff" face="Courier"&gt;RichTextArea MyRTA = new RichTextArea(); &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#0000ff" face="Courier"&gt;MyRTA.VerticalScrollBarVisibility = ScrollBarVisibility.Auto; &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#0000ff" face="Courier"&gt;&lt;font color="#000000"&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#0000ff" face="Courier"&gt;&lt;font color="#000000"&gt;// Create a Run of plain text and some bold text.&lt;/font&gt; &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#0000ff" face="Courier"&gt;Run myRun1 = new Run(); &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#0000ff" face="Courier"&gt;myRun1.Text = &amp;quot;A RichTextArea with &amp;quot;; &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#0000ff" face="Courier"&gt;Bold myBold = new Bold(); &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#0000ff" face="Courier"&gt;myBold.Inlines.Add(&amp;quot;initial content &amp;quot;); &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#0000ff" face="Courier"&gt;Run myRun2 = new Run(); &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#0000ff" face="Courier"&gt;myRun2.Text = &amp;quot;in it.&amp;quot;; &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#0000ff" face="Courier"&gt;&lt;font color="#000000"&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#0000ff" face="Courier"&gt;&lt;font color="#000000"&gt;// Create a paragraph and add the Run and Bold to it.&lt;/font&gt; &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#0000ff" face="Courier"&gt;Paragraph myParagraph = new Paragraph(); &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#0000ff" face="Courier"&gt;myParagraph.Inlines.Add(myRun1); &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#0000ff" face="Courier"&gt;myParagraph.Inlines.Add(myBold); &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#0000ff" face="Courier"&gt;myParagraph.Inlines.Add(myRun2); &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#0000ff" face="Courier"&gt;&lt;font color="#000000"&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#0000ff" face="Courier"&gt;&lt;font color="#000000"&gt;// Add the paragraph to the RichTextArea.&lt;/font&gt; &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#0000ff" face="Courier"&gt;MyRTA.Blocks.Add(myParagraph); &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#0000ff" face="Courier"&gt;&lt;font color="#000000"&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#0000ff" face="Courier"&gt;&lt;font color="#000000"&gt;//Add the RichTextArea to the StackPanel.&lt;/font&gt; &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#0000ff" face="Courier"&gt;MySP.Children.Add(MyRTA);&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;font color="#0000ff" face="Courier"&gt;}&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff" face="Courier"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#000000"&gt;For more details , samples and VB code see &lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.richtextarea(VS.96).aspx"&gt;RichTextArea&lt;/a&gt; reference and the &lt;a href="http://msdn.microsoft.com/en-us/library/ee681613(VS.96).aspx"&gt;RichTextArea Overview&lt;/a&gt; topics.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#000000"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#000000"&gt;-Nitya.&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9931734" width="1" height="1"&gt;</content><author><name>niravi</name><uri>http://blogs.msdn.com/members/niravi.aspx</uri></author></entry><entry><title>Silverlight 4 Beta Released!</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/silverlight_sdk/archive/2009/11/18/silverlight-4-beta-released.aspx" /><id>http://blogs.msdn.com/silverlight_sdk/archive/2009/11/18/silverlight-4-beta-released.aspx</id><published>2009-11-19T02:33:00Z</published><updated>2009-11-19T02:33:00Z</updated><content type="html">&lt;P&gt;WHOOT!&lt;/P&gt;
&lt;P&gt;Here's some links to get you synced up:&lt;BR&gt;&lt;A href="http://go.microsoft.com/fwlink/?LinkID=169468" mce_href="http://go.microsoft.com/fwlink/?LinkID=169468"&gt;&lt;BR&gt;&lt;/A&gt;- &lt;A href="http://silverlight.net/getstarted/silverlight-4-beta/" mce_href="http://silverlight.net/getstarted/silverlight-4-beta/"&gt;Get Started (e.g. get new tools, SDK, runtime, tutorials, other links)&lt;/A&gt; &lt;BR&gt;- &lt;A href="http://go.microsoft.com/fwlink/?LinkID=169468" mce_href="http://go.microsoft.com/fwlink/?LinkID=169468"&gt;What's New in Silverlight 4&lt;/A&gt;&lt;BR&gt;- &lt;A href="http://go.microsoft.com/fwlink/?LinkID=167831" mce_href="http://go.microsoft.com/fwlink/?LinkID=167831"&gt;Breaking Changes&lt;/A&gt; (good to read if you're migrating older apps to Silverlight 4) &lt;BR&gt;- &lt;A href="http://go.microsoft.com/fwlink/?LinkID=167824" mce_href="http://go.microsoft.com/fwlink/?LinkID=167824"&gt;Offline Silverlight 4 MSDN Documentation&lt;/A&gt; &lt;BR&gt;- &lt;A href="http://go.microsoft.com/fwlink/?LinkID=111305" mce_href="http://go.microsoft.com/fwlink/?LinkID=111305"&gt;Online Silverlight 4 MSDN Docs&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9924496" width="1" height="1"&gt;</content><author><name>snoutholder</name><uri>http://blogs.msdn.com/members/snoutholder.aspx</uri></author></entry><entry><title>Silverlight 4 Beta Offline MSDN docs (CHM) is available</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/silverlight_sdk/archive/2009/11/18/silverlight-4-beta-offline-msdn-docs-chm-is-available.aspx" /><id>http://blogs.msdn.com/silverlight_sdk/archive/2009/11/18/silverlight-4-beta-offline-msdn-docs-chm-is-available.aspx</id><published>2009-11-18T18:55:00Z</published><updated>2009-11-18T18:55:00Z</updated><content type="html">&lt;P&gt;You can get the &lt;A href="http://go.microsoft.com/fwlink/?LinkID=167824" mce_href="http://go.microsoft.com/fwlink/?LinkID=167824"&gt;Silverlight 4 Beta Offline MSDN documentation&amp;nbsp;here&lt;/A&gt;. The CHM is nice if you're offline plus it's faster than the online content, has an index, and only contains Silverlight content.&lt;/P&gt;
&lt;P&gt;IMPORTANT! If you open the CHM and cannot view content, do the following to resolve the issue:&lt;BR&gt;- Right-click the CHM file, and then click "Properties".&lt;BR&gt;- Click "Unblock".&lt;BR&gt;- Double-click the .chm file to open the file.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9924540" width="1" height="1"&gt;</content><author><name>snoutholder</name><uri>http://blogs.msdn.com/members/snoutholder.aspx</uri></author></entry><entry><title>Silverlight 4 Beta Bugs</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/silverlight_sdk/archive/2009/11/05/silverlight-4-beta-bugs.aspx" /><id>http://blogs.msdn.com/silverlight_sdk/archive/2009/11/05/silverlight-4-beta-bugs.aspx</id><published>2009-11-05T01:48:00Z</published><updated>2009-11-05T01:48:00Z</updated><content type="html">&lt;P mce_keep="true"&gt;This is a list of Silverlight 4 Beta Bugs that didn't make it into the readme. For a much larger list of bugs and/or issues Silverlight developers might like to know about this release, see &lt;A href="http://go.microsoft.com/fwlink/?LinkID=178030" mce_href="http://go.microsoft.com/fwlink/?LinkID=178030"&gt;Silverlight 4 Beta Release Notes&lt;/A&gt;.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Bug List:&lt;/P&gt;
&lt;P style="FONT-SIZE: 16px"&gt;&lt;STRONG&gt;Can't print to an A3 sized paper&amp;nbsp;from a Mac&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Printing to an A3 sized paper outputs a blank sheet for both portrait and lanscape prints when printed from a Mac.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9917692" width="1" height="1"&gt;</content><author><name>snoutholder</name><uri>http://blogs.msdn.com/members/snoutholder.aspx</uri></author></entry><entry><title>Are You Classic or Lightweight? The MSDN Redesign</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/silverlight_sdk/archive/2009/10/29/classic-or-lightweight-the-msdn-redesign.aspx" /><id>http://blogs.msdn.com/silverlight_sdk/archive/2009/10/29/classic-or-lightweight-the-msdn-redesign.aspx</id><published>2009-10-29T20:06:00Z</published><updated>2009-10-29T20:06:00Z</updated><content type="html">&lt;P&gt;MSDN recently rolled out new presentation choices&amp;nbsp;for its Library content, which includes the MSDN online section for Silverlight:&lt;/P&gt;
&lt;P&gt;If you haven't been there recently here's your obligatory handy link: &lt;A class="" href="http://msdn.microsoft.com/en-us/library/cc838158(VS.95).aspx" mce_href="http://msdn.microsoft.com/en-us/library/cc838158(VS.95).aspx"&gt;Silverlight 3 on MSDN&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;The added presentation choices are a Lightweight view and a Script-Free view. To change the views, click the orange, docked Switch View button. With a switched view, you may notice that you'll have an additional qualifier string in the address bar that shows you the MSDN URL, for example: &lt;A href="http://msdn.microsoft.com/en-us/library/cc838158(VS.95,classic).aspx"&gt;http://msdn.microsoft.com/en-us/library/cc838158(VS.95,classic).aspx&lt;/A&gt;&amp;nbsp;although your view is also potentially session-preserved without that necessarily being in the URL.&lt;/P&gt;
&lt;P&gt;The MSDN redesign was originally announced by &lt;A class="" href="http://blogs.msdn.com/somasegar/archive/2009/10/19/come-meet-the-new-msdn.aspx" mce_href="http://blogs.msdn.com/somasegar/archive/2009/10/19/come-meet-the-new-msdn.aspx"&gt;Soma on Oct 19th&lt;/A&gt;. You can learn more about the redesign by following links from that post.&lt;/P&gt;
&lt;P&gt;Probably the most immediately observable difference in the presentations is how the Table of Contents (TOC) is treated. In Classic view the TOC remains fully expanded for context. In Lightweight and Script-Free views, the TOC filters down to showing immediate peer topics, and does not show expansion and the set of peers that exist at each decision point as you "walked" the TOC to get to the current page. Depending on your connection&amp;nbsp;speed, Lightweight can potentially help pageload time. The TOC in Classic does a lot of scripting and downloaded pieces, and synching the TOC might be slowing down your pageloads. On the other hand, the full context of the TOC can be nice to see. Not all who wander are lost, right?&lt;/P&gt;
&lt;P&gt;I'd be interested in knowing what the Silverlight developer audience thinks of the redesign, and which view this audience prefers. The SDK team often holds the superstition that a Silverlight developer audience uses MSDN more than any offline documentation source, since Silverlight is a Web technology and MSDN is ... on the Web. Plus Silverlight inherently touches on a lot of issues of onscreen design and UI usability.&amp;nbsp;If that's so, then I'd expect Silverlight developers to be even more willing to share their opinion.&lt;/P&gt;
&lt;P&gt;Maybe it's just me, but the concept of "Classic versus Lightweight" makes me think of &lt;A class="" href="http://www.charlesatlas.com/classicads2.htm" mce_href="http://www.charlesatlas.com/classicads2.htm"&gt;Charles Atlas&lt;/A&gt;. :-)&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9914926" width="1" height="1"&gt;</content><author><name>Wolf Schmidt [MSFT]</name><uri>http://blogs.msdn.com/members/Wolf+Schmidt+%5bMSFT%5d.aspx</uri></author></entry><entry><title>Silverlight 3 online and offline Docs updated</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/silverlight_sdk/archive/2009/10/06/silverlight-3-online-and-offline-docs-updated.aspx" /><id>http://blogs.msdn.com/silverlight_sdk/archive/2009/10/06/silverlight-3-online-and-offline-docs-updated.aspx</id><published>2009-10-06T17:45:00Z</published><updated>2009-10-06T17:45:00Z</updated><content type="html">&lt;P&gt;We just refreshed the &lt;A href="http://msdn.microsoft.com/en-us/library/cc838158(VS.95).aspx" mce_href="http://msdn.microsoft.com/en-us/library/cc838158(VS.95).aspx"&gt;online docs for Silverlight 3.&lt;/A&gt; In addition, the &lt;A href="http://go.microsoft.com/fwlink/?LinkID=153675" mce_href="http://go.microsoft.com/fwlink/?LinkID=153675"&gt;offline CHM&lt;/A&gt; has been updated.&amp;nbsp;Most of the updates were just doc bug fixes. Right now writers are mostly focused on documenting Silverlight 4 Beta features (of course SL4 Beta hasn't released yet).&amp;nbsp;&lt;/P&gt;
&lt;P&gt;IMPORTANT! If you open the CHM and cannot view content, do the following to resolve the issue:&lt;BR&gt;- Right-click the CHM file, and then click "Properties".&lt;BR&gt;- Click "Unblock".&lt;BR&gt;- Double-click the .chm file to open the file.&lt;/P&gt;
&lt;P&gt;Sam&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9903855" width="1" height="1"&gt;</content><author><name>snoutholder</name><uri>http://blogs.msdn.com/members/snoutholder.aspx</uri></author></entry><entry><title>Silverlight designer sample code is posted</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/silverlight_sdk/archive/2009/09/24/silverlight-designer-sample-is-posted.aspx" /><id>http://blogs.msdn.com/silverlight_sdk/archive/2009/09/24/silverlight-designer-sample-is-posted.aspx</id><published>2009-09-24T21:45:44Z</published><updated>2009-09-24T21:45:44Z</updated><content type="html">&lt;p&gt;If you’ve been wishing for some helpful designer gestures for your Silverlight DataGrid controls, look no further. The &lt;a href="https://code.msdn.microsoft.com/Release/ProjectReleases.aspx?ProjectName=DesignerExtensbility&amp;amp;ReleaseId=3260"&gt;Silverlight Designer Sample&lt;/a&gt; is available at the &lt;a href="http://code.msdn.microsoft.com/DesignerExtensbility"&gt;WPF and Silverlight Designer Extensibility&lt;/a&gt; site. It demonstrates a pretty neat designer implementation for Silverlight’s TabControl and DataGrid controls. &lt;/p&gt;  &lt;p align="center"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Silverlight TabControl designer sample" border="0" alt="Silverlight TabControl designer sample" src="http://blogs.msdn.com/blogfiles/silverlight_sdk/WindowsLiveWriter/Silverlightdesignersampleisposted_A5A6/clip_image001_3.jpg" width="434" height="345" /&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;font size="1"&gt;Silverlight TabControl design-time implementation sample&lt;/font&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Silverlight DataGrid designer sample" border="0" alt="Silverlight DataGrid designer sample" src="http://blogs.msdn.com/blogfiles/silverlight_sdk/WindowsLiveWriter/Silverlightdesignersampleisposted_A5A6/clip_image002_3.jpg" width="434" height="450" /&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;font size="1"&gt;Silverlight DataGrid design-time implementation sample&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;You’ll need &lt;a href="http://msdn.microsoft.com/en-us/vstudio/dd582936.aspx"&gt;Visual Studio 2010 Beta 1&lt;/a&gt; or higher. Download the code from here: &lt;a href="https://code.msdn.microsoft.com/Release/ProjectReleases.aspx?ProjectName=DesignerExtensbility&amp;amp;ReleaseId=3260"&gt;Silverlight Designer Sample&lt;/a&gt; and enjoy.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:31ac2d07-63d4-4fa4-aeb3-c8c48f4c72b8" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Silverlight" rel="tag"&gt;Silverlight&lt;/a&gt;,&lt;a href="http://technorati.com/tags/WPF" rel="tag"&gt;WPF&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Visual+Studio" rel="tag"&gt;Visual Studio&lt;/a&gt;,&lt;a href="http://technorati.com/tags/designer" rel="tag"&gt;designer&lt;/a&gt;,&lt;a href="http://technorati.com/tags/DataGrid" rel="tag"&gt;DataGrid&lt;/a&gt;,&lt;a href="http://technorati.com/tags/.NET+Framework" rel="tag"&gt;.NET Framework&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9899096" width="1" height="1"&gt;</content><author><name>jgalasyn</name><uri>http://blogs.msdn.com/members/jgalasyn.aspx</uri></author><category term="Silverlight" scheme="http://blogs.msdn.com/silverlight_sdk/archive/tags/Silverlight/default.aspx" /><category term="DataGrid" scheme="http://blogs.msdn.com/silverlight_sdk/archive/tags/DataGrid/default.aspx" /><category term="Visual Studio" scheme="http://blogs.msdn.com/silverlight_sdk/archive/tags/Visual+Studio/default.aspx" /><category term="WPF" scheme="http://blogs.msdn.com/silverlight_sdk/archive/tags/WPF/default.aspx" /><category term=".NET Framework" scheme="http://blogs.msdn.com/silverlight_sdk/archive/tags/.NET+Framework/default.aspx" /><category term="designer" scheme="http://blogs.msdn.com/silverlight_sdk/archive/tags/designer/default.aspx" /></entry><entry><title>Bing Visual Search Powered by Silverlight!</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/silverlight_sdk/archive/2009/09/16/bing-visual-search-powered-by-silverlight.aspx" /><id>http://blogs.msdn.com/silverlight_sdk/archive/2009/09/16/bing-visual-search-powered-by-silverlight.aspx</id><published>2009-09-16T23:58:00Z</published><updated>2009-09-16T23:58:00Z</updated><content type="html">&lt;P&gt;&lt;A href="http://www.bing.com/search?q=Yusuf+Mehdi+&amp;amp;form=QBLH&amp;amp;qs=n" mce_href="http://www.bing.com/search?q=Yusuf+Mehdi+&amp;amp;form=QBLH&amp;amp;qs=n"&gt;Yusuf Mehdi&lt;/A&gt; demonstrated Bing's new &lt;A href="http://msdn.microsoft.com/en-us/library/cc838158(VS.95).aspx" mce_href="http://msdn.microsoft.com/en-us/library/cc838158(VS.95).aspx"&gt;Silverlight&lt;/A&gt; powered &lt;A href="http://www.bing.com/visualsearch" mce_href="http://www.bing.com/visualsearch"&gt;Visual Search&lt;/A&gt; experience yesterday. Using &lt;A href="http://www.bing.com/visualsearch" mce_href="http://www.bing.com/visualsearch"&gt;Visual Search&lt;/A&gt; you can&amp;nbsp;use images as keywords&amp;nbsp;to search the Web.&amp;nbsp;&lt;FONT color=#333333&gt; Visual Search allows you to quickly scroll through the gallery content or do a one-click refinement using the quick tabs on the left, which are specifically relevant to the type of results you are browsing through.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;Visual Search is a Silverlight application, as Silverlight allows fast manipulation of the large data sets that hold the information of each gallery and also a compelling visual presentation of the data. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;Enjoy the Visual Search&lt;A href="http://www.bing.com/visualsearch" mce_href="http://www.bing.com/visualsearch"&gt; here&lt;/A&gt;. For more information visit the &lt;A href="http://www.bing.com/community/blogs/search/archive/2009/09/14/visual-search-why-type-when-you-can-see-it.aspx" mce_href="http://www.bing.com/community/blogs/search/archive/2009/09/14/visual-search-why-type-when-you-can-see-it.aspx"&gt;Bing Blog&lt;/A&gt;.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&amp;nbsp;-Nitya.&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9896095" width="1" height="1"&gt;</content><author><name>niravi</name><uri>http://blogs.msdn.com/members/niravi.aspx</uri></author></entry><entry><title>Silverlight delivers online viewing experience for Sunday Night Football</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/silverlight_sdk/archive/2009/09/10/silverlight-delivers-online-viewing-experience-for-sunday-night-football-first-game-tonight.aspx" /><id>http://blogs.msdn.com/silverlight_sdk/archive/2009/09/10/silverlight-delivers-online-viewing-experience-for-sunday-night-football-first-game-tonight.aspx</id><published>2009-09-11T00:21:36Z</published><updated>2009-09-11T00:21:36Z</updated><content type="html">&lt;p&gt;The NFL and NBC will be delivering the entire Sunday Night Football season by using Silverlight 3.0 and IIS Smooth Streaming. The first game of the season will be broadcast tonight, with the Tennessee Titans &lt;em&gt;vs.&lt;/em&gt; the Pittsburg Steelers. Game starts at &lt;strong&gt;5:00pm PST&lt;/strong&gt; and you can watch online for free: &lt;a href="http://snfextra.nbcsports.com/"&gt;http://snfextra.nbcsports.com/&lt;/a&gt;.&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/silverlight_sdk/WindowsLiveWriter/Silverlightdeliversonlineviewingexperien_C62D/clip_image002_2.jpg"&gt;&lt;img style="display: inline" title="clip_image002" alt="clip_image002" src="http://blogs.msdn.com/blogfiles/silverlight_sdk/WindowsLiveWriter/Silverlightdeliversonlineviewingexperien_C62D/clip_image002_thumb.jpg" width="687" height="455" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Here are a few of the benefits Silverlight delivers:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;A full screen video player that is capable of delivering 720p HD video. &lt;i&gt;TV quality on the web.&lt;/i&gt; &lt;/li&gt;    &lt;li&gt;A main HD video feed, plus 4 user-selectable alternate synchronized camera feeds that allows users to switch camera angles themselves. &lt;i&gt;Your TV can’t do that.&lt;/i&gt; &lt;/li&gt;    &lt;li&gt;Adaptive smooth streaming of live HD video, which enables the video player to automatically switch bitrates on the fly depending on networking/CPU conditions. &lt;i&gt;No buffering/stuttering experience.&lt;/i&gt; &lt;/li&gt;    &lt;li&gt;DVR support of the live video, including Pause, Instant Replay, Slow Motion, Skip Forward/Back. &lt;i&gt;You can pause and rewind on live video.&lt;/i&gt; &lt;/li&gt;    &lt;li&gt;Play-by-play data (touchdowns, fumbles, etc) inserted as tooltip chapter markers on the scrubber at the bottom allowing you to quickly seek to key moments. &lt;i&gt;A smarter, contextual DVR.&lt;/i&gt; &lt;/li&gt;    &lt;li&gt;Highlights of major plays created within minutes of the play.&lt;i&gt; NBC is cutting on-demand highlights and publishing them on-the-fly with Smooth Streaming.&lt;/i&gt; &lt;/li&gt;    &lt;li&gt;Sideline interviews with the players. &lt;i&gt;No more channel surfing, you are one click away from additional content.&lt;/i&gt; &lt;/li&gt;    &lt;li&gt;Game statistics. &lt;i&gt;These are live stats coming dir-ctly in real-time from the NFL.&lt;/i&gt; &lt;/li&gt;    &lt;li&gt;Game commentary and Q&amp;amp;A with the SNF hosts. &lt;i&gt;Chat with the live TV broadcasters.&lt;/i&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Enjoy! &lt;a href="http://snfextra.nbcsports.com/"&gt;http://snfextra.nbcsports.com/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:1723bde8-2db3-4558-b18d-7890a0176d64" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/.NET+Framework" rel="tag"&gt;.NET Framework&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Silverlight" rel="tag"&gt;Silverlight&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9893880" width="1" height="1"&gt;</content><author><name>jgalasyn</name><uri>http://blogs.msdn.com/members/jgalasyn.aspx</uri></author><category term="Silverlight" scheme="http://blogs.msdn.com/silverlight_sdk/archive/tags/Silverlight/default.aspx" /><category term=".NET Framework" scheme="http://blogs.msdn.com/silverlight_sdk/archive/tags/.NET+Framework/default.aspx" /></entry><entry><title>New networking stack in Silverlight 3</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/silverlight_sdk/archive/2009/08/12/new-networking-stack-in-silverlight-3.aspx" /><id>http://blogs.msdn.com/silverlight_sdk/archive/2009/08/12/new-networking-stack-in-silverlight-3.aspx</id><published>2009-08-13T01:40:00Z</published><updated>2009-08-13T01:40:00Z</updated><content type="html">&lt;p&gt;In previous versions of Silverlight, the browser handled all the HTTP communication for the Silverlight plug-in. The browser HTTP stack works well but has some limitations including the HTTP methods you can use and the response codes that are accepted. In Silverlight 3, you can opt-in to have the Silverlight client perform the HTTP handling. By opt-in, I mean, if you don't specifically choose the client to perform HTTP processing, it will be done by the browser, just like it always has been. However, if you decide you need to call REST services, you can easily do this with Silverlight3 by opting in to the client HTTP stack. &lt;/p&gt;  &lt;p mce_keep="true"&gt;Here’s a table that summarizes some of the basic HTTP capabilities of Silverlight 3 and whether browser or client HTTP handling supports the capability.&lt;/p&gt;  &lt;p mce_keep="true"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/silverlight_sdk/WindowsLiveWriter/NewnetworkingstackinSilverlight3_DC65/image_8.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/silverlight_sdk/WindowsLiveWriter/NewnetworkingstackinSilverlight3_DC65/image_thumb_3.png" width="811" height="391" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Specifying the HTTP stack is easy. You simply call the &lt;a href="http://msdn.microsoft.com/en-us/library/system.net.webrequest.registerprefix(VS.95).aspx"&gt;WebRequest.RegisterPrefix&lt;/a&gt; method, passing the &lt;a href="http://msdn.microsoft.com/en-us/library/system.net.browser.webrequestcreator.clienthttp(VS.95).aspx"&gt;ClientHttp&lt;/a&gt; object to specify client HTTP handling or a &lt;a href="http://msdn.microsoft.com/en-us/library/system.net.browser.webrequestcreator.browserhttp(VS.95).aspx"&gt;BrowserHttp&lt;/a&gt; object to specify browser HTTP handling. You do this before you make any web requests. One important thing to remember is that once you have specified the client or browser HTTP stack for a particular domain or scheme, you can’t change it. &lt;/p&gt;  &lt;p&gt;The following code shows how to specify client handling all HTTP and HTTPS requests and responses.&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff" face="Courier New"&gt;bool httpResult = WebRequest.RegisterPrefix(&amp;quot;http://&amp;quot;, WebRequestCreator.ClientHttp); &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff" face="Courier New"&gt;bool httpsResult = WebRequest.RegisterPrefix(&amp;quot;https://&amp;quot;, WebRequestCreator.ClientHttp);&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff" face="Courier New"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;You can also use the &lt;a href="http://msdn.microsoft.com/en-us/library/system.net.webrequest.registerprefix(VS.95).aspx"&gt;WebRequest.RegisterPrefix&lt;/a&gt; method to register a specific domain. The following code shows and example of how to do this.&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff" face="Courier New"&gt;HttpWebRequest request = (HttpWebRequest)WebRequestCreator.ClientHttp.Create(new Uri( &lt;/font&gt;&lt;a href="http://api.search.live.net/qson.aspx?query=Silverlight"&gt;&lt;font face="Courier New"&gt;http://api.search.live.net/qson.aspx?query=Silverlight&lt;/font&gt;&lt;/a&gt;&lt;font face="Courier New"&gt;));&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;For more details (and VB code) on specifying Client or browser HTTP handling, see &lt;a href="http://msdn.microsoft.com/en-us/library/dd920295(VS.95).aspx"&gt;How to: Specify Client or Browser HTTP Handling&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;For more details on general HTTP capabilities and how to make HTTP requests with Silverlight, plus some security considerations if you are hosting Web services for Silverlight clients, see &lt;a href="http://msdn.microsoft.com/en-us/library/cc838250(VS.95).aspx"&gt;HTTP Communication and Security with Silverlight&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9867280" width="1" height="1"&gt;</content><author><name>cherylws</name><uri>http://blogs.msdn.com/members/cherylws.aspx</uri></author></entry><entry><title>Seadragon.Com</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/silverlight_sdk/archive/2009/08/06/seadragon-com.aspx" /><id>http://blogs.msdn.com/silverlight_sdk/archive/2009/08/06/seadragon-com.aspx</id><published>2009-08-06T20:51:00Z</published><updated>2009-08-06T20:51:00Z</updated><content type="html">&lt;P&gt;Microsoft Live Labs recently released &lt;A class="" href="http://seadragon.com/" mce_href="http://seadragon.com/"&gt;Seadragon.Com&lt;/A&gt;. Using Seadragon, you can share any size image on the net&amp;nbsp;as a zoomable photo. You can then share the image on Facebook, Twitter, or&amp;nbsp; embed it directly on your blog or any other site.&lt;/P&gt;
&lt;P&gt;The picture viewer is developed using the Silverlight &lt;A class="" href="http://msdn.microsoft.com/en-us/library/cc645050(VS.95).aspx" mce_href="http://msdn.microsoft.com/en-us/library/cc645050(VS.95).aspx"&gt;Deep Zoom&lt;/A&gt; technology because of which the image loads quickly irrespective of the size. The viewer also&amp;nbsp;adjusts dynamically to the layout of your page, or can be easily&amp;nbsp;customized to a specific size so that any size image fits perfectly on your site. And since &lt;A class="" href="http://seadragon.com/" mce_href="http://seadragon.com/"&gt;Seadragon.com&lt;/A&gt; uses a dual-mode Silverlight &amp;amp; AJAX control, it works on virtually any browser--automatically using Silverlight to provide a smoother experience and better performance when available, and defaulting to a scripted viewer when it is not.&lt;/P&gt;
&lt;P&gt;You can learn more about Deep Zoom in &lt;A class="" href="http://msdn.microsoft.com/en-us/library/cc645050(VS.95).aspx" mce_href="http://msdn.microsoft.com/en-us/library/cc645050(VS.95).aspx"&gt;Silverlight Deep Zoom Documentation&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;-Nitya.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9859459" width="1" height="1"&gt;</content><author><name>niravi</name><uri>http://blogs.msdn.com/members/niravi.aspx</uri></author><category term="Silverlight" scheme="http://blogs.msdn.com/silverlight_sdk/archive/tags/Silverlight/default.aspx" /><category term="Deep Zoom" scheme="http://blogs.msdn.com/silverlight_sdk/archive/tags/Deep+Zoom/default.aspx" /></entry><entry><title>Use Try/Catch Block with Analytics Object (Silverlight 3 bug)</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/silverlight_sdk/archive/2009/07/27/use-try-catch-block-with-analytics-object-silverlight-3-bug.aspx" /><id>http://blogs.msdn.com/silverlight_sdk/archive/2009/07/27/use-try-catch-block-with-analytics-object-silverlight-3-bug.aspx</id><published>2009-07-27T23:19:00Z</published><updated>2009-07-27T23:19:00Z</updated><content type="html">&lt;P&gt;Some folks have found that a small percentage of customer machines are throwing an exception when the Analytics object is instantiated. To work around this bug for now, use a Try/Catch block when you attempt to instantiate the Analytics object. &lt;/P&gt;
&lt;P&gt;For more information on the underlying issue, see &lt;A href="http://support.microsoft.com/kb/300956"&gt;http://support.microsoft.com/kb/300956&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9850304" width="1" height="1"&gt;</content><author><name>snoutholder</name><uri>http://blogs.msdn.com/members/snoutholder.aspx</uri></author></entry></feed>