<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>A Cup of Silverlight, RIA &amp; Interoperability : Implementation</title><link>http://blogs.msdn.com/silverlight_plus_java/archive/tags/Implementation/default.aspx</link><description>Tags: Implementation</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>eclipse4SL : “DataGrid” Tutorial</title><link>http://blogs.msdn.com/silverlight_plus_java/archive/2008/10/13/eclipse4sl-datagrid-tutorial.aspx</link><pubDate>Mon, 13 Oct 2008 15:11:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8998818</guid><dc:creator>Steve SFARTZ</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/silverlight_plus_java/comments/8998818.aspx</comments><wfw:commentRss>http://blogs.msdn.com/silverlight_plus_java/commentrss.aspx?PostID=8998818</wfw:commentRss><description>&lt;H4&gt;&lt;U&gt;Duration&lt;/U&gt;&lt;/H4&gt;
&lt;P&gt;20 minutes&lt;/P&gt;
&lt;H4&gt;&lt;U&gt;Description&lt;/U&gt;&lt;/H4&gt;
&lt;P&gt;This tutorial demonstrates how to populate a DataGrid with dynamic data. When you press the Load Button, the DataGrid will be filled in, and eventually filtered if a filter has been specified. A pdf version of this tutorial is attached at the end of this post and accessible &lt;A class="" href="http://blogs.msdn.com/silverlight_plus_java/attachment/8998818.ashx" mce_href="http://blogs.msdn.com/silverlight_plus_java/attachment/8998818.ashx"&gt;&lt;FONT color=#176db5&gt;here&lt;/FONT&gt;&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLDataGridTutorial_16D3/clip_image002_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLDataGridTutorial_16D3/clip_image002_2.jpg"&gt;&lt;IMG title=clip_image002 style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=233 alt=clip_image002 src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLDataGridTutorial_16D3/clip_image002_thumb.jpg" width=244 border=0 mce_src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLDataGridTutorial_16D3/clip_image002_thumb.jpg"&gt;&lt;/A&gt; &lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLDataGridTutorial_16D3/clip_image004_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLDataGridTutorial_16D3/clip_image004_2.jpg"&gt;&lt;IMG title=clip_image004 style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=233 alt=clip_image004 src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLDataGridTutorial_16D3/clip_image004_thumb.jpg" width=244 border=0 mce_src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLDataGridTutorial_16D3/clip_image004_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;H4&gt;&lt;U&gt;Prerequisites&lt;/U&gt;&lt;/H4&gt;
&lt;P&gt;&lt;U&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLDataGridTutorial_16D3/clip_image006_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLDataGridTutorial_16D3/clip_image006_2.jpg"&gt;&lt;/A&gt;&lt;/U&gt;&lt;SPAN lang=EN-US style="mso-bidi-font-size: 13.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial; mso-fareast-language: FR; mso-bidi-font-weight: bold"&gt;&lt;FONT face=Calibri size=3&gt;After &lt;/FONT&gt;&lt;/SPAN&gt;&lt;A href="http://www.eclipse4sl.org/download/"&gt;&lt;SPAN lang=EN-US style="mso-bidi-font-size: 13.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial; mso-fareast-language: FR; mso-bidi-font-weight: bold"&gt;&lt;FONT face=Calibri size=3&gt;installing eclipse4SL&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN lang=EN-US style="mso-bidi-font-size: 13.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial; mso-fareast-language: FR; mso-bidi-font-weight: bold"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;, you should have activated the Silverlight perspective by selecting one of them from the menu Window &amp;gt; Open Perspective &amp;gt; Other….&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; (f&lt;/SPAN&gt;or a detailed procedure, read the &lt;A class="" href="http://blogs.msdn.com/silverlight_plus_java/archive/2008/10/13/eclipse4sl-hello-world-tutorial.aspx" mce_href="http://blogs.msdn.com/silverlight_plus_java/archive/2008/10/13/eclipse4sl-hello-world-tutorial.aspx"&gt;Hello World Tutorial&lt;/A&gt;).&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;U&gt;&lt;/U&gt;&lt;/B&gt;&lt;/P&gt;
&lt;H4&gt;&lt;B&gt;&lt;U&gt;Creating the Silverlight User Interface&lt;/U&gt;&lt;/B&gt;&lt;/H4&gt;
&lt;P&gt;We'll start by selecting the File-&amp;gt;New menu item within Eclipse and use the eclipse4SL Silverlight Project menu to create a "Silverlight Web Project" , named DataGridTutorial.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLDataGridTutorial_16D3/clip_image008_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLDataGridTutorial_16D3/clip_image008_2.jpg"&gt;&lt;IMG title=clip_image008 style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=284 alt=clip_image008 src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLDataGridTutorial_16D3/clip_image008_thumb.jpg" width=298 border=0 mce_src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLDataGridTutorial_16D3/clip_image008_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Open the Page.xaml control, remove the Grid component.&lt;/P&gt;
&lt;P&gt;Drag and drop the StackPanel container from the Palette, and add 4 components inside by drag and drop too :&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;a TextBock which Text value is “Filter :”&lt;/LI&gt;
&lt;LI&gt;a TextBox which Text value is empty&lt;/LI&gt;
&lt;LI&gt;a Button which Content value is “Load”&lt;/LI&gt;
&lt;LI&gt;and our DataGrid which Width and Height are 380 and 230 respectively&lt;/LI&gt;&lt;/UL&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #3f7f7f; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;UserControl&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;SPAN style="COLOR: #7f007f"&gt;x:Class&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"DataGridTutorial.Page"&lt;/SPAN&gt;&lt;/I&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #7f007f"&gt;xmlns&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"http://schemas.microsoft.com/winfx/2006/xaml/presentation"&lt;/SPAN&gt;&lt;/I&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #7f007f"&gt;xmlns:x&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"http://schemas.microsoft.com/winfx/2006/xaml"&lt;/SPAN&gt;&lt;/I&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="COLOR: #7f007f"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Width&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"400"&lt;/SPAN&gt;&lt;/I&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #7f007f"&gt;Height&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"300"&lt;/SPAN&gt;&lt;/I&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #7f007f"&gt;xmlns:Controls&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data"&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="COLOR: teal"&gt;&amp;gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #3f7f7f; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;StackPanel&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #3f7f7f; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;TextBlock&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;SPAN style="COLOR: #7f007f"&gt;Text&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"Filter :"&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="COLOR: teal"&gt;&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #3f7f7f"&gt;TextBlock&lt;/SPAN&gt;&lt;SPAN style="COLOR: teal"&gt;&amp;gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #3f7f7f; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;TextBox&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;SPAN style="COLOR: #7f007f"&gt;Text&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;""&lt;/SPAN&gt;&lt;/I&gt; &lt;SPAN style="COLOR: teal"&gt;/&amp;gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #3f7f7f; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;Button&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;SPAN style="COLOR: #7f007f"&gt;Content&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"Load"&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="COLOR: teal"&gt;&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #3f7f7f"&gt;Button&lt;/SPAN&gt;&lt;SPAN style="COLOR: teal"&gt;&amp;gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #3f7f7f; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;Controls:DataGrid&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;SPAN style="COLOR: #7f007f"&gt;Width&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"380"&lt;/SPAN&gt;&lt;/I&gt; &lt;SPAN style="COLOR: #7f007f"&gt;Height&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"230"&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="COLOR: teal"&gt;&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #3f7f7f"&gt;Controls:DataGrid&lt;/SPAN&gt;&lt;SPAN style="COLOR: teal"&gt;&amp;gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #3f7f7f; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;StackPanel&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #3f7f7f; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;UserControl&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&amp;gt; 
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P&gt;Notice that as you have dropped a DataGrid on to the XAML code, a reference to the assembly containing the component is automatically added to the Silverlight project (&lt;I&gt;System.Windows.Controls.Data).&lt;/I&gt; The following XAML rendering is displayed :&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLDataGridTutorial_16D3/clip_image010_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLDataGridTutorial_16D3/clip_image010_2.jpg"&gt;&lt;IMG title=clip_image010 style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=420 alt=clip_image010 src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLDataGridTutorial_16D3/clip_image010_thumb.jpg" width=609 border=0 mce_src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLDataGridTutorial_16D3/clip_image010_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;To obtain the arrangement and look &amp;amp; feel proposed at the beginning of the document, use a Canvas, and specific positions for the different components. Replace the StackPanel and its contents by the following XAML :&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #3f7f7f; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;UserControl&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;SPAN style="COLOR: #7f007f"&gt;x:Class&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"DataGridTutorial.Page"&lt;/SPAN&gt;&lt;/I&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #7f007f"&gt;xmlns:my&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data"&lt;/SPAN&gt;&lt;/I&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #7f007f"&gt;xmlns&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"http://schemas.microsoft.com/winfx/2006/xaml/presentation"&lt;/SPAN&gt;&lt;/I&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #7f007f"&gt;xmlns:x&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"http://schemas.microsoft.com/winfx/2006/xaml"&lt;/SPAN&gt;&lt;/I&gt; &lt;SPAN style="COLOR: #7f007f"&gt;Width&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"400"&lt;/SPAN&gt;&lt;/I&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #7f007f"&gt;Height&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"300"&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="COLOR: teal"&gt;&amp;gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #3f7f7f; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;Canvas&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;SPAN style="COLOR: #7f007f"&gt;x:Name&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"LayoutRoot"&lt;/SPAN&gt;&lt;/I&gt; &lt;SPAN style="COLOR: #7f007f"&gt;Background&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"Azure"&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="COLOR: teal"&gt;&amp;gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #3f7f7f; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;TextBlock&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;SPAN style="COLOR: #7f007f"&gt;Text&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"Filter :"&lt;/SPAN&gt;&lt;/I&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;I&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #2a00ff; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #7f007f; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;Canvas.Left&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #2a00ff; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;"10" &lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #7f007f; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;Canvas.Top&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #2a00ff; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;"15"&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;SPAN style="COLOR: #7f007f"&gt;Width&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"100"&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="COLOR: teal"&gt;&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #3f7f7f"&gt;TextBlock&lt;/SPAN&gt;&lt;SPAN style="COLOR: teal"&gt;&amp;gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #3f7f7f; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;TextBox&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;SPAN style="COLOR: #7f007f"&gt;Text&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;""&lt;/SPAN&gt;&lt;/I&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="COLOR: #7f007f"&gt;Canvas.Left&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"60" &lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="COLOR: #7f007f"&gt;Canvas.Top&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"10"&lt;/SPAN&gt;&lt;/I&gt; &lt;SPAN style="COLOR: #7f007f"&gt;Width&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"100"&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="COLOR: teal"&gt;&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #3f7f7f"&gt;TextBox&lt;/SPAN&gt;&lt;SPAN style="COLOR: teal"&gt;&amp;gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #3f7f7f; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;Button&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;SPAN style="COLOR: #7f007f"&gt;Content&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"Load"&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="COLOR: #7f007f"&gt; &lt;/P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #7f007f"&gt;Canvas.Left&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"180"&lt;/SPAN&gt;&lt;/I&gt; &lt;SPAN style="COLOR: #7f007f"&gt;Canvas.Top&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"11"&lt;/SPAN&gt;&lt;/I&gt; &lt;SPAN style="COLOR: #7f007f"&gt;Width&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"50"&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="COLOR: teal"&gt;&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #3f7f7f"&gt;Button&lt;/SPAN&gt;&lt;SPAN style="COLOR: teal"&gt;&amp;gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #3f7f7f; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;my:DataGrid&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #3f7f7f; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #7f007f; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;Canvas.Left&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #2a00ff; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;"10"&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;SPAN style="COLOR: #7f007f"&gt;Canvas.Top&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"50"&lt;/SPAN&gt;&lt;/I&gt; &lt;SPAN style="COLOR: #7f007f"&gt;Width&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"380"&lt;/SPAN&gt;&lt;/I&gt; &lt;SPAN style="COLOR: #7f007f"&gt;Height&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"230"&lt;/SPAN&gt;&lt;/I&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #7f007f"&gt;RowBackground&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"Aquamarine"&lt;/SPAN&gt;&lt;/I&gt; &lt;SPAN style="COLOR: #7f007f"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="COLOR: #7f007f"&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;AlternatingRowBackground&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"White"&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="COLOR: teal"&gt;&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #3f7f7f"&gt;my:DataGrid&lt;/SPAN&gt;&lt;SPAN style="COLOR: teal"&gt;&amp;gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;/SPAN&gt;&lt;/BLOCKQUOTE&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #3f7f7f; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;Canvas&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #3f7f7f; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;UserControl&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 6pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; 
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLDataGridTutorial_16D3/clip_image012_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLDataGridTutorial_16D3/clip_image012_2.jpg"&gt;&lt;IMG title=clip_image012 style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=433 alt=clip_image012 src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLDataGridTutorial_16D3/clip_image012_thumb.jpg" width=608 border=0 mce_src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLDataGridTutorial_16D3/clip_image012_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Let’s run the project, by creating a Run Configuration for our project as described in the HelloWorld Tutorial.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLDataGridTutorial_16D3/clip_image014_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLDataGridTutorial_16D3/clip_image014_2.jpg"&gt;&lt;IMG title=clip_image014 style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=292 alt=clip_image014 src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLDataGridTutorial_16D3/clip_image014_thumb.jpg" width=292 border=0 mce_src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLDataGridTutorial_16D3/clip_image014_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;U&gt;&lt;BR&gt;&lt;/U&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;U&gt;&lt;/U&gt;&lt;/B&gt;&lt;/P&gt;
&lt;H4&gt;&lt;U&gt;Adding behavior to the User Interface&lt;/U&gt;&lt;/H4&gt;
&lt;P&gt;Now, let’s assign names to the Filter and our DataGrid so that we can access them from our C# code behind. Add the property x:Name=”country” to the TextBox and x:Name=“grid” to our DataGrid. Moreover, we’ll add the AutoGenerateColumns property to the DataGrid so that it automatically adapts to the data source it is connected to.&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #3f7f7f; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;UserControl&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;SPAN style="COLOR: #7f007f"&gt;x:Class&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"DataGridTutorial.Page"&lt;/SPAN&gt;&lt;/I&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #7f007f"&gt;xmlns:my&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data"&lt;/SPAN&gt;&lt;/I&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #7f007f"&gt;xmlns&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"http://schemas.microsoft.com/winfx/2006/xaml/presentation"&lt;/SPAN&gt;&lt;/I&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #7f007f"&gt;xmlns:x&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"http://schemas.microsoft.com/winfx/2006/xaml"&lt;/SPAN&gt;&lt;/I&gt; &lt;SPAN style="COLOR: #7f007f"&gt;Width&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"400"&lt;/SPAN&gt;&lt;/I&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #7f007f"&gt;Height&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"300"&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="COLOR: teal"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #3f7f7f; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;Canvas&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;SPAN style="COLOR: #7f007f"&gt;x:Name&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"LayoutRoot"&lt;/SPAN&gt;&lt;/I&gt; &lt;SPAN style="COLOR: #7f007f"&gt;Background&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"Azure"&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="COLOR: teal"&gt;&amp;gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #3f7f7f; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;TextBlock&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;SPAN style="COLOR: #7f007f"&gt;Text&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"Filter :"&lt;/SPAN&gt;&lt;/I&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;I&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #2a00ff; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #7f007f; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;Canvas.Left&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #2a00ff; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;"10" &lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #7f007f; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;Canvas.Top&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #2a00ff; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;"15"&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;SPAN style="COLOR: #7f007f"&gt;Width&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"100"&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="COLOR: teal"&gt;&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #3f7f7f"&gt;TextBlock&lt;/SPAN&gt;&lt;SPAN style="COLOR: teal"&gt;&amp;gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #3f7f7f; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;TextBox&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;SPAN style="COLOR: #7f007f"&gt;Text&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;""&lt;/SPAN&gt;&lt;/I&gt; &lt;SPAN style="COLOR: #7f007f"&gt;x:Name&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"country"&lt;/SPAN&gt;&lt;/I&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #7f007f"&gt;Canvas.Left&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"60"&lt;/SPAN&gt;&lt;/I&gt; &lt;SPAN style="COLOR: #7f007f"&gt;Canvas.Top&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"10"&lt;/SPAN&gt;&lt;/I&gt; &lt;SPAN style="COLOR: #7f007f"&gt;Width&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"100"&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="COLOR: teal"&gt;&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #3f7f7f"&gt;TextBox&lt;/SPAN&gt;&lt;SPAN style="COLOR: teal"&gt;&amp;gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #3f7f7f; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;Button&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;SPAN style="COLOR: #7f007f"&gt;Content&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"Load"&lt;/SPAN&gt;&lt;/I&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #7f007f"&gt;Canvas.Left&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"180"&lt;/SPAN&gt;&lt;/I&gt; &lt;SPAN style="COLOR: #7f007f"&gt;Canvas.Top&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"11"&lt;/SPAN&gt;&lt;/I&gt; &lt;SPAN style="COLOR: #7f007f"&gt;Width&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"50"&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="COLOR: teal"&gt;&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #3f7f7f"&gt;Button&lt;/SPAN&gt;&lt;SPAN style="COLOR: teal"&gt;&amp;gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #3f7f7f; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;my:DataGrid&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;SPAN style="COLOR: #7f007f"&gt;x:Name&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"grid"&lt;/SPAN&gt;&lt;/I&gt; &lt;SPAN style="COLOR: #7f007f"&gt;AutoGenerateColumns&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"True"&lt;/SPAN&gt;&lt;/I&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #3f7f7f; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #7f007f; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;Canvas.Left&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #2a00ff; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;"10"&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;SPAN style="COLOR: #7f007f"&gt;Canvas.Top&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"50"&lt;/SPAN&gt;&lt;/I&gt; &lt;SPAN style="COLOR: #7f007f"&gt;Width&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"380"&lt;/SPAN&gt;&lt;/I&gt; &lt;SPAN style="COLOR: #7f007f"&gt;Height&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"230"&lt;/SPAN&gt;&lt;/I&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #7f007f"&gt;RowBackground&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"Aquamarine"&lt;/SPAN&gt;&lt;/I&gt; &lt;SPAN style="COLOR: #7f007f"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="COLOR: #7f007f"&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; AlternatingRowBackground&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"White"&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="COLOR: teal"&gt;&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #3f7f7f"&gt;my:DataGrid&lt;/SPAN&gt;&lt;SPAN style="COLOR: teal"&gt;&amp;gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #3f7f7f; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;Canvas&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: teal; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: teal; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #3f7f7f; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;UserControl&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: teal; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&amp;gt; 
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P&gt;Finally, we’ll add an event handler to the Click event on the button. Position your cursor right after the Content of the Button, and press CTRL – SpaceBar for Code Content Assist. &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLDataGridTutorial_16D3/clip_image016_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLDataGridTutorial_16D3/clip_image016_2.jpg"&gt;&lt;IMG title=clip_image016 style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=379 alt=clip_image016 src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLDataGridTutorial_16D3/clip_image016_thumb.jpg" width=608 border=0 mce_src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLDataGridTutorial_16D3/clip_image016_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Select the Click event. After a second, a wizard is displayed that let you specify the name of the C# code behind associated with the button Click action. &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLDataGridTutorial_16D3/clip_image018_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLDataGridTutorial_16D3/clip_image018_2.jpg"&gt;&lt;IMG title=clip_image018 style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=322 alt=clip_image018 src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLDataGridTutorial_16D3/clip_image018_thumb.jpg" width=608 border=0 mce_src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLDataGridTutorial_16D3/clip_image018_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Name it Button_Click and confirm. You are automatically directed to the code behind file Page.xaml.cs. &lt;/P&gt;
&lt;P&gt;Let’s affect a static list to our DataGrid by setting its ItemsSource. &lt;/P&gt;
&lt;P&gt;Copy and paste the following code : &lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;using ...;&lt;/SPAN&gt;&lt;/B&gt; 
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;namespace&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; DataGridTutorial&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;{&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;public&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;partial&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;class&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; Page : UserControl&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #408080; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;/**&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #408080; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;* Event handler of &amp;lt;code&amp;gt;Button.Click&amp;lt;/code&amp;gt;.&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #408080; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;*/&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;private&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #4000c8; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;void&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; Button_Click(&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #4000c8; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;object&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; sender, RoutedEventArgs arg1) {&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="BACKGROUND: yellow; mso-highlight: yellow"&gt;grid.ItemsSource = &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; BACKGROUND: yellow; COLOR: #7f0055; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us; mso-highlight: yellow"&gt;new&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; BACKGROUND: yellow; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us; mso-highlight: yellow"&gt; &lt;/SPAN&gt;&lt;B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; BACKGROUND: yellow; COLOR: #4000c8; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us; mso-highlight: yellow"&gt;string&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; BACKGROUND: yellow; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us; mso-highlight: yellow"&gt;[] { &lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; BACKGROUND: yellow; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us; mso-highlight: yellow"&gt;"Eclipse Tools for Silverlight"&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; BACKGROUND: yellow; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us; mso-highlight: yellow"&gt;, &lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; BACKGROUND: yellow; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us; mso-highlight: yellow"&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; BACKGROUND: yellow; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us; mso-highlight: yellow"&gt;&lt;SPAN style="mso-tab-count: 7"&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;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; BACKGROUND: yellow; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us; mso-highlight: yellow"&gt;"is an open source project"&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; BACKGROUND: yellow; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us; mso-highlight: yellow"&gt;, &lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; BACKGROUND: yellow; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us; mso-highlight: yellow"&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; BACKGROUND: yellow; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us; mso-highlight: yellow"&gt;&lt;SPAN style="mso-tab-count: 7"&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;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; BACKGROUND: yellow; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us; mso-highlight: yellow"&gt;"delivered by SOYATEC"&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; BACKGROUND: yellow; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us; mso-highlight: yellow"&gt;, &lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; BACKGROUND: yellow; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us; mso-highlight: yellow"&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; BACKGROUND: yellow; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us; mso-highlight: yellow"&gt;&lt;SPAN style="mso-tab-count: 7"&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;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; BACKGROUND: yellow; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us; mso-highlight: yellow"&gt;"and funded by Microsoft"&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; BACKGROUND: yellow; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us; mso-highlight: yellow"&gt; };&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; TEXT-INDENT: 35.4pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;}&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;public&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; Page()&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;InitializeComponent();&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;}&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; 
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P&gt;Run the application again, and press the Load Button.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLDataGridTutorial_16D3/clip_image020_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLDataGridTutorial_16D3/clip_image020_2.jpg"&gt;&lt;IMG title=clip_image020 style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=294 alt=clip_image020 src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLDataGridTutorial_16D3/clip_image020_thumb.jpg" width=291 border=0 mce_src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLDataGridTutorial_16D3/clip_image020_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;H4&gt;&lt;U&gt;Loading and filtering multi-dimensional data&lt;/U&gt;&lt;/H4&gt;
&lt;P&gt;The following code defines a Customer class composed of a Name, Company and a Country. After initializing an Array of Customers, we will filter it with the Filter if it has been specified.&lt;/P&gt;
&lt;P&gt;Notice that we use the Linq technology to filter the contents (Silverlight 2 embeds the Linq to Object and Linq to XML frameworks). Replace the contents of Page.xaml.cs by the following code :&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;public&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;partial&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;class&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; Page : UserControl&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: #408080; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;// Internal Class&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;public&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;class&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; Customer&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;public&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: #4000c8; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;string&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; ContactName { &lt;/SPAN&gt;&lt;B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;get&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;; &lt;/SPAN&gt;&lt;B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;set&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;; }&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;public&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: #4000c8; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;string&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; Company { &lt;/SPAN&gt;&lt;B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;get&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;; &lt;/SPAN&gt;&lt;B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;set&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;; }&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;public&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: #4000c8; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;string&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; Country { &lt;/SPAN&gt;&lt;B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;get&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;; &lt;/SPAN&gt;&lt;B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;set&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;; }&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; 
&lt;P mce_keep="true"&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;public&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; Customer()&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;{ }&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&amp;nbsp;&lt;/SPAN&gt; 
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: #408080; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;// Initialize list of customers to display in the Grid&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Customer[] customers = &lt;/SPAN&gt;&lt;B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;new&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; Customer[] { &lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;new&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; Customer { ContactName = &lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;"Stève Sfartz"&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;, Company = &lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;"Microsoft"&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;, Country = &lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;"France"&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; },&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;new&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; Customer { ContactName = &lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;"Vijay Rajagopalan"&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;, Company = &lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;"Microsoft"&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;, Country = &lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;"United States"&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; },&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;new&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; Customer { ContactName = &lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;"Yves Yang"&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;, Company = &lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;"Soyatec"&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;, Country = &lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;"France"&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; }&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;};&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; 
&lt;P mce_keep="true"&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;public&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; Page()&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;InitializeComponent();&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;private&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: #4000c8; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;void&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; Button_Click(&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: #4000c8; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;object&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; sender, RoutedEventArgs e)&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: #408080; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;// Retreive Filter set in the Silverlight UI&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: #4000c8; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;string&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; filter = country.Text.Trim();&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; TEXT-INDENT: 35.4pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; TEXT-INDENT: 35.4pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: #408080; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;// Display filtered results in Grid if the filter is not empty&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; i&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;f&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; (String.IsNullOrEmpty(filter)) {&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;grid.ItemsSource = customers;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; TEXT-INDENT: 35.4pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; TEXT-INDENT: 35.4pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;else&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; {&lt;SPAN style="mso-tab-count: 1"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: #408080; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;// Filter &lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: #4000c8; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;var&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; selection = from c &lt;/SPAN&gt;&lt;B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;in&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; customers &lt;/SPAN&gt;&lt;B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;where&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; c.Country == filter select c;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #408080"&gt;// Display in Grid&lt;/SPAN&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;grid.ItemsSource = selection.ToArray&amp;lt;Customer&amp;gt;();&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 35.4pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 35.4pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;}&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; &lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt; 
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 7pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us"&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P&gt;Run the project and click the Load Button.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLDataGridTutorial_16D3/clip_image022_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLDataGridTutorial_16D3/clip_image022_2.jpg"&gt;&lt;IMG title=clip_image022 style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=291 alt=clip_image022 src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLDataGridTutorial_16D3/clip_image022_thumb.jpg" width=376 border=0 mce_src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLDataGridTutorial_16D3/clip_image022_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Enter France as a Filter and Click on the Load Button again&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLDataGridTutorial_16D3/clip_image024_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLDataGridTutorial_16D3/clip_image024_2.jpg"&gt;&lt;IMG title=clip_image024 style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=300 alt=clip_image024 src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLDataGridTutorial_16D3/clip_image024_thumb.jpg" width=389 border=0 mce_src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLDataGridTutorial_16D3/clip_image024_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;U&gt;&lt;/U&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;U&gt;&lt;/U&gt;&lt;/B&gt;&lt;/P&gt;
&lt;H4&gt;&lt;U&gt;Author&lt;/U&gt;&lt;/H4&gt;
&lt;P&gt;Steve SFARTZ works for Microsoft France as an Architect Evangelist, with expertise in Enterprise Architecture, Interoperability, SOA &amp;amp; Cloud Computing. &lt;/P&gt;
&lt;P&gt;You’ll find further guidance about Silverlight &amp;amp; Java interoperability on &lt;A href="http://blogs.msdn.com/silverlight_plus_java" mce_href="http://blogs.msdn.com/silverlight_plus_java"&gt;A Cup of Silverlight&lt;/A&gt;. &lt;BR&gt;If you can read french, you may check one of my other blogs : &lt;A href="http://blog.sfartz.com/" mce_href="http://blog.sfartz.com"&gt;Think Big mais pas trop...&lt;/A&gt;, &lt;A href="http://blogs.msdn.com/ssfartz" mce_href="http://blogs.msdn.com/ssfartz"&gt;SOA &amp;amp; Interop @Microsoft France&lt;/A&gt;, &lt;A href="http://blogs.msdn.com/cloudcomputing" mce_href="http://blogs.msdn.com/cloudcomputing"&gt;Cloud Computing @ Microsoft France&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8998818" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/silverlight_plus_java/attachment/8998818.ashx" length="994135" type="application/pdf" /><category domain="http://blogs.msdn.com/silverlight_plus_java/archive/tags/Implementation/default.aspx">Implementation</category><category domain="http://blogs.msdn.com/silverlight_plus_java/archive/tags/Interoperability/default.aspx">Interoperability</category><category domain="http://blogs.msdn.com/silverlight_plus_java/archive/tags/eclipse4SL/default.aspx">eclipse4SL</category></item><item><title>eclipse4SL : “Hello World” Tutorial</title><link>http://blogs.msdn.com/silverlight_plus_java/archive/2008/10/13/eclipse4sl-hello-world-tutorial.aspx</link><pubDate>Mon, 13 Oct 2008 15:10:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8998777</guid><dc:creator>Steve SFARTZ</dc:creator><slash:comments>9</slash:comments><comments>http://blogs.msdn.com/silverlight_plus_java/comments/8998777.aspx</comments><wfw:commentRss>http://blogs.msdn.com/silverlight_plus_java/commentrss.aspx?PostID=8998777</wfw:commentRss><description>&lt;H3&gt;&lt;U&gt;Duration&lt;/U&gt;&lt;/H3&gt;
&lt;P&gt;30 minutes&lt;/P&gt;
&lt;H3&gt;&lt;U&gt;Description&lt;/U&gt;&lt;/H3&gt;
&lt;P&gt;This tutorial is inspired from &lt;A href="http://weblogs.asp.net/scottgu/pages/silverlight-tutorial-part-1-creating-quot-hello-world-quot-with-silverlight-2-and-vs-2008.aspx" mce_href="http://weblogs.asp.net/scottgu/pages/silverlight-tutorial-part-1-creating-quot-hello-world-quot-with-silverlight-2-and-vs-2008.aspx"&gt;Scott Guthrie Silverlight 2 Series&lt;/A&gt;, adapted from Visual Studio to the eclipse4SL environment. A pdf version of the tutorial is attached at the end of this post and accessible &lt;A class="" href="http://blogs.msdn.com/silverlight_plus_java/attachment/8998777.ashx" mce_href="http://blogs.msdn.com/silverlight_plus_java/attachment/8998777.ashx"&gt;here&lt;/A&gt;.&lt;B&gt;&lt;/B&gt;&lt;/P&gt;
&lt;H3&gt;&lt;U&gt;Prerequisites&lt;/U&gt;&lt;/H3&gt;
&lt;P&gt;After &lt;A href="http://www.eclipse4sl.org/download/"&gt;installing eclipse4SL&lt;/A&gt;, activate the Silverlight perspective by selecting one of them from the menu Window &amp;gt; Open Perspective &amp;gt; Other…. &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image002_2.jpg"&gt;&lt;IMG title=clip_image002 style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; DISPLAY: inline; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=263 alt=clip_image002 src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image002_thumb.jpg" width=513 border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;I&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;&lt;I&gt;Note : eclipse4SL proposes 2 perspectives :&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;· &lt;I&gt;Eclipse style : the project explorer is docked on the left, the palette is docked on the right&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;· &lt;I&gt;Visual Studio style : it is the opposite.&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image004_2.jpg"&gt;&lt;IMG title=clip_image004 style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; DISPLAY: inline; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=363 alt=clip_image004 src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image004_thumb.jpg" width=286 border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;H3&gt;&lt;U&gt;Creating a New Silverlight Application using eclipse4SL&lt;/U&gt;&lt;/H3&gt;
&lt;P&gt;We'll start by selecting the File-&amp;gt;New menu item within Eclipse and use the New Silverlight Project menu to create a "Silverlight Web Project" :&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image004%5B7%5D.jpg" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image004%5B7%5D.jpg"&gt;&lt;IMG title=clip_image004[7] style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=163 alt=clip_image004[7] src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image004%5B7%5D_thumb.jpg" width=480 border=0 mce_src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image004%5B7%5D_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;First time through you need to click other and scroll down to the Silverlight folder.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image006%5B7%5D.jpg" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image006%5B7%5D.jpg"&gt;&lt;IMG title=clip_image006[7] style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=380 alt=clip_image006[7] src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image006%5B7%5D_thumb.jpg" width=380 border=0 mce_src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image006%5B7%5D_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;I&gt;Note&lt;B&gt; :&lt;/B&gt; eclipse4SL proposes 2 types of Silverlight projects : &lt;/I&gt;&lt;/P&gt;
&lt;P&gt;· &lt;I&gt;the “Silverlight Project” should be used to create Silverlight Application (ie, it does not comprise a Web Site which hosts the Silverlight application), &lt;/I&gt;&lt;/P&gt;
&lt;P&gt;· &lt;I&gt;whereas the “Silverlight Web Project” option comprises 2 Eclipse projects : one which holds the Silverlight Application while the second one is the Web application which hosts the Silverlight code.&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;We'll name the project "Hello World Tutorial".&amp;nbsp; &lt;I&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image008%5B7%5D.jpg" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image008%5B7%5D.jpg"&gt;&lt;IMG title=clip_image008[7] style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=243 alt=clip_image008[7] src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image008%5B7%5D_thumb.jpg" width=380 border=0 mce_src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image008%5B7%5D_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;When we click the "Finish" button, eclipse4SL will create two related projects : &lt;/P&gt;
&lt;P&gt;· a Silverlight client application (HelloWorldTutorial) &lt;/P&gt;
&lt;P&gt;· and a Web application (HelloWorldTutorial.Web).&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image010%5B6%5D.jpg" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image010%5B6%5D.jpg"&gt;&lt;IMG title=clip_image010[6] style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=304 alt=clip_image010[6] src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image010%5B6%5D_thumb.jpg" width=253 border=0 mce_src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image010%5B6%5D_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;I&gt;Note : Both projects conform to the standard Silverlight project hierarchy tied by the .NET Build command. This architecture allows us to switch back and forth between Eclipse, Visual Studio and Expression Blend. This is a important characteristic of eclipse4SL that make it easier to work in a Mixed environment.&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;Let’s run the application right away to get an instant Microsoft Silverlight touch J&lt;/P&gt;
&lt;P&gt;From the Eclipse Run options, select “Run Configurations...”. In the Snapshot below, no configuration pre-exists (no launch history).&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image012%5B6%5D.jpg" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image012%5B6%5D.jpg"&gt;&lt;IMG title=clip_image012[6] style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=139 alt=clip_image012[6] src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image012%5B6%5D_thumb.jpg" width=272 border=0 mce_src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image012%5B6%5D_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Select "Silverlight Web App" and create a new Launch Configuration by clicking the &lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image014%5B6%5D.jpg" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image014%5B6%5D.jpg"&gt;&lt;IMG title=clip_image014[6] style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=28 alt=clip_image014[6] src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image014%5B6%5D_thumb.jpg" width=32 border=0 mce_src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image014%5B6%5D_thumb.jpg"&gt;&lt;/A&gt; icon at the top left, name the configuration HelloWorldTutorial, and select the HelloWorldTutorialTestPage.html from the HelloWorldTutorial.Web project as the Start page.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image016%5B6%5D.jpg" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image016%5B6%5D.jpg"&gt;&lt;IMG title=clip_image016[6] style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=435 alt=clip_image016[6] src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image016%5B6%5D_thumb.jpg" width=503 border=0 mce_src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image016%5B6%5D_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Click Apply and Run…&lt;/P&gt;
&lt;P&gt;A browser window opens and displays an empty screen. The snapshot shows Internet Explorer and FireFox since both are supported on Windows. In the next section, we’ll add components to the user interface, so far, it’s empty. Notice that if you right-click on the blank surface, the Silverlight runtime menu is displayed. &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image018%5B6%5D.jpg" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image018%5B6%5D.jpg"&gt;&lt;IMG title=clip_image018[6] style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=222 alt=clip_image018[6] src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image018%5B6%5D_thumb.jpg" width=365 border=0 mce_src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image018%5B6%5D_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image020%5B6%5D.jpg" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image020%5B6%5D.jpg"&gt;&lt;IMG title=clip_image020[6] style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=256 alt=clip_image020[6] src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image020%5B6%5D_thumb.jpg" width=450 border=0 mce_src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image020%5B6%5D_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;I&gt;Note: Silverlight Applications can be used with any web-server (should it be IIS or Tomcat on Windows,or Tomcat on Mac or Linux) and hosted within static HTML files or any server-side generated page (including .Net, PHP, Java, Python, Ruby, etc).&amp;nbsp; For this HelloWorld tutorial we won't be writing any server-side code.&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;U&gt;&lt;/U&gt;&lt;/B&gt;&lt;/P&gt;
&lt;H3&gt;&lt;U&gt;Understanding What Is In a Silverlight Application&lt;/U&gt;&lt;/H3&gt;
&lt;P&gt;By default a newly created Silverlight application project contains a Page.xaml and App.xaml file, as well as code behind class files (which can be written in VB, C#, Ruby or Python) that are associated with them:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image022%5B6%5D.jpg" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image022%5B6%5D.jpg"&gt;&lt;IMG title=clip_image022[6] style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=257 alt=clip_image022[6] src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image022%5B6%5D_thumb.jpg" width=265 border=0 mce_src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image022%5B6%5D_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;XAML files are XML text files that can be used to declaratively specify the UI of a Silverlight or WPF application (Windows Presentation Foundation that is the Rich Desktop technology corresponding to Silverlight in the Browser). XAML can also be used more broadly to declaratively represent .NET objects (Workflows..)&lt;/P&gt;
&lt;P&gt;The App.xaml file is typically used to declare resources, such as brush and style objects that are shared across the application.&amp;nbsp; The Application code-behind class for the App.xaml file can be used to handle application level events - like Application_Startup, Application_Exit and Application_UnhandledException.&lt;/P&gt;
&lt;P&gt;The Page.xaml file is by default the initial UI control that is loaded when the application activates. Within it we can use UI controls to define our user interface, and then handle events off of them within the Page code-behind class.&lt;/P&gt;
&lt;P&gt;When we build our HelloWorld project, Eclipse will by default compile the code and .XAML markup into a standard .NET assembly file, and then package it and any static resources (like images or static files we want to include in it) into a " HelloWorld.xap" file on disk :&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image024%5B6%5D.jpg" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image024%5B6%5D.jpg"&gt;&lt;IMG title=clip_image024[6] style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=357 alt=clip_image024[6] src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image024%5B6%5D_thumb.jpg" width=608 border=0 mce_src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image024%5B6%5D_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;".xap" files (pronounced "zap") use the standard .zip compression algorithm to minimize client download size. Our "Hello World" Silverlight application should be about 4KB in size (in fact it is 130 Ko in M1, see below).&lt;/P&gt;
&lt;P&gt;&lt;I&gt;Note : Some controls are implemented in assemblies that if used are redistributed in the application's .xap file (which will increase an application's size above the 4kb base size).&amp;nbsp; All of the controls used in the HelloWorld application are in the core Silverlight 2 runtime - which means that the total download size of the finished application will probably only be in the 6-8kb range (so very small and fast).&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;&lt;I&gt;The October 2008 community preview (M1) of eclipse4SL embeds a set of extended controls (contained in the System.Windows.Controls.Data.dll library). The eclipse4SL dev team had to take this extreme shortcut to deliver on time. This will be fixed for M2.&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;To host and run a Silverlight 2 application, you can add an &amp;lt;object&amp;gt; tag into any standard HTML page (no JavaScript required) that points to the .xap file.&amp;nbsp; Silverlight will then automatically download the .xap file, instantiate it, and host it within that HTML page in the browser.&amp;nbsp; This works cross browser (Safari, FireFox, IE, etc) and cross platform (Windows, Mac, and Linux).&lt;/P&gt;
&lt;H3&gt;&lt;U&gt;Learning how to Add Controls and Handle Events&lt;/U&gt;&lt;/H3&gt;
&lt;P&gt;Right now our Hello World application doesn't do anything, and when it is run it brings up an empty page.&lt;/P&gt;
&lt;P&gt;We can change this by opening up the Page.xaml file in the project and adding some content to it, by dragging the “Button” from the eclipse4SL Palette to the Page.xaml source XML code.&lt;/P&gt;
&lt;P&gt;&lt;I&gt;Note : Drag &amp;amp; Drop onto the rendering surface is not implemented. You should drag the UIElement to the XAML code area.&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image026%5B6%5D.jpg" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image026%5B6%5D.jpg"&gt;&lt;IMG title=clip_image026[6] style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=526 alt=clip_image026[6] src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image026%5B6%5D_thumb.jpg" width=186 border=0 mce_src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image026%5B6%5D_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;We'll begin by changing the background of the grid and by declaring a Button control within it.&amp;nbsp; We'll give the button an "x:Name" attribute value of "MyButton" - which will allow us to programmatically reference it within our code-behind class.&amp;nbsp; We'll also set its Content, Width and Height properties:&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 11pt; COLOR: teal; LINE-HEIGHT: 115%; FONT-FAMILY: 'Calibri','sans-serif'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us; mso-fareast-font-family: calibri; mso-bidi-font-family: 'Courier New'; mso-fareast-language: en-us; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-language: ar-sa"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 11pt; COLOR: #3f7f7f; LINE-HEIGHT: 115%; FONT-FAMILY: 'Calibri','sans-serif'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us; mso-fareast-font-family: calibri; mso-bidi-font-family: 'Courier New'; mso-fareast-language: en-us; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-language: ar-sa"&gt;Button&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 11pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Calibri','sans-serif'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us; mso-fareast-font-family: calibri; mso-bidi-font-family: 'Courier New'; mso-fareast-language: en-us; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-language: ar-sa"&gt; &lt;SPAN style="COLOR: #7f007f"&gt;x:Name&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"MyButton"&lt;/SPAN&gt;&lt;/I&gt; &lt;SPAN style="COLOR: #7f007f"&gt;Content&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"Push Me !"&lt;/SPAN&gt;&lt;/I&gt; &lt;SPAN style="COLOR: #7f007f"&gt;Width&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"100"&lt;/SPAN&gt;&lt;/I&gt; &lt;SPAN style="COLOR: #7f007f"&gt;Height&lt;/SPAN&gt;&lt;SPAN style="COLOR: black"&gt;=&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="COLOR: #2a00ff"&gt;"50"&lt;/SPAN&gt;&lt;/I&gt; &lt;SPAN style="COLOR: teal"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt; &lt;/P&gt;
&lt;P&gt;&lt;I&gt;Note: Html tags Content, Width and Height are case sensitive. If you write height or width instead, you’ll get a 100% progress bar at run time and a blank screen but no further warning.&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image028%5B6%5D.jpg" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image028%5B6%5D.jpg"&gt;&lt;IMG title=clip_image028[6] style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=158 alt=clip_image028[6] src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image028%5B6%5D_thumb.jpg" width=577 border=0 mce_src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image028%5B6%5D_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;When we run the application our button will then show up in the middle of the page with "Push Me" content text like below:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image030%5B6%5D.jpg" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image030%5B6%5D.jpg"&gt;&lt;IMG title=clip_image030[6] style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=298 alt=clip_image030[6] src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image030%5B6%5D_thumb.jpg" width=372 border=0 mce_src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image030%5B6%5D_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;To add behavior to our button we can add a "Click" event handler to it.&amp;nbsp; We can do this in source view by typing the event name “Cl...” and using Code Completion (Ctrl + Space Bar).&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image032%5B6%5D.jpg" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image032%5B6%5D.jpg"&gt;&lt;IMG title=clip_image032[6] style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=382 alt=clip_image032[6] src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image032%5B6%5D_thumb.jpg" width=608 border=0 mce_src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image032%5B6%5D_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Choose the Click event. Then a wizard is displayed to assist in the delegate method development.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image034%5B6%5D.jpg" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image034%5B6%5D.jpg"&gt;&lt;IMG title=clip_image034[6] style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=167 alt=clip_image034[6] src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image034%5B6%5D_thumb.jpg" width=264 border=0 mce_src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image034%5B6%5D_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;We can then either type a new event handler method name to use, or optionally use the default naming convention :&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image036%5B6%5D.jpg" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image036%5B6%5D.jpg"&gt;&lt;IMG title=clip_image036[6] style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=149 alt=clip_image036[6] src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image036%5B6%5D_thumb.jpg" width=609 border=0 mce_src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image036%5B6%5D_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;eclipse4SL will then automatically create a stub event handler implementation in our code-behind class file.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;We can use this event handler to update the Button's content with a new message when it is clicked:&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; TEXT-INDENT: 35.4pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #408080; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us; mso-fareast-language: fr"&gt;/**&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us; mso-fareast-language: fr"&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #408080; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us; mso-fareast-language: fr"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;* Event handler of &amp;lt;code&amp;gt;ButtonClick&amp;lt;/code&amp;gt;.&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us; mso-fareast-language: fr"&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #408080; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us; mso-fareast-language: fr"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;*/&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us; mso-fareast-language: fr"&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us; mso-fareast-language: fr"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #7f0055; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us; mso-fareast-language: fr"&gt;private&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us; mso-fareast-language: fr"&gt; &lt;/SPAN&gt;&lt;B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #4000c8; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us; mso-fareast-language: fr"&gt;void&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us; mso-fareast-language: fr"&gt; ButtonClick(&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: #4000c8; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us; mso-fareast-language: fr"&gt;object&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us; mso-fareast-language: fr"&gt; sender, RoutedEventArgs arg1) {&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us; mso-fareast-language: fr"&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us; mso-fareast-language: fr"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-fareast-language: fr"&gt;MyButton.Content = &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 8pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-fareast-language: fr"&gt;"Pushed"&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-fareast-language: fr"&gt;;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-fareast-language: fr"&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-SIZE: 8pt; COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.0pt; mso-fareast-language: fr"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; mso-bidi-font-size: 10.0pt; mso-ansi-language: en-us; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: arial; mso-fareast-language: fr; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-ascii-font-family: calibri; mso-hansi-font-family: calibri"&gt; &lt;/SPAN&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image038%5B6%5D.jpg" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image038%5B6%5D.jpg"&gt;&lt;IMG title=clip_image038[6] style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=274 alt=clip_image038[6] src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image038%5B6%5D_thumb.jpg" width=507 border=0 mce_src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image038%5B6%5D_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;After making the change above we can re-run the application and push the button again, and now its content is updated with a "Pushed!" message:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image040%5B6%5D.jpg" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image040%5B6%5D.jpg"&gt;&lt;IMG title=clip_image040[6] style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=310 alt=clip_image040[6] src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image040%5B6%5D_thumb.jpg" width=389 border=0 mce_src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/eclipse4SLHelloWorldTutorial_EBB/clip_image040%5B6%5D_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;H3&gt;&lt;U&gt;&lt;/U&gt;&lt;/H3&gt;
&lt;H3&gt;&lt;U&gt;Next Steps&lt;/U&gt;&lt;/H3&gt;
&lt;P&gt;We still have a little more work left to-do before our application is done... :-)&lt;/P&gt;
&lt;P&gt;Our next step will be to setup the overall UI layout structure of our application, and arrange more controls within it. &lt;A href="http://weblogs.asp.net/scottgu/pages/silverlight-tutorial-part-2-using-layout-management.aspx" mce_href="http://weblogs.asp.net/scottgu/pages/silverlight-tutorial-part-2-using-layout-management.aspx"&gt;Using layout management.&lt;/A&gt; This article from Scott Guthrie has not be ported yet to eclipse4SL. If you wish to contribute, this is your &lt;A href="http://www.eclipse4sl.org/community" mce_href="http://www.eclipse4sl.org/community"&gt;opportunity&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;U&gt;&lt;/U&gt;&lt;/B&gt;&lt;/P&gt;
&lt;H3&gt;&lt;U&gt;Author&lt;/U&gt;&lt;/H3&gt;
&lt;P&gt;Steve SFARTZ works for Microsoft France as an Architect Evangelist with expertise in Enterprise Architecture, Interoperability, SOA &amp;amp; Cloud Computing. &lt;/P&gt;
&lt;P&gt;You’ll find further guidance about Silverlight &amp;amp; Java interoperability on &lt;A href="http://blogs.msdn.com/silverlight_plus_java" mce_href="http://blogs.msdn.com/silverlight_plus_java"&gt;A Cup of Silverlight&lt;/A&gt;. &lt;BR&gt;If you can read french, you may check one of my other blogs : &lt;A href="http://blog.sfartz.com/" mce_href="http://blog.sfartz.com"&gt;Think Big mais pas trop...&lt;/A&gt;, &lt;A href="http://blogs.msdn.com/ssfartz" mce_href="http://blogs.msdn.com/ssfartz"&gt;SOA &amp;amp; Interop @Microsoft France&lt;/A&gt;, &lt;A href="http://blogs.msdn.com/cloudcomputing" mce_href="http://blogs.msdn.com/cloudcomputing"&gt;Cloud Computing @ Microsoft France&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8998777" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/silverlight_plus_java/attachment/8998777.ashx" length="1083912" type="application/pdf" /><category domain="http://blogs.msdn.com/silverlight_plus_java/archive/tags/Implementation/default.aspx">Implementation</category><category domain="http://blogs.msdn.com/silverlight_plus_java/archive/tags/Interoperability/default.aspx">Interoperability</category><category domain="http://blogs.msdn.com/silverlight_plus_java/archive/tags/eclipse4SL/default.aspx">eclipse4SL</category></item><item><title>How-To : Silverlight accessing Java SOAP services (Part 2 – No Cross Domain : Tomcat/Eclipse)</title><link>http://blogs.msdn.com/silverlight_plus_java/archive/2008/08/14/how-to-silverlight-accessing-java-soap-services-part-2-no-cross-domain-tomcat-eclipse.aspx</link><pubDate>Thu, 14 Aug 2008 16:52:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8903377</guid><dc:creator>Steve SFARTZ</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/silverlight_plus_java/comments/8903377.aspx</comments><wfw:commentRss>http://blogs.msdn.com/silverlight_plus_java/commentrss.aspx?PostID=8903377</wfw:commentRss><description>&lt;P mce_keep="true"&gt;The &lt;A href="http://blogs.msdn.com/silverlight_plus_java/archive/tags/How-to/default.aspx" mce_href="http://blogs.msdn.com/silverlight_plus_java/archive/tags/How-to/default.aspx"&gt;HowTo&lt;/A&gt; series demo Silverlight accessing Web Services in various configuration. In this post, we will demonstrate you a SOAP service consumed by a Silverlight client application where the Site of Origin hosts the Web Services. This scenario is categorized as a &lt;A href="http://blogs.msdn.com/silverlight_plus_java/archive/2008/07/28/scenario-d2d-developer-env.aspx" mce_href="http://blogs.msdn.com/silverlight_plus_java/archive/2008/07/28/scenario-d2d-developer-env.aspx"&gt;D2D scenario&lt;/A&gt; &lt;STRONG&gt;without cross-domain policy&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;The SOAP service Eclipse project and the Silverlight Eclipse project are available as an attachment to this post.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Technical Environment&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;SOAP services are built with the JAX-WS and JAX-B Api and hosted in Tomcat&lt;/LI&gt;
&lt;LI&gt;The Silverlight application is also hosted in Tomcat&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_DF27/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_DF27/image_2.png"&gt;&lt;IMG title=image style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=378 alt=image src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_DF27/image_thumb.png" width=480 border=0 mce_src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_DF27/image_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Because the Site of Origin and the Web Service reside in the same host, no Cross Domain policy is required.&lt;/P&gt;
&lt;H4&gt;Hosting the Web Service in Tomcat&lt;/H4&gt;
&lt;P&gt;In case you haven’t done the &lt;A href="http://blogs.msdn.com/silverlight_plus_java/archive/2008/08/04/how-to-silverlight-accessing-java-soap-services-part-1-cross-domain-iis-tomcat.aspx" mce_href="http://blogs.msdn.com/silverlight_plus_java/archive/2008/08/04/how-to-silverlight-accessing-java-soap-services-part-1-cross-domain-iis-tomcat.aspx"&gt;How-To : Silverlight accessing Java SOAP services (Part 1 – Cross Domain : IIS + Tomcat)&lt;/A&gt;, you can directly import the SOAP-Sum service Eclipse project into your Eclipse Workspace.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Export it as a WAR in %TOMCAT_INSTALL%/webapps folder&lt;/LI&gt;
&lt;LI&gt;go to &lt;A href="http://localhost:8080/SOAP-SumService/services/sum" mce_href="http://localhost:8080/SOAP-SumService/services/sum"&gt;http://localhost:8080/SOAP-SumService/services/sum&lt;/A&gt; (assuming that Tomcat is running on port 8080) to access the service.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_DF27/image_4.png" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_DF27/image_4.png"&gt;&lt;IMG title=image style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=215 alt=image src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_DF27/image_thumb_1.png" width=325 border=0 mce_src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_DF27/image_thumb_1.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;H4&gt;Hosting the Silverlight Application using a Servlet&lt;/H4&gt;
&lt;P&gt;In the &lt;A href="http://blogs.msdn.com/silverlight_plus_java/archive/2008/08/06/how_2D00_to-silverlight-accessing-java-rest-services-part-2-no-cross-domain-tomcat.aspx" mce_href="http://blogs.msdn.com/silverlight_plus_java/archive/2008/08/06/how_2D00_to-silverlight-accessing-java-rest-services-part-2-no-cross-domain-tomcat.aspx"&gt;REST way&lt;/A&gt;, we showed you how to host a Silverlight Application using a JSP. Now we are going to host a Silverlight application using a Servlet&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;In Eclipse, create a new dynamic web project named &lt;STRONG&gt;Silverlight-SOAP-SumService_NOSSL&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;In &lt;STRONG&gt;WebContent&lt;/STRONG&gt; folder, add a folder named &lt;STRONG&gt;ClientBin&lt;/STRONG&gt; and copy in the latter, the xap file in the attachment. The Silverlight Application is already configured to access the SOAP service at &lt;A href="http://localhost:8080/SOAP-SumService/services/sum?wsdl" mce_href="http://localhost:8080/SOAP-SumService/services/sum?wsdl"&gt;http://localhost:8080/SOAP-SumService/services/sum?wsdl&lt;/A&gt;. &lt;/LI&gt;
&lt;LI&gt;Add a Servlet named SilverlightServlet to a package ‘&lt;STRONG&gt;servlet&lt;/STRONG&gt;’ and add the following code :&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Instance of Silverlight plugin :&lt;/P&gt;
&lt;DIV class=csharpcode&gt;&lt;PRE class=alt&gt;&lt;SPAN class=kwrd&gt;private&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;void&lt;/SPAN&gt; responseHandler(HttpServletResponse response) throws IOException{&lt;/PRE&gt;&lt;PRE&gt;    PrintWriter pw = response.getWriter();&lt;/PRE&gt;&lt;PRE class=alt&gt;    pw.println(&lt;SPAN class=str&gt;""&lt;/SPAN&gt; +&lt;/PRE&gt;&lt;PRE&gt;            &lt;SPAN class=str&gt;"&amp;lt;div id=\"silverlightControlHost\"&amp;gt;"&lt;/SPAN&gt; +&lt;/PRE&gt;&lt;PRE class=alt&gt;            &lt;SPAN class=str&gt;"    &amp;lt;object data=\"data:application/x-silverlight,\""&lt;/SPAN&gt; +&lt;/PRE&gt;&lt;PRE&gt;            &lt;SPAN class=str&gt;"             type=\"application/x-silverlight-2-b2\""&lt;/SPAN&gt; +&lt;/PRE&gt;&lt;PRE class=alt&gt;            &lt;SPAN class=str&gt;"             width=\"100%\" height=\"100%\"&amp;gt;"&lt;/SPAN&gt; +&lt;/PRE&gt;&lt;PRE&gt;            &lt;SPAN class=str&gt;"       &amp;lt;param name=\"source\" value=\"ClientBin/SOAP-Sum.xap\"/&amp;gt;"&lt;/SPAN&gt; +&lt;/PRE&gt;&lt;PRE class=alt&gt;            &lt;SPAN class=str&gt;"       &amp;lt;param name=\"background\" value=\"white\" /&amp;gt;"&lt;/SPAN&gt; +&lt;/PRE&gt;&lt;PRE&gt;            &lt;SPAN class=str&gt;"       &amp;lt;a href=\"http://go.microsoft.com/fwlink/?LinkID=115261\""&lt;/SPAN&gt; +&lt;/PRE&gt;&lt;PRE class=alt&gt;            &lt;SPAN class=str&gt;"          style=\'text-decoration: none;\'&amp;gt;'&lt;/SPAN&gt; +&lt;/PRE&gt;&lt;PRE&gt;            &lt;SPAN class=str&gt;"         &amp;lt;img src=\"http://go.microsoft.com/fwlink/?LinkId=108181\""&lt;/SPAN&gt;+&lt;/PRE&gt;&lt;PRE class=alt&gt;            &lt;SPAN class=str&gt;"              alt=\"Get Microsoft Silverlight\""&lt;/SPAN&gt; +&lt;/PRE&gt;&lt;PRE&gt;            &lt;SPAN class=str&gt;"              style=\'border-style: none\'/&amp;gt;'&lt;/SPAN&gt; +&lt;/PRE&gt;&lt;PRE class=alt&gt;            &lt;SPAN class=str&gt;"        &amp;lt;/a&amp;gt;"&lt;/SPAN&gt; +&lt;/PRE&gt;&lt;PRE&gt;            &lt;SPAN class=str&gt;"    &amp;lt;/object&amp;gt;"&lt;/SPAN&gt; +&lt;/PRE&gt;&lt;PRE class=alt&gt;            &lt;SPAN class=str&gt;"    &amp;lt;iframe style='visibility:hidden;height:0;width:0;border:0px'&amp;gt;'&lt;/SPAN&gt; +&lt;/PRE&gt;&lt;PRE&gt;            &lt;SPAN class=str&gt;"&amp;lt;/iframe&amp;gt;"&lt;/SPAN&gt; +&lt;/PRE&gt;&lt;PRE class=alt&gt;            &lt;SPAN class=str&gt;"&amp;lt;/div&amp;gt;"&lt;/SPAN&gt;);&lt;/PRE&gt;&lt;PRE&gt;    pw.close();&lt;/PRE&gt;&lt;PRE class=alt&gt;}&lt;/PRE&gt;&lt;/DIV&gt;
&lt;STYLE type=text/css&gt;
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/STYLE&gt;

&lt;DIV class=csharpcode&gt;&lt;PRE class=alt&gt;&lt;SPAN class=kwrd&gt;protected&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;void&lt;/SPAN&gt; doGet(HttpServletRequest request, HttpServletResponse response)&lt;/PRE&gt;&lt;PRE&gt;  throws ServletException, IOException {&lt;/PRE&gt;&lt;PRE class=alt&gt;    responseHandler(response);&lt;/PRE&gt;&lt;PRE&gt;    super.doGet(request, response);&lt;/PRE&gt;&lt;PRE class=alt&gt;}&lt;/PRE&gt;&lt;/DIV&gt;
&lt;STYLE type=text/css&gt;
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/STYLE&gt;

&lt;UL&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Export the project as a WAR file in %TOMCAT_INSTALL%/webapps folder.&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;Go to &lt;A title=http://localhost:8080/Silverlight-SOAP-SumService_NOSSL/SilverlightServlet href="http://localhost:8080/Silverlight-SOAP-SumService_NOSSL/SilverlightServlet" mce_href="http://localhost:8080/Silverlight-SOAP-SumService_NOSSL/SilverlightServlet"&gt;http://localhost:8080/Silverlight-SOAP-SumService_NOSSL/SilverlightServlet&lt;/A&gt; (because In the web.xml file located in WebContent/WEB-INF directory, the servlet is configured to handle every requests made on /SilverlightServlet/*)&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Silverlight will access the SOAP-Sum service without cross-domain&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_DF27/image_6.png" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_DF27/image_6.png"&gt;&lt;IMG title=image style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=304 alt=image src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_DF27/image_thumb_2.png" width=459 border=0 mce_src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_DF27/image_thumb_2.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P mce_keep="true"&gt;- &lt;A href="http://www.linkedin.com/in/ronnykwon" target=_blank mce_href="http://www.linkedin.com/in/ronnykwon"&gt;Ronny Kwon&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8903377" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/silverlight_plus_java/attachment/8903377.ashx" length="25967" type="application/x-zip-compressed" /><category domain="http://blogs.msdn.com/silverlight_plus_java/archive/tags/SOAP_2F00_RPC/default.aspx">SOAP/RPC</category><category domain="http://blogs.msdn.com/silverlight_plus_java/archive/tags/Implementation/default.aspx">Implementation</category><category domain="http://blogs.msdn.com/silverlight_plus_java/archive/tags/How-to/default.aspx">How-to</category><category domain="http://blogs.msdn.com/silverlight_plus_java/archive/tags/D2D/default.aspx">D2D</category></item><item><title>Tip : Serving JSPs and Servlets from IIS through Tomcat</title><link>http://blogs.msdn.com/silverlight_plus_java/archive/2008/08/12/tip-make-iis-serving-jsps-and-servlets-through-tomcat.aspx</link><pubDate>Tue, 12 Aug 2008 17:21:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8851537</guid><dc:creator>Steve SFARTZ</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/silverlight_plus_java/comments/8851537.aspx</comments><wfw:commentRss>http://blogs.msdn.com/silverlight_plus_java/commentrss.aspx?PostID=8851537</wfw:commentRss><description>&lt;P&gt;This tip is about making IIS as a front end to Tomcat hosting Servlets and JSPs on the back end. This architecture allows the hosting of JAX-WS or Restlet services in Tomcat while Silverlight clients are hosted in IIS without facing cross-domain issues. &lt;/P&gt;
&lt;P&gt;&lt;EM&gt;The configuration files and the connector (isapi_redirect.dll) are available as an attachment to this post. Before continuing, you must download the Zip archive and unzip it to C:\Program Files\Apache Software Foundation&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;The following is inspired from &lt;/P&gt;&lt;A href="http://tomcat.apache.org/connectors-doc/webserver_howto/iis.html" target=_blank mce_href="http://tomcat.apache.org/connectors-doc/webserver_howto/iis.html"&gt;The Apache Tomcat Connector - Webserver HowTo : IIS HowTo&lt;/A&gt; 
&lt;H4&gt;&lt;/H4&gt;
&lt;P&gt;&lt;STRONG&gt;Pre-requisites&lt;/STRONG&gt; &lt;/P&gt;
&lt;P&gt;From this point, we assume that &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;IIS 5.1 is installed on a Windows XP SP2 Professional Edition&lt;/LI&gt;
&lt;LI&gt;Apache Tomcat 6.0.16 is installed and working properly on the same OS&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;The Tomcat installation directory is C:\Program Files\Apache Software Foundation\Apache Tomcat 6.0.16 &lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;You have unzipped the archive, you must have the following directory : C:\Program Files\Apache Software Foundation\Jakarta Isapi Redirector&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;Configuring the ISAPI Redirector&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Open the Registry Editor, Run—&amp;gt;regedit&lt;/LI&gt;&lt;/UL&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;Create a new registry key names “&lt;STRONG&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\1.0&lt;/STRONG&gt;”&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;UL&gt;
&lt;LI&gt;The following screenshot shows you the different values you have to create in the previous created key&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/TipmakeIISservingJSPsandServletsthroughT_E5BF/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/TipmakeIISservingJSPsandServletsthroughT_E5BF/image_2.png"&gt;&lt;IMG title=image style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=101 alt=image src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/TipmakeIISservingJSPsandServletsthroughT_E5BF/image_thumb.png" width=575 border=0 mce_src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/TipmakeIISservingJSPsandServletsthroughT_E5BF/image_thumb.png"&gt;&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE class="" cellSpacing=0 cellPadding=2 width=570 border=1&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="" vAlign=top width=200&gt;name&lt;/TD&gt;
&lt;TD class="" vAlign=top width=368&gt;value&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" vAlign=top width=200&gt;extension_uri&lt;/TD&gt;
&lt;TD class="" vAlign=top width=368&gt;/jakarta/isapi_redirect.dll&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" vAlign=top width=200&gt;log_file&lt;/TD&gt;
&lt;TD class="" vAlign=top width=368&gt;C:\Program Files\Apache Software Foundation\Jakarta Isapi Redirector\log\isapi_redirect.log&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" vAlign=top width=200&gt;log_level&lt;/TD&gt;
&lt;TD class="" vAlign=top width=368&gt;info&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" vAlign=top width=200&gt;worker_file&lt;/TD&gt;
&lt;TD class="" vAlign=top width=368&gt;C:\Program Files\Apache Software Foundation\Jakarta Isapi Redirector\conf\workers.properties.minimal&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" vAlign=top width=200&gt;worker_mount_file&lt;/TD&gt;
&lt;TD class="" vAlign=top width=368&gt;C:\Program Files\Apache Software Foundation\Jakarta Isapi Redirector\conf\uriworkermap.properties&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Open the IIS Management Console&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;add a new Virtual Directory to the Default Web Site&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/TipmakeIISservingJSPsandServletsthroughT_E5BF/image_4.png" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/TipmakeIISservingJSPsandServletsthroughT_E5BF/image_4.png"&gt;&lt;IMG title=image style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=406 alt=image src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/TipmakeIISservingJSPsandServletsthroughT_E5BF/image_thumb_1.png" width=540 border=0 mce_src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/TipmakeIISservingJSPsandServletsthroughT_E5BF/image_thumb_1.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Alias must be set to “&lt;STRONG&gt;jakarta&lt;/STRONG&gt;” &lt;/LI&gt;
&lt;LI&gt;Directory must be set to isapi_redirector.dll location C:\Program Files\Apache Software Foundation\Jakarta Isapi Redirector\bin &lt;/LI&gt;
&lt;LI&gt;Allow Execute permission &lt;BR&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/TipmakeIISservingJSPsandServletsthroughT_E5BF/image_6.png" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/TipmakeIISservingJSPsandServletsthroughT_E5BF/image_6.png"&gt;&lt;IMG title=image style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=295 alt=image src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/TipmakeIISservingJSPsandServletsthroughT_E5BF/image_thumb_2.png" width=374 border=0 mce_src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/TipmakeIISservingJSPsandServletsthroughT_E5BF/image_thumb_2.png"&gt;&lt;/A&gt; &lt;BR&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Now let’s add a new ISAPI filter&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;open the properties dialog of the Default Web Site, in the ISAPI Filters tab, click add to add a new filter. &lt;/LI&gt;
&lt;LI&gt;Set the filter name to “jakarta” &lt;/LI&gt;
&lt;LI&gt;Executable is the exact location of the isapi_redirect.dll : C:\Program Files\Apache Software Foundation\Jakarta Isapi Redirector\bin\isapi_redirect.dll &lt;/LI&gt;
&lt;LI&gt;Restart the IIS Server then check for the jakarta filter, an up-green arrow has appeared&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/TipmakeIISservingJSPsandServletsthroughT_E5BF/image_10.png" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/TipmakeIISservingJSPsandServletsthroughT_E5BF/image_10.png"&gt;&lt;IMG title=image style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=323 alt=image src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/TipmakeIISservingJSPsandServletsthroughT_E5BF/image_thumb_4.png" width=329 border=0 mce_src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/TipmakeIISservingJSPsandServletsthroughT_E5BF/image_thumb_4.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Also start Tomcat server.&lt;/P&gt;
&lt;P&gt;In a Web Browser, ensure that &lt;A href="http://localhost:8080/examples/jsp/index.html" mce_href="http://localhost:8080/examples/jsp/index.html"&gt;http://localhost:8080/examples/jsp/index.html&lt;/A&gt; is accessible :&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/TipmakeIISservingJSPsandServletsthroughT_E5BF/image_12.png" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/TipmakeIISservingJSPsandServletsthroughT_E5BF/image_12.png"&gt;&lt;IMG title=image style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=302 alt=image src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/TipmakeIISservingJSPsandServletsthroughT_E5BF/image_thumb_5.png" width=316 border=0 mce_src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/TipmakeIISservingJSPsandServletsthroughT_E5BF/image_thumb_5.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;It’s normal, this page is served by Tomcat (assuming that it is running on port 8080)&lt;/P&gt;
&lt;P&gt;Now access to this page within IIS (in our case, we set IIS port to 81), by default port 80 is used. &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/TipmakeIISservingJSPsandServletsthroughT_E5BF/image_18.png" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/TipmakeIISservingJSPsandServletsthroughT_E5BF/image_18.png"&gt;&lt;IMG title=image style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=335 alt=image src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/TipmakeIISservingJSPsandServletsthroughT_E5BF/image_thumb_8.png" width=341 border=0 mce_src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/TipmakeIISservingJSPsandServletsthroughT_E5BF/image_thumb_8.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Go to &lt;A href="http://localhost:81/examples/jsp/index.html" mce_href="http://localhost:81/examples/jsp/index.html"&gt;http://localhost:81/examples/jsp/index.html&lt;/A&gt;. A similar page is displayed.&lt;/P&gt;
&lt;P&gt;Try to execute a jsp example :&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/TipmakeIISservingJSPsandServletsthroughT_E5BF/image_16.png" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/TipmakeIISservingJSPsandServletsthroughT_E5BF/image_16.png"&gt;&lt;IMG title=image style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=265 alt=image src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/TipmakeIISservingJSPsandServletsthroughT_E5BF/image_thumb_7.png" width=559 border=0 mce_src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/TipmakeIISservingJSPsandServletsthroughT_E5BF/image_thumb_7.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/TipmakeIISservingJSPsandServletsthroughT_E5BF/image_14.png"&gt;&lt;IMG title=image style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=382 alt=image src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/TipmakeIISservingJSPsandServletsthroughT_E5BF/image_thumb_3.png" width=439 border=0&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;Configuring the URL mapping&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;In the C:\Program Files\Apache Software Foundation\Jakarta Isapi Redirector\conf directory you will find two configuration files :&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://tomcat.apache.org/connectors-doc/reference/workers.html" target=_blank mce_href="http://tomcat.apache.org/connectors-doc/reference/workers.html"&gt;workers.properties.minimal&lt;/A&gt; : it describes the host(s) and port(s) used by Tomcat processes. &lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://tomcat.apache.org/connectors-doc/reference/uriworkermap.html" target=_blank mce_href="http://tomcat.apache.org/connectors-doc/reference/uriworkermap.html"&gt;uriworkermap.properties&lt;/A&gt; : it maps URL-Path patterns to workers&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;In the uriworkermap.properties you will find the mapping of URL to be handled by the workers declared in workers.properties. An example of URL mapping:&lt;/P&gt;
&lt;P&gt;default.worker=ajp13 &lt;/P&gt;
&lt;P&gt;/docs=$(default.worker) &lt;BR&gt;/docs/*=$(default.worker) &lt;BR&gt;/examples=$(default.worker) &lt;BR&gt;&lt;STRONG&gt;/examples/*=$(default.worker) &lt;/STRONG&gt;&lt;BR&gt;/host-manager=$(default.worker) &lt;BR&gt;/host-manager/*=$(default.worker) &lt;BR&gt;/manager=$(default.worker) &lt;BR&gt;/manager/*=$(default.worker) &lt;/P&gt;
&lt;P mce_keep="true"&gt;In this configuration, every request on /examples/* will be handled by the Tomcat process, that’s how we managed to serve JSPs and Servlets&amp;nbsp;from IIS through Tomcat. You may add&amp;nbsp;your own&amp;nbsp;URL patterns... if you do so, don’t forget to restart the Tomcat Server.&lt;/P&gt;
&lt;P&gt;- &lt;A class="" href="http://www.linkedin.com/in/ronnykwon" target=_blank mce_href="http://www.linkedin.com/in/ronnykwon"&gt;Ronny Kwon&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8851537" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/silverlight_plus_java/attachment/8851537.ashx" length="121440" type="application/x-zip-compressed" /><category domain="http://blogs.msdn.com/silverlight_plus_java/archive/tags/Implementation/default.aspx">Implementation</category><category domain="http://blogs.msdn.com/silverlight_plus_java/archive/tags/Interoperability/default.aspx">Interoperability</category><category domain="http://blogs.msdn.com/silverlight_plus_java/archive/tags/Tip/default.aspx">Tip</category></item><item><title>Tip : Cross Domain Policy when Self-Hosting your Services</title><link>http://blogs.msdn.com/silverlight_plus_java/archive/2008/08/11/tips-cross-domain-policy-files-in-self-hosted-services.aspx</link><pubDate>Mon, 11 Aug 2008 15:24:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8848024</guid><dc:creator>Steve SFARTZ</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/silverlight_plus_java/comments/8848024.aspx</comments><wfw:commentRss>http://blogs.msdn.com/silverlight_plus_java/commentrss.aspx?PostID=8848024</wfw:commentRss><description>&lt;P&gt;This &lt;A href="http://blogs.msdn.com/silverlight_plus_java/archive/tags/Tips/default.aspx" mce_href="http://blogs.msdn.com/silverlight_plus_java/archive/tags/Tips/default.aspx"&gt;tip&lt;/A&gt; is about self hosting of services with the .Net WCF&amp;nbsp;or Java Restlet framework. &lt;A href="http://blogs.msdn.com/silverlight_plus_java/archive/2008/07/31/Cross-Domain-_3A00_-Trouble-while-accessing-Web-Services.aspx" mce_href="http://blogs.msdn.com/silverlight_plus_java/archive/2008/07/31/Cross-Domain-_3A00_-Trouble-while-accessing-Web-Services.aspx"&gt;Cross-domain access&lt;/A&gt;&amp;nbsp;is mandatory here since the Site of Origin does not host the services.&lt;/P&gt;
&lt;P&gt;Self hosting a service represents a quick &amp;amp; easy&amp;nbsp;way to expose a Web Service for tests purpose. Yet, customization is extermely limited since self hosting does not provide you all the capabilities of Web Servers such as delivering static content (cross domain policy file).&lt;/P&gt;
&lt;P&gt;The first thing you need to know is that when Silverlight attempts to access services in cross-domain, it will send a HTTP GET method on http://&amp;lt;domain:port&amp;gt;/clientaccesspolicy.xml or http://&amp;lt;domain:port&amp;gt;/crossdomain.xml (in case clientaccesspolicy.xml wasn’t found). If you plan to self host your Web Service, you will agree that there is no possible way to host a physical Cross Domain policy file at the root of the Web Server.&lt;/P&gt;
&lt;P&gt;You must handle this request through your Service implementation. It usually matches the /clientaccesspolicy.xml or /crossdomain.xml URI pattern. &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;WCF way (inspired from &lt;A href="http://blogs.msdn.com/carlosfigueira/archive/2008/03/07/enabling-cross-domain-calls-for-silverlight-apps-on-self-hosted-web-services.aspx" target=_blank mce_href="http://blogs.msdn.com/carlosfigueira/archive/2008/03/07/enabling-cross-domain-calls-for-silverlight-apps-on-self-hosted-web-services.aspx"&gt;Carlo’s blog&lt;/A&gt;)&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;U&gt;Self-hosted Service&lt;/U&gt; &lt;/P&gt;
&lt;DIV class=csharpcode&gt;&lt;PRE class=alt&gt;&lt;SPAN class=kwrd&gt;class&lt;/SPAN&gt; Program&lt;/PRE&gt;&lt;PRE&gt;{&lt;/PRE&gt;&lt;PRE class=alt&gt;    &lt;SPAN class=kwrd&gt;static&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;void&lt;/SPAN&gt; Main(&lt;SPAN class=kwrd&gt;string&lt;/SPAN&gt;[] args)&lt;/PRE&gt;&lt;PRE&gt;    {&lt;/PRE&gt;&lt;PRE class=alt&gt;        &lt;SPAN class=rem&gt;// URI of the Service&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;        Uri uri = &lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; Uri(&lt;SPAN class=str&gt;"http://localhost:8081/"&lt;/SPAN&gt;);&lt;/PRE&gt;&lt;PRE class=alt&gt;&amp;nbsp;&lt;/PRE&gt;&lt;PRE&gt;        &lt;SPAN class=rem&gt;// create a new WebServiceHost specifying the implementation of the Service&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;        &lt;SPAN class=rem&gt;// and the specified uri to bind with&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;        WebServiceHost host = &lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; WebServiceHost(&lt;/PRE&gt;&lt;PRE class=alt&gt;                &lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; REST_ItemsServiceLibrary.ItemsREST(),&lt;/PRE&gt;&lt;PRE&gt;                uri);&lt;/PRE&gt;&lt;PRE class=alt&gt;&amp;nbsp;&lt;/PRE&gt;&lt;PRE&gt;        &lt;SPAN class=rem&gt;// add the Service Endpoint specifying the Service Interface&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;        host.AddServiceEndpoint(&lt;SPAN class=kwrd&gt;typeof&lt;/SPAN&gt;(REST_ItemsServiceLibrary.IItemsREST),&lt;/PRE&gt;&lt;PRE&gt;                                &lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; WebHttpBinding(), &lt;SPAN class=str&gt;""&lt;/SPAN&gt;);&lt;/PRE&gt;&lt;PRE class=alt&gt;        &lt;SPAN class=rem&gt;// open the WebServiceHost&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;        host.Open();&lt;/PRE&gt;&lt;PRE class=alt&gt;&amp;nbsp;&lt;/PRE&gt;&lt;PRE&gt;        Console.WriteLine(&lt;SPAN class=str&gt;"Service hosted at {0}"&lt;/SPAN&gt;, uri.OriginalString);&lt;/PRE&gt;&lt;PRE class=alt&gt;        Console.ReadLine();&lt;/PRE&gt;&lt;PRE&gt;&amp;nbsp;&lt;/PRE&gt;&lt;PRE class=alt&gt;        &lt;SPAN class=rem&gt;// close the WebServiceHost&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;        host.Close();&lt;/PRE&gt;&lt;PRE class=alt&gt;&amp;nbsp;&lt;/PRE&gt;&lt;PRE&gt;    }&lt;/PRE&gt;&lt;PRE class=alt&gt;}&lt;/PRE&gt;&lt;/DIV&gt;
&lt;P&gt;
&lt;STYLE type=text/css&gt;.csharpcode {
	FONT-SIZE: small; COLOR: black; FONT-FAMILY: consolas, "Courier New", courier, monospace; BACKGROUND-COLOR: #ffffff
}
.csharpcode PRE {
	FONT-SIZE: small; COLOR: black; FONT-FAMILY: consolas, "Courier New", courier, monospace; BACKGROUND-COLOR: #ffffff
}
.csharpcode PRE {
	MARGIN: 0em
}
.csharpcode .rem {
	COLOR: #008000
}
.csharpcode .kwrd {
	COLOR: #0000ff
}
.csharpcode .str {
	COLOR: #006080
}
.csharpcode .op {
	COLOR: #0000c0
}
.csharpcode .preproc {
	COLOR: #cc6633
}
.csharpcode .asp {
	BACKGROUND-COLOR: #ffff00
}
.csharpcode .html {
	COLOR: #800000
}
.csharpcode .attr {
	COLOR: #ff0000
}
.csharpcode .alt {
	MARGIN: 0em; WIDTH: 100%; BACKGROUND-COLOR: #f4f4f4
}
.csharpcode .lnum {
	COLOR: #606060
}
&lt;/STYLE&gt;
&lt;U&gt;Handling cross-domain file requests&lt;/U&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;As we said earlier, we have to manage the /clientaccesspolicy.xml, specify in the Service Interface that HTTP GET method on the URI /clientaccesspolicy.xml will be handled by GetSilverlightPolicy();&lt;/P&gt;
&lt;DIV class=csharpcode&gt;&lt;PRE class=alt&gt;[OperationContract]&lt;/PRE&gt;&lt;PRE&gt;[WebGet(UriTemplate =&lt;SPAN class=str&gt;"/clientaccesspolicy.xml"&lt;/SPAN&gt;)]&lt;/PRE&gt;&lt;PRE class=alt&gt;Stream GetSilverlightPolicy();&lt;/PRE&gt;&lt;/DIV&gt;
&lt;P&gt;
&lt;STYLE type=text/css&gt;.csharpcode {
	FONT-SIZE: small; COLOR: black; FONT-FAMILY: consolas, "Courier New", courier, monospace; BACKGROUND-COLOR: #ffffff
}
.csharpcode PRE {
	FONT-SIZE: small; COLOR: black; FONT-FAMILY: consolas, "Courier New", courier, monospace; BACKGROUND-COLOR: #ffffff
}
.csharpcode PRE {
	MARGIN: 0em
}
.csharpcode .rem {
	COLOR: #008000
}
.csharpcode .kwrd {
	COLOR: #0000ff
}
.csharpcode .str {
	COLOR: #006080
}
.csharpcode .op {
	COLOR: #0000c0
}
.csharpcode .preproc {
	COLOR: #cc6633
}
.csharpcode .asp {
	BACKGROUND-COLOR: #ffff00
}
.csharpcode .html {
	COLOR: #800000
}
.csharpcode .attr {
	COLOR: #ff0000
}
.csharpcode .alt {
	MARGIN: 0em; WIDTH: 100%; BACKGROUND-COLOR: #f4f4f4
}
.csharpcode .lnum {
	COLOR: #606060
}
&lt;/STYLE&gt;
this also applies to /crossdomain.xml&lt;/P&gt;
&lt;P&gt;Finally, in your Service implementation, return a clientaccesspolicy.xml content:&lt;/P&gt;
&lt;DIV class=csharpcode&gt;&lt;PRE class=alt&gt;&lt;SPAN class=kwrd&gt;public&lt;/SPAN&gt; Stream GetSilverlightPolicy()&lt;/PRE&gt;&lt;PRE&gt;{&lt;/PRE&gt;&lt;PRE class=alt&gt;    &lt;SPAN class=kwrd&gt;string&lt;/SPAN&gt; result = &lt;SPAN class=str&gt;@"&amp;lt;?xml version="&lt;/SPAN&gt;&lt;SPAN class=str&gt;"1.0"&lt;/SPAN&gt;&lt;SPAN class=str&gt;" encoding="&lt;/SPAN&gt;&lt;SPAN class=str&gt;"utf-8"&lt;/SPAN&gt;&lt;SPAN class=str&gt;"?&amp;gt;&lt;/PRE&gt;&lt;PRE&gt;&amp;lt;access-policy&amp;gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;    &amp;lt;cross-domain-access&amp;gt;&lt;/PRE&gt;&lt;PRE&gt;        &amp;lt;policy&amp;gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;            &amp;lt;allow-from http-request-headers="&lt;/SPAN&gt;&lt;SPAN class=str&gt;"*"&lt;/SPAN&gt;&lt;SPAN class=str&gt;"&amp;gt;&lt;/PRE&gt;&lt;PRE&gt;                &amp;lt;domain uri="&lt;/SPAN&gt;&lt;SPAN class=str&gt;"*"&lt;/SPAN&gt;&lt;SPAN class=str&gt;"/&amp;gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;            &amp;lt;/allow-from&amp;gt;&lt;/PRE&gt;&lt;PRE&gt;            &amp;lt;grant-to&amp;gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;                &amp;lt;resource path="&lt;/SPAN&gt;&lt;SPAN class=str&gt;"/"&lt;/SPAN&gt;&lt;SPAN class=str&gt;" include-subpaths="&lt;/SPAN&gt;&lt;SPAN class=str&gt;"true"&lt;/SPAN&gt;&lt;SPAN class=str&gt;"/&amp;gt;&lt;/PRE&gt;&lt;PRE&gt;            &amp;lt;/grant-to&amp;gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;        &amp;lt;/policy&amp;gt;&lt;/PRE&gt;&lt;PRE&gt;    &amp;lt;/cross-domain-access&amp;gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;&amp;lt;/access-policy&amp;gt;"&lt;/SPAN&gt;;&lt;/PRE&gt;&lt;PRE&gt;    &lt;SPAN class=kwrd&gt;return&lt;/SPAN&gt; StringToStream(result);&lt;/PRE&gt;&lt;PRE class=alt&gt;}&lt;/PRE&gt;&lt;PRE&gt;Stream StringToStream(&lt;SPAN class=kwrd&gt;string&lt;/SPAN&gt; result)&lt;/PRE&gt;&lt;PRE class=alt&gt;{&lt;/PRE&gt;&lt;PRE&gt;    WebOperationContext.Current.OutgoingResponse.ContentType = &lt;SPAN class=str&gt;"application/xml"&lt;/SPAN&gt;;&lt;/PRE&gt;&lt;PRE class=alt&gt;    &lt;SPAN class=kwrd&gt;return&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; MemoryStream(Encoding.UTF8.GetBytes(result));&lt;/PRE&gt;&lt;PRE&gt;}&lt;/PRE&gt;&lt;/DIV&gt;
&lt;STYLE type=text/css&gt;.csharpcode {
	FONT-SIZE: small; COLOR: black; FONT-FAMILY: consolas, "Courier New", courier, monospace; BACKGROUND-COLOR: #ffffff
}
.csharpcode PRE {
	FONT-SIZE: small; COLOR: black; FONT-FAMILY: consolas, "Courier New", courier, monospace; BACKGROUND-COLOR: #ffffff
}
.csharpcode PRE {
	MARGIN: 0em
}
.csharpcode .rem {
	COLOR: #008000
}
.csharpcode .kwrd {
	COLOR: #0000ff
}
.csharpcode .str {
	COLOR: #006080
}
.csharpcode .op {
	COLOR: #0000c0
}
.csharpcode .preproc {
	COLOR: #cc6633
}
.csharpcode .asp {
	BACKGROUND-COLOR: #ffff00
}
.csharpcode .html {
	COLOR: #800000
}
.csharpcode .attr {
	COLOR: #ff0000
}
.csharpcode .alt {
	MARGIN: 0em; WIDTH: 100%; BACKGROUND-COLOR: #f4f4f4
}
.csharpcode .lnum {
	COLOR: #606060
}
&lt;/STYLE&gt;

&lt;P&gt;&lt;STRONG&gt;Restlet way&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Self-hosted Service &lt;/P&gt;
&lt;DIV class=csharpcode&gt;&lt;PRE class=alt&gt;&lt;SPAN class=kwrd&gt;public&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;static&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;void&lt;/SPAN&gt; main(String[] args) {&lt;/PRE&gt;&lt;PRE&gt;    &lt;SPAN class=kwrd&gt;try&lt;/SPAN&gt; {&lt;/PRE&gt;&lt;PRE class=alt&gt;        &lt;SPAN class=rem&gt;// Create a new Component.&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;        Component component = &lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; Component();&lt;/PRE&gt;&lt;PRE class=alt&gt;        &lt;SPAN class=rem&gt;// Add a new HTTP server listening on port 8182.&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;        component.getServers().add(Protocol.HTTP, 8182);&lt;/PRE&gt;&lt;PRE class=alt&gt;        &lt;/PRE&gt;&lt;PRE&gt;        &lt;SPAN class=rem&gt;// Attach the sample application.&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;        component.getDefaultHost().attach(&lt;/PRE&gt;&lt;PRE&gt;                &lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; FirstResourceApplication(component.getContext()));&lt;/PRE&gt;&lt;PRE class=alt&gt;        &lt;/PRE&gt;&lt;PRE&gt;        &lt;SPAN class=rem&gt;// Start the component.&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;        component.start();&lt;/PRE&gt;&lt;PRE&gt;        &lt;/PRE&gt;&lt;PRE class=alt&gt;    } &lt;SPAN class=kwrd&gt;catch&lt;/SPAN&gt; (Exception e) {&lt;/PRE&gt;&lt;PRE&gt;        &lt;SPAN class=rem&gt;// Something is wrong.&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;        e.printStackTrace();&lt;/PRE&gt;&lt;PRE&gt;    }&lt;/PRE&gt;&lt;PRE class=alt&gt;}&lt;/PRE&gt;&lt;/DIV&gt;
&lt;STYLE type=text/css&gt;.csharpcode {
	FONT-SIZE: small; COLOR: black; FONT-FAMILY: consolas, "Courier New", courier, monospace; BACKGROUND-COLOR: #ffffff
}
.csharpcode PRE {
	FONT-SIZE: small; COLOR: black; FONT-FAMILY: consolas, "Courier New", courier, monospace; BACKGROUND-COLOR: #ffffff
}
.csharpcode PRE {
	MARGIN: 0em
}
.csharpcode .rem {
	COLOR: #008000
}
.csharpcode .kwrd {
	COLOR: #0000ff
}
.csharpcode .str {
	COLOR: #006080
}
.csharpcode .op {
	COLOR: #0000c0
}
.csharpcode .preproc {
	COLOR: #cc6633
}
.csharpcode .asp {
	BACKGROUND-COLOR: #ffff00
}
.csharpcode .html {
	COLOR: #800000
}
.csharpcode .attr {
	COLOR: #ff0000
}
.csharpcode .alt {
	MARGIN: 0em; WIDTH: 100%; BACKGROUND-COLOR: #f4f4f4
}
.csharpcode .lnum {
	COLOR: #606060
}
&lt;/STYLE&gt;

&lt;P&gt;&lt;U&gt;Handling cross-domain file requests&lt;/U&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Following the same philosophy as the WCF way, we need to handle HTTP GET method on /clientaccesspolicy.xml file request :&lt;/P&gt;
&lt;P&gt;In the Application implementation you must bind the URI pattern with the Ressource that will handle it :&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/TipsCrossdomainpolicyfilesinselfhostedSe_CA95/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/TipsCrossdomainpolicyfilesinselfhostedSe_CA95/image_2.png"&gt;&lt;IMG title=image style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=247 alt=image src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/TipsCrossdomainpolicyfilesinselfhostedSe_CA95/image_thumb.png" width=552 border=0 mce_src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/TipsCrossdomainpolicyfilesinselfhostedSe_CA95/image_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Finally, implement the ClientAccessPolicy class, specially the HTTP GET method within getRepresentation method :&lt;/P&gt;
&lt;DIV class=csharpcode&gt;&lt;PRE class=alt&gt;package firstResource;&lt;/PRE&gt;&lt;PRE&gt;&amp;nbsp;&lt;/PRE&gt;&lt;PRE class=alt&gt;import java.io.IOException;&lt;/PRE&gt;&lt;PRE&gt;&amp;nbsp;&lt;/PRE&gt;&lt;PRE class=alt&gt;import org.restlet.Context;&lt;/PRE&gt;&lt;PRE&gt;import org.restlet.data.MediaType;&lt;/PRE&gt;&lt;PRE class=alt&gt;import org.restlet.data.Request;&lt;/PRE&gt;&lt;PRE&gt;import org.restlet.data.Response;&lt;/PRE&gt;&lt;PRE class=alt&gt;import org.restlet.resource.DomRepresentation;&lt;/PRE&gt;&lt;PRE&gt;import org.restlet.resource.Representation;&lt;/PRE&gt;&lt;PRE class=alt&gt;import org.restlet.resource.Resource;&lt;/PRE&gt;&lt;PRE&gt;import org.restlet.resource.Variant;&lt;/PRE&gt;&lt;PRE class=alt&gt;import org.w3c.dom.Document;&lt;/PRE&gt;&lt;PRE&gt;import org.w3c.dom.Element;&lt;/PRE&gt;&lt;PRE class=alt&gt;&amp;nbsp;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=kwrd&gt;public&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;class&lt;/SPAN&gt; ClientAccessPolicy extends Resource{&lt;/PRE&gt;&lt;PRE class=alt&gt;&amp;nbsp;&lt;/PRE&gt;&lt;PRE&gt;    &lt;SPAN class=kwrd&gt;public&lt;/SPAN&gt; ClientAccessPolicy(Context context, Request request,&lt;/PRE&gt;&lt;PRE class=alt&gt;            Response response) {&lt;/PRE&gt;&lt;PRE&gt;        super(context, request, response);&lt;/PRE&gt;&lt;PRE class=alt&gt;        getVariants().add(&lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; Variant(MediaType.TEXT_XML));&lt;/PRE&gt;&lt;PRE&gt;    }&lt;/PRE&gt;&lt;PRE class=alt&gt;    &lt;/PRE&gt;&lt;PRE&gt;    @Override&lt;/PRE&gt;&lt;PRE class=alt&gt;    &lt;SPAN class=kwrd&gt;public&lt;/SPAN&gt; Representation getRepresentation(Variant variant){&lt;/PRE&gt;&lt;PRE&gt;        &lt;SPAN class=kwrd&gt;if&lt;/SPAN&gt; (MediaType.TEXT_XML.equals(variant.getMediaType())) {&lt;/PRE&gt;&lt;PRE class=alt&gt;             &lt;SPAN class=kwrd&gt;try&lt;/SPAN&gt; {&lt;/PRE&gt;&lt;PRE&gt;                DomRepresentation representation = &lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; DomRepresentation(&lt;/PRE&gt;&lt;PRE class=alt&gt;                      MediaType.TEXT_XML);&lt;/PRE&gt;&lt;PRE&gt;                &lt;SPAN class=rem&gt;// Generate a DOM document representing the list of&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;                &lt;SPAN class=rem&gt;// items.&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;                Document d = representation.getDocument();&lt;/PRE&gt;&lt;PRE class=alt&gt;                Element accesspolicy = d.createElement(&lt;SPAN class=str&gt;"access-policy"&lt;/SPAN&gt;);&lt;/PRE&gt;&lt;PRE&gt;                d.appendChild(accesspolicy);&lt;/PRE&gt;&lt;PRE class=alt&gt;                &lt;/PRE&gt;&lt;PRE&gt;                Element crossdomainaccess = d.createElement(&lt;SPAN class=str&gt;"cross-domain-access"&lt;/SPAN&gt;);&lt;/PRE&gt;&lt;PRE class=alt&gt;                accesspolicy.appendChild(crossdomainaccess);&lt;/PRE&gt;&lt;PRE&gt;                &lt;/PRE&gt;&lt;PRE class=alt&gt;                Element policy = d.createElement(&lt;SPAN class=str&gt;"policy"&lt;/SPAN&gt;);&lt;/PRE&gt;&lt;PRE&gt;                crossdomainaccess.appendChild(policy);&lt;/PRE&gt;&lt;PRE class=alt&gt;                &lt;/PRE&gt;&lt;PRE&gt;                Element allowfrom = d.createElement(&lt;SPAN class=str&gt;"allow-from"&lt;/SPAN&gt;);&lt;/PRE&gt;&lt;PRE class=alt&gt;                allowfrom.setAttribute(&lt;SPAN class=str&gt;"http-request-headers"&lt;/SPAN&gt;,&lt;SPAN class=str&gt;"*"&lt;/SPAN&gt;);&lt;/PRE&gt;&lt;PRE&gt;                &lt;/PRE&gt;&lt;PRE class=alt&gt;                Element domain = d.createElement(&lt;SPAN class=str&gt;"domain"&lt;/SPAN&gt;);&lt;/PRE&gt;&lt;PRE&gt;                domain.setAttribute(&lt;SPAN class=str&gt;"uri"&lt;/SPAN&gt;, &lt;SPAN class=str&gt;"*"&lt;/SPAN&gt;);&lt;/PRE&gt;&lt;PRE class=alt&gt;                &lt;/PRE&gt;&lt;PRE&gt;                allowfrom.appendChild(domain);&lt;/PRE&gt;&lt;PRE class=alt&gt;                &lt;/PRE&gt;&lt;PRE&gt;                Element grantto = d.createElement(&lt;SPAN class=str&gt;"grant-to"&lt;/SPAN&gt;);&lt;/PRE&gt;&lt;PRE class=alt&gt;                Element resource = d.createElement(&lt;SPAN class=str&gt;"resource"&lt;/SPAN&gt;);&lt;/PRE&gt;&lt;PRE&gt;                resource.setAttribute(&lt;SPAN class=str&gt;"include-subpaths"&lt;/SPAN&gt;,&lt;SPAN class=str&gt;"true"&lt;/SPAN&gt;);&lt;/PRE&gt;&lt;PRE class=alt&gt;                resource.setAttribute(&lt;SPAN class=str&gt;"path"&lt;/SPAN&gt;, &lt;SPAN class=str&gt;"/"&lt;/SPAN&gt;);&lt;/PRE&gt;&lt;PRE&gt;                &lt;/PRE&gt;&lt;PRE class=alt&gt;                &lt;/PRE&gt;&lt;PRE&gt;                grantto.appendChild(resource);&lt;/PRE&gt;&lt;PRE class=alt&gt;                &lt;/PRE&gt;&lt;PRE&gt;                policy.appendChild(allowfrom);&lt;/PRE&gt;&lt;PRE class=alt&gt;                policy.appendChild(grantto);&lt;/PRE&gt;&lt;PRE&gt;                &lt;/PRE&gt;&lt;PRE class=alt&gt;                d.normalizeDocument();&lt;/PRE&gt;&lt;PRE&gt;&amp;nbsp;&lt;/PRE&gt;&lt;PRE class=alt&gt;&amp;nbsp;&lt;/PRE&gt;&lt;PRE&gt;                &lt;SPAN class=rem&gt;// Returns the XML representation of this document.&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;                &lt;SPAN class=kwrd&gt;return&lt;/SPAN&gt; representation;&lt;/PRE&gt;&lt;PRE&gt;             } &lt;SPAN class=kwrd&gt;catch&lt;/SPAN&gt; (IOException e) {&lt;/PRE&gt;&lt;PRE class=alt&gt;                e.printStackTrace();&lt;/PRE&gt;&lt;PRE&gt;             }&lt;/PRE&gt;&lt;PRE class=alt&gt;          }&lt;/PRE&gt;&lt;PRE&gt;&amp;nbsp;&lt;/PRE&gt;&lt;PRE class=alt&gt;          &lt;SPAN class=kwrd&gt;return&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;null&lt;/SPAN&gt;;&lt;/PRE&gt;&lt;PRE&gt;    }&lt;/PRE&gt;&lt;PRE class=alt&gt;&amp;nbsp;&lt;/PRE&gt;&lt;PRE&gt;}&lt;/PRE&gt;&lt;/DIV&gt;
&lt;P&gt;- &lt;A class="" href="http://www.linkedin.com/in/ronnykwon" target=_blank mce_href="http://www.linkedin.com/in/ronnykwon"&gt;Ronny Kwon&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8848024" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/silverlight_plus_java/archive/tags/Implementation/default.aspx">Implementation</category><category domain="http://blogs.msdn.com/silverlight_plus_java/archive/tags/D2D/default.aspx">D2D</category><category domain="http://blogs.msdn.com/silverlight_plus_java/archive/tags/Tip/default.aspx">Tip</category></item><item><title>How-To : Silverlight accessing Java REST services (Part 2 – No Cross Domain : Tomcat/Eclipse)</title><link>http://blogs.msdn.com/silverlight_plus_java/archive/2008/08/06/how_2D00_to-silverlight-accessing-java-rest-services-part-2-no-cross-domain-tomcat.aspx</link><pubDate>Wed, 06 Aug 2008 11:43:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8791751</guid><dc:creator>Steve SFARTZ</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/silverlight_plus_java/comments/8791751.aspx</comments><wfw:commentRss>http://blogs.msdn.com/silverlight_plus_java/commentrss.aspx?PostID=8791751</wfw:commentRss><description>&lt;P mce_keep="true"&gt;The &lt;A href="http://blogs.msdn.com/silverlight_plus_java/archive/tags/How-to/default.aspx"&gt;HowTo&lt;/A&gt; serie demoes Silverlight accessing Web Services in various configuration. In this post, we will demonstrate a REST service consumed by a Silverlight client application where the Site of Origin hosts the Web Services. This scenario is categorized as a &lt;A href="http://blogs.msdn.com/silverlight_plus_java/archive/2008/07/28/scenario-d2d-developer-env.aspx" mce_href="http://blogs.msdn.com/silverlight_plus_java/archive/2008/07/28/scenario-d2d-developer-env.aspx"&gt;&lt;STRONG&gt;D2D scenario&lt;/STRONG&gt;&lt;/A&gt;&lt;STRONG&gt; &lt;EM&gt;without&lt;/EM&gt; cross-domain policy&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;EM&gt;The XAP package, the REST service Eclipse project and the Silverlight Eclipse project are available as an attachment to this post.&lt;/EM&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;Technical Environment&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;REST services are built with the Restlet framework and hosted in Tomcat &lt;/LI&gt;
&lt;LI&gt;The Silverlight application is also hosted in Tomcat&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaRESTservice_F1AE/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaRESTservice_F1AE/image_2.png"&gt;&lt;IMG title=image style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=308 alt=image src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaRESTservice_F1AE/image_thumb.png" width=411 border=0 mce_src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaRESTservice_F1AE/image_thumb.png"&gt;&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Because the Site Of Origin and the Web Services reside in the same host, no Cross Domain policy is required.&lt;/P&gt;
&lt;P&gt;To successfully install the technical environment, please take the following step :&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Build the scenario detailled in &lt;A href="http://blogs.msdn.com/silverlight_plus_java/archive/2008/07/29/silverlight-plus-xml-rest-style-in-cross-domain-access.aspx" mce_href="http://blogs.msdn.com/silverlight_plus_java/archive/2008/07/29/silverlight-plus-xml-rest-style-in-cross-domain-access.aspx"&gt;HowTo : Silverlight accessing Java REST services (Part 1 - Cross Domain : IIS + Tomcat)&lt;/A&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;If you don’t feel like doing the previous step, the XAP package available as an attachment contains a Silverlight client which is configured to access a REST service at http://localhost:8080/Restlet-servletfirstResource/items.&lt;/P&gt;
&lt;P&gt;The REST service is also available as an attachment to this post allows to do a GET and POST method to get a list of items or to insert a new one.&lt;/P&gt;
&lt;P&gt;Download the attachment and unzip it. There are two needed parts : the Silverlight XAP package and the Restlet Eclipse project.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaRESTservice_F1AE/image_4.png" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaRESTservice_F1AE/image_4.png"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Host the REST service with Tomcat&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Import the Reslet-servletfirstResource project into your Eclipse workspace : &lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;go to File –&amp;gt; Import &lt;BR&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaRESTservice_F1AE/image_6.png"&gt;&lt;IMG title=image style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=243 alt=image src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaRESTservice_F1AE/image_thumb_2.png" width=146 border=0&gt;&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;Then chose General—&amp;gt;Existing Projects into Workspace &lt;BR&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaRESTservice_F1AE/image_10.png"&gt;&lt;IMG title=image style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=270 alt=image src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaRESTservice_F1AE/image_thumb_4.png" width=231 border=0&gt;&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;Select the root directory, Browse to the Restlet-servletfirstResource folder, then click on Finish. The Restlet-servletfirstResource has now been imported into your workspace &lt;BR&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaRESTservice_F1AE/image_14.png"&gt;&lt;IMG title=image style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=268 alt=image src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaRESTservice_F1AE/image_thumb_6.png" width=229 border=0&gt;&lt;/A&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;Run the project on Tomcat Server. check that &lt;A title=http://localhost:8080/Restlet-servletfirstResource/items href="http://localhost:8080/Restlet-servletfirstResource/items"&gt;http://localhost:8080/Restlet-servletfirstResource/items&lt;/A&gt; is accessible you should get the following result : &lt;BR&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaRESTservice_F1AE/image_16.png"&gt;&lt;IMG title=image style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=196 alt=image src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaRESTservice_F1AE/image_thumb_7.png" width=240 border=0&gt;&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;Host the Silverlight application in an Eclipse project running on Tomcat&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Create a new Dynamic Web Project&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;Press Ctrl+n to go to the New Wizard Project, under Web select Dynamic Web Project. &lt;BR&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaRESTservice_F1AE/image_18.png"&gt;&lt;IMG title=image style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=239 alt=image src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaRESTservice_F1AE/image_thumb_8.png" width=240 border=0&gt;&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;Call it REST-SilverlightClient and ensure that the Target Runtime is set to Apache Tomcat 6.0 &lt;BR&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaRESTservice_F1AE/image_20.png"&gt;&lt;IMG title=image style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=240 alt=image src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaRESTservice_F1AE/image_thumb_9.png" width=205 border=0&gt;&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;If Eclipse prompts you to switch to J2EE perspective, accept it.&lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;In the REST-SilverlightClient project, create the WebContent\ClientBin folder and copy the XAP package into it.&lt;/LI&gt;
&lt;LI&gt;Now we need to host it through an Active X control :&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;Right click on WebContent folder and select New—&amp;gt;JSP, call it index&lt;/LI&gt;
&lt;LI&gt;Edit index.jsp, in the Head part put the following script that catches Silverlight Error.&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;
&lt;DIV class=csharpcode&gt;&lt;PRE class=alt&gt; &lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;script&lt;/SPAN&gt; &lt;SPAN class=attr&gt;type&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="text/javascript"&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;     &lt;SPAN class=kwrd&gt;function&lt;/SPAN&gt; onSilverlightError(sender, args) {&lt;/PRE&gt;&lt;PRE class=alt&gt;     &lt;/PRE&gt;&lt;PRE&gt;         &lt;SPAN class=kwrd&gt;var&lt;/SPAN&gt; appSource = &lt;SPAN class=str&gt;""&lt;/SPAN&gt;;&lt;/PRE&gt;&lt;PRE class=alt&gt;         &lt;SPAN class=kwrd&gt;if&lt;/SPAN&gt; (sender != &lt;SPAN class=kwrd&gt;null&lt;/SPAN&gt; &amp;amp;&amp;amp; sender != 0) {&lt;/PRE&gt;&lt;PRE&gt;             appSource = sender.getHost().Source;&lt;/PRE&gt;&lt;PRE class=alt&gt;         } &lt;/PRE&gt;&lt;PRE&gt;         &lt;SPAN class=kwrd&gt;var&lt;/SPAN&gt; errorType = args.ErrorType;&lt;/PRE&gt;&lt;PRE class=alt&gt;         &lt;SPAN class=kwrd&gt;var&lt;/SPAN&gt; iErrorCode = args.ErrorCode;&lt;/PRE&gt;&lt;PRE&gt;         &lt;/PRE&gt;&lt;PRE class=alt&gt;         &lt;SPAN class=kwrd&gt;var&lt;/SPAN&gt; errMsg = &lt;SPAN class=str&gt;"Unhandled Error in Silverlight 2 Application "&lt;/SPAN&gt; +  appSource + &lt;SPAN class=str&gt;"\n"&lt;/SPAN&gt; ;&lt;/PRE&gt;&lt;PRE&gt;&amp;nbsp;&lt;/PRE&gt;&lt;PRE class=alt&gt;         errMsg += &lt;SPAN class=str&gt;"Code: "&lt;/SPAN&gt;+ iErrorCode + &lt;SPAN class=str&gt;"    \n"&lt;/SPAN&gt;;&lt;/PRE&gt;&lt;PRE&gt;         errMsg += &lt;SPAN class=str&gt;"Category: "&lt;/SPAN&gt; + errorType + &lt;SPAN class=str&gt;"       \n"&lt;/SPAN&gt;;&lt;/PRE&gt;&lt;PRE class=alt&gt;         errMsg += &lt;SPAN class=str&gt;"Message: "&lt;/SPAN&gt; + args.ErrorMessage + &lt;SPAN class=str&gt;"     \n"&lt;/SPAN&gt;;&lt;/PRE&gt;&lt;PRE&gt;&amp;nbsp;&lt;/PRE&gt;&lt;PRE class=alt&gt;         &lt;SPAN class=kwrd&gt;if&lt;/SPAN&gt; (errorType == &lt;SPAN class=str&gt;"ParserError"&lt;/SPAN&gt;)&lt;/PRE&gt;&lt;PRE&gt;         {&lt;/PRE&gt;&lt;PRE class=alt&gt;             errMsg += &lt;SPAN class=str&gt;"File: "&lt;/SPAN&gt; + args.xamlFile + &lt;SPAN class=str&gt;"     \n"&lt;/SPAN&gt;;&lt;/PRE&gt;&lt;PRE&gt;             errMsg += &lt;SPAN class=str&gt;"Line: "&lt;/SPAN&gt; + args.lineNumber + &lt;SPAN class=str&gt;"     \n"&lt;/SPAN&gt;;&lt;/PRE&gt;&lt;PRE class=alt&gt;             errMsg += &lt;SPAN class=str&gt;"Position: "&lt;/SPAN&gt; + args.charPosition + &lt;SPAN class=str&gt;"     \n"&lt;/SPAN&gt;;&lt;/PRE&gt;&lt;PRE&gt;         }&lt;/PRE&gt;&lt;PRE class=alt&gt;         &lt;SPAN class=kwrd&gt;else&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;if&lt;/SPAN&gt; (errorType == &lt;SPAN class=str&gt;"RuntimeError"&lt;/SPAN&gt;)&lt;/PRE&gt;&lt;PRE&gt;         {           &lt;/PRE&gt;&lt;PRE class=alt&gt;             &lt;SPAN class=kwrd&gt;if&lt;/SPAN&gt; (args.lineNumber != 0)&lt;/PRE&gt;&lt;PRE&gt;             {&lt;/PRE&gt;&lt;PRE class=alt&gt;                 errMsg += &lt;SPAN class=str&gt;"Line: "&lt;/SPAN&gt; + args.lineNumber + &lt;SPAN class=str&gt;"     \n"&lt;/SPAN&gt;;&lt;/PRE&gt;&lt;PRE&gt;                 errMsg += &lt;SPAN class=str&gt;"Position: "&lt;/SPAN&gt; +  args.charPosition + &lt;SPAN class=str&gt;"     \n"&lt;/SPAN&gt;;&lt;/PRE&gt;&lt;PRE class=alt&gt;             }&lt;/PRE&gt;&lt;PRE&gt;             errMsg += &lt;SPAN class=str&gt;"MethodName: "&lt;/SPAN&gt; + args.methodName + &lt;SPAN class=str&gt;"     \n"&lt;/SPAN&gt;;&lt;/PRE&gt;&lt;PRE class=alt&gt;         }&lt;/PRE&gt;&lt;PRE&gt;&amp;nbsp;&lt;/PRE&gt;&lt;PRE class=alt&gt;         &lt;SPAN class=kwrd&gt;throw&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; Error(errMsg);&lt;/PRE&gt;&lt;PRE&gt;     }&lt;/PRE&gt;&lt;PRE class=alt&gt; &lt;SPAN class=kwrd&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class=html&gt;script&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/DIV&gt;
&lt;STYLE type=text/css&gt;.csharpcode {
	FONT-SIZE: small; COLOR: black; FONT-FAMILY: consolas, "Courier New", courier, monospace; BACKGROUND-COLOR: #ffffff
}
.csharpcode PRE {
	FONT-SIZE: small; COLOR: black; FONT-FAMILY: consolas, "Courier New", courier, monospace; BACKGROUND-COLOR: #ffffff
}
.csharpcode PRE {
	MARGIN: 0em
}
.csharpcode .rem {
	COLOR: #008000
}
.csharpcode .kwrd {
	COLOR: #0000ff
}
.csharpcode .str {
	COLOR: #006080
}
.csharpcode .op {
	COLOR: #0000c0
}
.csharpcode .preproc {
	COLOR: #cc6633
}
.csharpcode .asp {
	BACKGROUND-COLOR: #ffff00
}
.csharpcode .html {
	COLOR: #800000
}
.csharpcode .attr {
	COLOR: #ff0000
}
.csharpcode .alt {
	MARGIN: 0em; WIDTH: 100%; BACKGROUND-COLOR: #f4f4f4
}
.csharpcode .lnum {
	COLOR: #606060
}
&lt;/STYLE&gt;

&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;UL&gt;
&lt;UL&gt;
&lt;LI&gt;In the Body part, instantiate a Silverlight control by adding the following HTML code, ensure that the param named “source” has is value set to the XAP package URI relative to index.jsp Web Page:&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;
&lt;DIV class=csharpcode&gt;
&lt;DIV class=csharpcode&gt;&lt;PRE class=alt&gt;&lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;div&lt;/SPAN&gt; &lt;SPAN class=attr&gt;id&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="silverlightControlHost"&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;    &lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;object&lt;/SPAN&gt; &lt;SPAN class=attr&gt;data&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="data:application/x-silverlight,"&lt;/SPAN&gt; &lt;/PRE&gt;&lt;PRE class=alt&gt;            &lt;SPAN class=attr&gt;type&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="application/x-silverlight-2-b2"&lt;/SPAN&gt; &lt;/PRE&gt;&lt;PRE&gt;            &lt;SPAN class=attr&gt;width&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="100%"&lt;/SPAN&gt; &lt;SPAN class=attr&gt;height&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="100%"&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;        &lt;/PRE&gt;&lt;PRE&gt;        &lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;param&lt;/SPAN&gt;     &lt;SPAN class=attr&gt;name&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="source"&lt;/SPAN&gt; &lt;SPAN class=attr&gt;value&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="ClientBin/REST-JavaServiceItem.xap"&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;/&amp;gt;&lt;/SPAN&gt;        &lt;/PRE&gt;&lt;PRE class=alt&gt;        &lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;param&lt;/SPAN&gt;     &lt;SPAN class=attr&gt;name&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="onerror"&lt;/SPAN&gt; &lt;SPAN class=attr&gt;value&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="onSilverlightError"&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;        &lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;param&lt;/SPAN&gt;     &lt;SPAN class=attr&gt;name&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="background"&lt;/SPAN&gt; &lt;SPAN class=attr&gt;value&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="white"&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;    &lt;/PRE&gt;&lt;PRE&gt;        &lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;a&lt;/SPAN&gt;     &lt;SPAN class=attr&gt;href&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="http://go.microsoft.com/fwlink/?LinkID=115261"&lt;/SPAN&gt; &lt;/PRE&gt;&lt;PRE class=alt&gt;            &lt;SPAN class=attr&gt;style&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="text-decoration: none;"&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;               &lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;img&lt;/SPAN&gt; &lt;SPAN class=attr&gt;src&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="http://go.microsoft.com/fwlink/?LinkId=108181"&lt;/SPAN&gt; &lt;/PRE&gt;&lt;PRE class=alt&gt;                 &lt;SPAN class=attr&gt;alt&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="Get Microsoft Silverlight"&lt;/SPAN&gt; &lt;/PRE&gt;&lt;PRE&gt;                 &lt;SPAN class=attr&gt;style&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="border-style: none"&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;        &lt;SPAN class=kwrd&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class=html&gt;a&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;    &lt;SPAN class=kwrd&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class=html&gt;object&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;    &lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;iframe&lt;/SPAN&gt; &lt;SPAN class=attr&gt;style&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;='visibility:hidden;height:0;width:0;border:0px'&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class=html&gt;iframe&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=kwrd&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class=html&gt;div&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/DIV&gt;
&lt;STYLE type=text/css&gt;.csharpcode {
	FONT-SIZE: small; COLOR: black; FONT-FAMILY: consolas, "Courier New", courier, monospace; BACKGROUND-COLOR: #ffffff
}
.csharpcode PRE {
	FONT-SIZE: small; COLOR: black; FONT-FAMILY: consolas, "Courier New", courier, monospace; BACKGROUND-COLOR: #ffffff
}
.csharpcode PRE {
	MARGIN: 0em
}
.csharpcode .rem {
	COLOR: #008000
}
.csharpcode .kwrd {
	COLOR: #0000ff
}
.csharpcode .str {
	COLOR: #006080
}
.csharpcode .op {
	COLOR: #0000c0
}
.csharpcode .preproc {
	COLOR: #cc6633
}
.csharpcode .asp {
	BACKGROUND-COLOR: #ffff00
}
.csharpcode .html {
	COLOR: #800000
}
.csharpcode .attr {
	COLOR: #ff0000
}
.csharpcode .alt {
	MARGIN: 0em; WIDTH: 100%; BACKGROUND-COLOR: #f4f4f4
}
.csharpcode .lnum {
	COLOR: #606060
}
&lt;/STYLE&gt;
&lt;/DIV&gt;
&lt;STYLE type=text/css&gt;.csharpcode {
	FONT-SIZE: small; COLOR: black; FONT-FAMILY: consolas, "Courier New", courier, monospace; BACKGROUND-COLOR: #ffffff
}
.csharpcode PRE {
	FONT-SIZE: small; COLOR: black; FONT-FAMILY: consolas, "Courier New", courier, monospace; BACKGROUND-COLOR: #ffffff
}
.csharpcode PRE {
	MARGIN: 0em
}
.csharpcode .rem {
	COLOR: #008000
}
.csharpcode .kwrd {
	COLOR: #0000ff
}
.csharpcode .str {
	COLOR: #006080
}
.csharpcode .op {
	COLOR: #0000c0
}
.csharpcode .preproc {
	COLOR: #cc6633
}
.csharpcode .asp {
	BACKGROUND-COLOR: #ffff00
}
.csharpcode .html {
	COLOR: #800000
}
.csharpcode .attr {
	COLOR: #ff0000
}
.csharpcode .alt {
	MARGIN: 0em; WIDTH: 100%; BACKGROUND-COLOR: #f4f4f4
}
.csharpcode .lnum {
	COLOR: #606060
}
&lt;/STYLE&gt;

&lt;UL&gt;
&lt;LI&gt;Run the project on Tomcat Server and the Silverlight control will appear in the Eclipse Web Browser : &lt;BR&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaRESTservice_F1AE/image_22.png"&gt;&lt;IMG title=image style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=216 alt=image src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaRESTservice_F1AE/image_thumb_10.png" width=240 border=0&gt;&lt;/A&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;The great thing about that is that you will be able to test your REST Service and the Silverlight application without running multiple Development Environments.&lt;/P&gt;
&lt;P&gt;- &lt;A class="" href="http://www.linkedin.com/in/ronnykwon" target=_blank mce_href="http://www.linkedin.com/in/ronnykwon"&gt;Ronny Kwon&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8791751" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/silverlight_plus_java/attachment/8791751.ashx" length="145518" type="application/x-zip-compressed" /><category domain="http://blogs.msdn.com/silverlight_plus_java/archive/tags/XML_2F00_REST/default.aspx">XML/REST</category><category domain="http://blogs.msdn.com/silverlight_plus_java/archive/tags/Implementation/default.aspx">Implementation</category><category domain="http://blogs.msdn.com/silverlight_plus_java/archive/tags/How-to/default.aspx">How-to</category><category domain="http://blogs.msdn.com/silverlight_plus_java/archive/tags/D2D/default.aspx">D2D</category></item><item><title>How-To : Silverlight accessing Java SOAP services (Part 1 – Cross Domain : IIS + Tomcat)</title><link>http://blogs.msdn.com/silverlight_plus_java/archive/2008/08/04/how-to-silverlight-accessing-java-soap-services-part-1-cross-domain-iis-tomcat.aspx</link><pubDate>Mon, 04 Aug 2008 18:35:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8831283</guid><dc:creator>Steve SFARTZ</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/silverlight_plus_java/comments/8831283.aspx</comments><wfw:commentRss>http://blogs.msdn.com/silverlight_plus_java/commentrss.aspx?PostID=8831283</wfw:commentRss><description>&lt;P mce_keep="true"&gt;The How-To series demo Silverlight accessing Web Services in various configuration. In this post, we will demonstrate a SOAP service consumed by a Silverlight client application. This scenario can be categorized as a &lt;A class="" href="http://blogs.msdn.com/silverlight_plus_java/archive/2008/07/28/scenario-d2d-developer-env.aspx" mce_href="http://blogs.msdn.com/silverlight_plus_java/archive/2008/07/28/scenario-d2d-developer-env.aspx"&gt;D2D scenario&lt;/A&gt; with a cross domain policy.&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Both the Silverlight and SOAP service are available as an attachment to this post. Since Metro libraries are too large, you will need to copy all jar files from metro\lib\ folder into WebContent\WEB-INF\lib project folder. Steps are described below&lt;/EM&gt;.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Technical environment&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;SOAP services are built with JAX-WS and JAX-B APIs and hosted in Tomcat. &lt;/LI&gt;
&lt;LI&gt;The Silverlight application is hosted under the Visual Studio embedded Web Server code name “Catalina” (which delivers a subset of the IIS capabilities)&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_E0EA/image_25.png"&gt;&lt;IMG title=image style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=417 alt=image src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_E0EA/image_thumb.png" width=524 border=0&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;Requirement &lt;/STRONG&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;For this How-To, we use the &lt;A href="https://metro.dev.java.net/discover/" target=_blank mce_href="https://metro.dev.java.net/discover/"&gt;Metro framework&lt;/A&gt; which contains both &lt;A href="https://jax-ws.dev.java.net/" target=_blank mce_href="https://jax-ws.dev.java.net/"&gt;JAX-WS&lt;/A&gt; and &lt;A href="https://jaxb.dev.java.net/introduction.html" target=_blank mce_href="https://jaxb.dev.java.net/introduction.html"&gt;JAX-B&lt;/A&gt; APIs which will be used to develop SOAP Services in JAVA. &lt;/P&gt;
&lt;P&gt;&lt;U&gt;Configuring Tomcat&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;Download the jar file from &lt;A title=https://metro.dev.java.net/1.2/ href="https://metro.dev.java.net/1.2/" target=_blank mce_href="https://metro.dev.java.net/1.2/"&gt;https://metro.dev.java.net/1.2/&lt;/A&gt; and launch it. A “metro” folder has been created at the jar location. metro\lib folder contains all the needed libraries for the Java SOAP service development and Tomcat configuration. Here is a good link that describes how to configure your Tomcat server &lt;A class="" href="http://blogs.sun.com/arungupta/entry/metro_on_tomcat_6_x" target=_blank mce_href="http://blogs.sun.com/arungupta/entry/metro_on_tomcat_6_x"&gt;http://blogs.sun.com/arungupta/entry/metro_on_tomcat_6_x&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Implementing the SOAP / RPC service&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;In Eclipse, create a new Dynamic Web Project called “&lt;STRONG&gt;&lt;EM&gt;SOAP-SumService&lt;/EM&gt;&lt;/STRONG&gt;” &lt;/LI&gt;
&lt;LI&gt;copy all jar files from metro\lib\ folder into WebContent\WEB-INF\lib project folder. &lt;/LI&gt;
&lt;LI&gt;Create a package called “service” and add a new Java class called “&lt;EM&gt;&lt;STRONG&gt;ServiceSumImpl&lt;/STRONG&gt;&lt;/EM&gt;” to this package. &lt;/LI&gt;
&lt;LI&gt;Add a xml file to WebContent\WEB-INF called “sun-jaxws.xml”.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Your project structure now looks like this :&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_E0EA/image_6.png" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_E0EA/image_6.png"&gt;&lt;IMG title=image style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=343 alt=image src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_E0EA/image_thumb_2.png" width=232 border=0 mce_src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_E0EA/image_thumb_2.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;U&gt;Implementation of the Web Service endpoint&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;In ServiceSumImpl.java, import the following libraries :&lt;/P&gt;
&lt;DIV class=csharpcode&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_E0EA/image_8.png" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_E0EA/image_8.png"&gt;&lt;IMG title=image style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=37 alt=image src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_E0EA/image_thumb_3.png" width=266 border=0 mce_src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_E0EA/image_thumb_3.png"&gt;&lt;/A&gt; &lt;/DIV&gt;
&lt;P&gt;Declare the class as a Web Service endpoint with the following annotations, for more informations about annotations refer to this &lt;A class="" href="http://edocs.bea.com/wls/docs91/webserv/annotations.html#1042436" target=_blank mce_href="http://edocs.bea.com/wls/docs91/webserv/annotations.html#1042436"&gt;site&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_E0EA/image_10.png" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_E0EA/image_10.png"&gt;&lt;IMG title=image style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=128 alt=image src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_E0EA/image_thumb_4.png" width=423 border=0 mce_src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_E0EA/image_thumb_4.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;The only method that our service exposes is getSum. It returns the sum of two integers. But we want this method to be known over the service as “SumTwoInt”. Within the annotations we can configure all these parameters. &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_E0EA/image_12.png" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_E0EA/image_12.png"&gt;&lt;IMG title=image style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=108 alt=image src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_E0EA/image_thumb_5.png" width=393 border=0 mce_src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_E0EA/image_thumb_5.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Now build the project to generate the bytecode as the WSGen tool need it.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;U&gt;Generation of the required artifacts for the Web Service deployment and invocation&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;For this step, Metro provides a generation tool called “wsgen”.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Open a Windows Command Prompt : Start-&amp;gt;Run and type “cmd” &lt;/LI&gt;
&lt;LI&gt;set a METRO as a path variable to metro\bin folder (in our case it is C:\metro\bin path)&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_E0EA/image_14.png" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_E0EA/image_14.png"&gt;&lt;IMG title=image style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=54 alt=image src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_E0EA/image_thumb_6.png" width=240 border=0 mce_src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_E0EA/image_thumb_6.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Go to your build project folder (by default in Eclipse: &lt;EM&gt;ProjectName\build\classes&lt;/EM&gt;). In our example it is the &lt;EM&gt;SOAP-SumService\build\classes&lt;/EM&gt; folder &lt;BR&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_E0EA/image_16.png" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_E0EA/image_16.png"&gt;&lt;IMG title=image style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=18 alt=image src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_E0EA/image_thumb_7.png" width=555 border=0 mce_src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_E0EA/image_thumb_7.png"&gt;&lt;/A&gt;&amp;nbsp; &lt;BR&gt;&lt;BR&gt;Type the following command line to generates the artifacts in the project “src” folder. &lt;BR&gt;&lt;BR&gt;&lt;EM&gt;%METRO%\wsgen –cp . service.ServiceSumImpl –s ../../src&lt;/EM&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Refresh the Project Explorer and observes that two java files have been generated&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_E0EA/image_18.png" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_E0EA/image_18.png"&gt;&lt;IMG title=image height=286 alt=image src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_E0EA/image_thumb_8.png" width=340 border=0 mce_src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_E0EA/image_thumb_8.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;They represent the message that will be shared in the Web Service process&lt;/P&gt;
&lt;P&gt;&lt;U&gt;Configuring the Web Service Deployment&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;To configure the deployment, we need to instantiate a Servlet that will handles JAX-WS Web Services requests.&lt;/P&gt;
&lt;P&gt;In web.xml, add a Servlet element. We use a pre-existing Web Service Servlet :&lt;/P&gt;
&lt;DIV class=csharpcode&gt;&lt;PRE class=alt&gt;&lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;servlet&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;    &lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;servlet-name&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;jaxservlet&lt;SPAN class=kwrd&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class=html&gt;servlet-name&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;    &lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;servlet-class&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;        com.sun.xml.ws.transport.http.servlet.WSServlet&lt;/PRE&gt;&lt;PRE class=alt&gt;    &lt;SPAN class=kwrd&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class=html&gt;servlet-class&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;    &lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;load-on-startup&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;1&lt;SPAN class=kwrd&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class=html&gt;load-on-startup&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;&lt;SPAN class=kwrd&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class=html&gt;servlet&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/DIV&gt;
&lt;STYLE type=text/css&gt;.csharpcode {
	FONT-SIZE: small; COLOR: black; FONT-FAMILY: consolas, "Courier New", courier, monospace; BACKGROUND-COLOR: #ffffff
}
.csharpcode PRE {
	FONT-SIZE: small; COLOR: black; FONT-FAMILY: consolas, "Courier New", courier, monospace; BACKGROUND-COLOR: #ffffff
}
.csharpcode PRE {
	MARGIN: 0em
}
.csharpcode .rem {
	COLOR: #008000
}
.csharpcode .kwrd {
	COLOR: #0000ff
}
.csharpcode .str {
	COLOR: #006080
}
.csharpcode .op {
	COLOR: #0000c0
}
.csharpcode .preproc {
	COLOR: #cc6633
}
.csharpcode .asp {
	BACKGROUND-COLOR: #ffff00
}
.csharpcode .html {
	COLOR: #800000
}
.csharpcode .attr {
	COLOR: #ff0000
}
.csharpcode .alt {
	MARGIN: 0em; WIDTH: 100%; BACKGROUND-COLOR: #f4f4f4
}
.csharpcode .lnum {
	COLOR: #606060
}
&lt;/STYLE&gt;

&lt;P&gt;This servlet will handle every requests on /services/* URI, so let’s map to it with its name:&lt;/P&gt;
&lt;DIV class=csharpcode&gt;&lt;PRE class=alt&gt;&lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;servlet-mapping&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;    &lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;servlet-name&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;jaxservlet&lt;SPAN class=kwrd&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class=html&gt;servlet-name&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;    &lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;url-pattern&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;/services/*&lt;SPAN class=kwrd&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class=html&gt;url-pattern&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=kwrd&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class=html&gt;servlet-mapping&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/DIV&gt;
&lt;STYLE type=text/css&gt;.csharpcode {
	FONT-SIZE: small; COLOR: black; FONT-FAMILY: consolas, "Courier New", courier, monospace; BACKGROUND-COLOR: #ffffff
}
.csharpcode PRE {
	FONT-SIZE: small; COLOR: black; FONT-FAMILY: consolas, "Courier New", courier, monospace; BACKGROUND-COLOR: #ffffff
}
.csharpcode PRE {
	MARGIN: 0em
}
.csharpcode .rem {
	COLOR: #008000
}
.csharpcode .kwrd {
	COLOR: #0000ff
}
.csharpcode .str {
	COLOR: #006080
}
.csharpcode .op {
	COLOR: #0000c0
}
.csharpcode .preproc {
	COLOR: #cc6633
}
.csharpcode .asp {
	BACKGROUND-COLOR: #ffff00
}
.csharpcode .html {
	COLOR: #800000
}
.csharpcode .attr {
	COLOR: #ff0000
}
.csharpcode .alt {
	MARGIN: 0em; WIDTH: 100%; BACKGROUND-COLOR: #f4f4f4
}
.csharpcode .lnum {
	COLOR: #606060
}
&lt;/STYLE&gt;

&lt;P&gt;To provide the right context, we need a listener (which also already exists):&lt;/P&gt;
&lt;DIV class=csharpcode&gt;&lt;PRE class=alt&gt;&lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;listener&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;    &lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;listener-class&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;        com.sun.xml.ws.transport.http.servlet.WSServletContextListener&lt;/PRE&gt;&lt;PRE&gt;    &lt;SPAN class=kwrd&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class=html&gt;listener-class&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;&lt;SPAN class=kwrd&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class=html&gt;listener&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/DIV&gt;
&lt;STYLE type=text/css&gt;.csharpcode {
	FONT-SIZE: small; COLOR: black; FONT-FAMILY: consolas, "Courier New", courier, monospace; BACKGROUND-COLOR: #ffffff
}
.csharpcode PRE {
	FONT-SIZE: small; COLOR: black; FONT-FAMILY: consolas, "Courier New", courier, monospace; BACKGROUND-COLOR: #ffffff
}
.csharpcode PRE {
	MARGIN: 0em
}
.csharpcode .rem {
	COLOR: #008000
}
.csharpcode .kwrd {
	COLOR: #0000ff
}
.csharpcode .str {
	COLOR: #006080
}
.csharpcode .op {
	COLOR: #0000c0
}
.csharpcode .preproc {
	COLOR: #cc6633
}
.csharpcode .asp {
	BACKGROUND-COLOR: #ffff00
}
.csharpcode .html {
	COLOR: #800000
}
.csharpcode .attr {
	COLOR: #ff0000
}
.csharpcode .alt {
	MARGIN: 0em; WIDTH: 100%; BACKGROUND-COLOR: #f4f4f4
}
.csharpcode .lnum {
	COLOR: #606060
}
&lt;/STYLE&gt;

&lt;P&gt;Finally, we need to expose the endpoint ServiceSumImpl within an URI, for example /services/sum. &lt;/P&gt;
&lt;P&gt;Edit the sun-jaxws.xml file and add the following elements :&lt;/P&gt;
&lt;DIV class=csharpcode&gt;&lt;PRE class=alt&gt;&lt;SPAN class=kwrd&gt;&amp;lt;?&lt;/SPAN&gt;&lt;SPAN class=html&gt;xml&lt;/SPAN&gt; &lt;SPAN class=attr&gt;version&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="1.0"&lt;/SPAN&gt; &lt;SPAN class=attr&gt;encoding&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="UTF-8"&lt;/SPAN&gt;?&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;endpoints&lt;/SPAN&gt; &lt;SPAN class=attr&gt;xmlns&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="http://java.sun.com/xml/ns/jax-ws/ri/runtime"&lt;/SPAN&gt; &lt;SPAN class=attr&gt;version&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="2.0"&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;    &lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;endpoint&lt;/SPAN&gt; &lt;/PRE&gt;&lt;PRE&gt;        &lt;SPAN class=attr&gt;name&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="sum"&lt;/SPAN&gt; &lt;/PRE&gt;&lt;PRE class=alt&gt;        &lt;SPAN class=attr&gt;implementation&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="service.ServiceSumImpl"&lt;/SPAN&gt; &lt;/PRE&gt;&lt;PRE&gt;        &lt;SPAN class=attr&gt;url-pattern&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="/services/sum"&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;&lt;SPAN class=kwrd&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class=html&gt;endpoints&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/DIV&gt;
&lt;STYLE type=text/css&gt;.csharpcode {
	FONT-SIZE: small; COLOR: black; FONT-FAMILY: consolas, "Courier New", courier, monospace; BACKGROUND-COLOR: #ffffff
}
.csharpcode PRE {
	FONT-SIZE: small; COLOR: black; FONT-FAMILY: consolas, "Courier New", courier, monospace; BACKGROUND-COLOR: #ffffff
}
.csharpcode PRE {
	MARGIN: 0em
}
.csharpcode .rem {
	COLOR: #008000
}
.csharpcode .kwrd {
	COLOR: #0000ff
}
.csharpcode .str {
	COLOR: #006080
}
.csharpcode .op {
	COLOR: #0000c0
}
.csharpcode .preproc {
	COLOR: #cc6633
}
.csharpcode .asp {
	BACKGROUND-COLOR: #ffff00
}
.csharpcode .html {
	COLOR: #800000
}
.csharpcode .attr {
	COLOR: #ff0000
}
.csharpcode .alt {
	MARGIN: 0em; WIDTH: 100%; BACKGROUND-COLOR: #f4f4f4
}
.csharpcode .lnum {
	COLOR: #606060
}
&lt;/STYLE&gt;

&lt;UL&gt;
&lt;LI&gt;Save all files, then Run the project on the Tomcat Server &lt;BR&gt;Right click on the project node : Run As –&amp;gt; Run on Server&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;The service is now hosted on Tomcat at &lt;A title=http://localhost:8080/SOAP-SumService/services/sum?wsdl href="http://localhost:8080/SOAP-SumService/services/sum?wsdl" mce_href="http://localhost:8080/SOAP-SumService/services/sum?wsdl"&gt;http://localhost:8080/SOAP-SumService/services/sum?wsdl&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_E0EA/image_22.png" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_E0EA/image_22.png"&gt;&lt;IMG title=image style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=267 alt=image src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_E0EA/image_thumb_10.png" width=378 border=0 mce_src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_E0EA/image_thumb_10.png"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Enabling Cross Domain Access&lt;/STRONG&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Since the SOAP service and the Silverlight application reside on different hosts, we need to overpass the &lt;A href="http://blogs.msdn.com/silverlight_plus_java/archive/2008/07/31/Cross-Domain-_3A00_-Trouble-while-accessing-Web-Services.aspx" mce_href="http://blogs.msdn.com/silverlight_plus_java/archive/2008/07/31/Cross-Domain-_3A00_-Trouble-while-accessing-Web-Services.aspx"&gt;Cross Domain Issue&lt;/A&gt;. Create at the root of the SOAP service host, a clientaccesspolicy.xml file with the following content :&lt;/P&gt;
&lt;DIV class=csharpcode&gt;&lt;PRE class=alt&gt;&lt;SPAN class=kwrd&gt;&amp;lt;?&lt;/SPAN&gt;&lt;SPAN class=html&gt;xml&lt;/SPAN&gt; &lt;SPAN class=attr&gt;version&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="1.0"&lt;/SPAN&gt; &lt;SPAN class=attr&gt;encoding&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="UTF-8"&lt;/SPAN&gt; &lt;SPAN class=attr&gt;standalone&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="no"&lt;/SPAN&gt;?&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;access-policy&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;    &lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;cross-domain-access&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;        &lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;policy&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;            &lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;allow-from&lt;/SPAN&gt; &lt;SPAN class=attr&gt;http-request-headers&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="*"&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;                &lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;domain&lt;/SPAN&gt; &lt;SPAN class=attr&gt;uri&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="*"&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;            &lt;SPAN class=kwrd&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class=html&gt;allow-from&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;            &lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;grant-to&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;                &lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;resource&lt;/SPAN&gt; &lt;SPAN class=attr&gt;include-subpaths&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="true"&lt;/SPAN&gt; &lt;SPAN class=attr&gt;path&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="/"&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;            &lt;SPAN class=kwrd&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class=html&gt;grant-to&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;        &lt;SPAN class=kwrd&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class=html&gt;policy&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;    &lt;SPAN class=kwrd&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class=html&gt;cross-domain-access&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;&lt;SPAN class=kwrd&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class=html&gt;access-policy&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/DIV&gt;
&lt;STYLE type=text/css&gt;.csharpcode {
	FONT-SIZE: small; COLOR: black; FONT-FAMILY: consolas, "Courier New", courier, monospace; BACKGROUND-COLOR: #ffffff
}
.csharpcode PRE {
	FONT-SIZE: small; COLOR: black; FONT-FAMILY: consolas, "Courier New", courier, monospace; BACKGROUND-COLOR: #ffffff
}
.csharpcode PRE {
	MARGIN: 0em
}
.csharpcode .rem {
	COLOR: #008000
}
.csharpcode .kwrd {
	COLOR: #0000ff
}
.csharpcode .str {
	COLOR: #006080
}
.csharpcode .op {
	COLOR: #0000c0
}
.csharpcode .preproc {
	COLOR: #cc6633
}
.csharpcode .asp {
	BACKGROUND-COLOR: #ffff00
}
.csharpcode .html {
	COLOR: #800000
}
.csharpcode .attr {
	COLOR: #ff0000
}
.csharpcode .alt {
	MARGIN: 0em; WIDTH: 100%; BACKGROUND-COLOR: #f4f4f4
}
.csharpcode .lnum {
	COLOR: #606060
}
&lt;/STYLE&gt;

&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Consuming a SOAP service with Silverlight&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Now that the Web Service is exposed, we are going to generate the client proxy to consume the Web Service with Silverlight.&lt;/P&gt;
&lt;P&gt;Open Visual Studio 2008 and create a new Silverlight Project called SOAP-Sum and paste the following XAML code in Page.xaml to obtain a simple interface that will manipulate the web service.&lt;/P&gt;
&lt;DIV class=csharpcode&gt;&lt;PRE class=alt&gt;&lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;UserControl&lt;/SPAN&gt; &lt;SPAN class=attr&gt;x:Class&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="SOAP_Sum.Page"&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;    &lt;SPAN class=attr&gt;xmlns&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="http://schemas.microsoft.com/winfx/2006/xaml/presentation"&lt;/SPAN&gt; &lt;/PRE&gt;&lt;PRE class=alt&gt;    &lt;SPAN class=attr&gt;xmlns:x&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="http://schemas.microsoft.com/winfx/2006/xaml"&lt;/SPAN&gt; &lt;/PRE&gt;&lt;PRE&gt;    &lt;SPAN class=attr&gt;Width&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="400"&lt;/SPAN&gt; &lt;SPAN class=attr&gt;Height&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="300"&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;    &lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;Canvas&lt;/SPAN&gt; &lt;SPAN class=attr&gt;x:Name&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="LayoutRoot"&lt;/SPAN&gt; &lt;SPAN class=attr&gt;Background&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="White"&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;        &lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;TextBox&lt;/SPAN&gt; &lt;SPAN class=attr&gt;Text&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="0"&lt;/SPAN&gt; &lt;SPAN class=attr&gt;x:Name&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="_int1"&lt;/SPAN&gt; &lt;SPAN class=attr&gt;Width&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="50"&lt;/SPAN&gt; &lt;SPAN class=attr&gt;Height&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="20"&lt;/SPAN&gt; &lt;/PRE&gt;&lt;PRE class=alt&gt;                          &lt;SPAN class=attr&gt;Canvas&lt;/SPAN&gt;.&lt;SPAN class=attr&gt;Top&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="10"&lt;/SPAN&gt; &lt;SPAN class=attr&gt;Canvas&lt;/SPAN&gt;.&lt;SPAN class=attr&gt;Left&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="30"&lt;/SPAN&gt; &lt;SPAN class=attr&gt;TextChanged&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="_TextChanged"&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;        &lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;TextBlock&lt;/SPAN&gt; &lt;SPAN class=attr&gt;Canvas&lt;/SPAN&gt;.&lt;SPAN class=attr&gt;Top&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="10"&lt;/SPAN&gt; &lt;SPAN class=attr&gt;Canvas&lt;/SPAN&gt;.&lt;SPAN class=attr&gt;Left&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="95"&lt;/SPAN&gt; &lt;SPAN class=attr&gt;Text&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="+"&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;        &lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;TextBox&lt;/SPAN&gt; &lt;SPAN class=attr&gt;Text&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="0"&lt;/SPAN&gt; &lt;SPAN class=attr&gt;x:Name&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="_int2"&lt;/SPAN&gt; &lt;SPAN class=attr&gt;Width&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="50"&lt;/SPAN&gt; &lt;SPAN class=attr&gt;Height&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="20"&lt;/SPAN&gt; &lt;/PRE&gt;&lt;PRE&gt;                          &lt;SPAN class=attr&gt;Canvas&lt;/SPAN&gt;.&lt;SPAN class=attr&gt;Top&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="10"&lt;/SPAN&gt; &lt;SPAN class=attr&gt;Canvas&lt;/SPAN&gt;.&lt;SPAN class=attr&gt;Left&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="120"&lt;/SPAN&gt; &lt;SPAN class=attr&gt;TextChanged&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="_TextChanged"&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;        &lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;TextBlock&lt;/SPAN&gt; &lt;SPAN class=attr&gt;Canvas&lt;/SPAN&gt;.&lt;SPAN class=attr&gt;Top&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="10"&lt;/SPAN&gt; &lt;SPAN class=attr&gt;Canvas&lt;/SPAN&gt;.&lt;SPAN class=attr&gt;Left&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="175"&lt;/SPAN&gt; &lt;SPAN class=attr&gt;Text&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="="&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;        &lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;TextBlock&lt;/SPAN&gt; &lt;SPAN class=attr&gt;x:Name&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="_result"&lt;/SPAN&gt; &lt;SPAN class=attr&gt;Canvas&lt;/SPAN&gt;.&lt;SPAN class=attr&gt;Top&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="10"&lt;/SPAN&gt; &lt;SPAN class=attr&gt;Canvas&lt;/SPAN&gt;.&lt;SPAN class=attr&gt;Left&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="190"&lt;/SPAN&gt; &lt;SPAN class=attr&gt;Text&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;=""&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;    &lt;SPAN class=kwrd&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class=html&gt;Canvas&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=kwrd&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class=html&gt;UserControl&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/DIV&gt;
&lt;STYLE type=text/css&gt;.csharpcode {
	FONT-SIZE: small; COLOR: black; FONT-FAMILY: consolas, "Courier New", courier, monospace; BACKGROUND-COLOR: #ffffff
}
.csharpcode PRE {
	FONT-SIZE: small; COLOR: black; FONT-FAMILY: consolas, "Courier New", courier, monospace; BACKGROUND-COLOR: #ffffff
}
.csharpcode PRE {
	MARGIN: 0em
}
.csharpcode .rem {
	COLOR: #008000
}
.csharpcode .kwrd {
	COLOR: #0000ff
}
.csharpcode .str {
	COLOR: #006080
}
.csharpcode .op {
	COLOR: #0000c0
}
.csharpcode .preproc {
	COLOR: #cc6633
}
.csharpcode .asp {
	BACKGROUND-COLOR: #ffff00
}
.csharpcode .html {
	COLOR: #800000
}
.csharpcode .attr {
	COLOR: #ff0000
}
.csharpcode .alt {
	MARGIN: 0em; WIDTH: 100%; BACKGROUND-COLOR: #f4f4f4
}
.csharpcode .lnum {
	COLOR: #606060
}
&lt;/STYLE&gt;

&lt;UL&gt;
&lt;LI&gt;Add a Service Reference &lt;BR&gt;Right click on References then chose Add a Service Reference&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_E0EA/image_24.png" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_E0EA/image_24.png"&gt;&lt;IMG title=image style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=67 alt=image src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_E0EA/image_thumb_11.png" width=240 border=0 mce_src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_E0EA/image_thumb_11.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;In Address field, type the Sum service address then click Go (it should be &lt;A title=http://localhost:8080/SOAP-SumService/services/sum?wsdl href="http://localhost:8080/SOAP-SumService/services/sum?wsdl" mce_href="http://localhost:8080/SOAP-SumService/services/sum?wsdl"&gt;http://localhost:8080/SOAP-SumService/services/sum?wsdl&lt;/A&gt;). &lt;BR&gt;&lt;BR&gt;We actually have the Sum service named ServiceSum and one operation exposed as SumTwoInt, this is exactly what we did parameter in “Implementation of the Web Service endpoint” (see above)&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_E0EA/image_28.png" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_E0EA/image_28.png"&gt;&lt;IMG title=image style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=200 alt=image src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_E0EA/image_thumb_13.png" width=240 border=0 mce_src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_E0EA/image_thumb_13.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;In Namespace field, type ServiceSum : this is how the service will be accessible through the Silverlight project. Click OK. In the Solution Explorer you see the ServiceSum reference in Service References.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_E0EA/image_32.png" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_E0EA/image_32.png"&gt;&lt;IMG title=image style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=34 alt=image src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_E0EA/image_thumb_15.png" width=149 border=0 mce_src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/HowToSilverlightaccessingJavaSOAPservice_E0EA/image_thumb_15.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;U&gt;Implementation of the client proxy&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;In Page.xaml.cs, add an import to SOAP-Sum.ServiceSum reference library.&lt;/P&gt;
&lt;DIV class=csharpcode&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   1:  &lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;using&lt;/SPAN&gt; SOAP_Sum.ServiceSum;&lt;/PRE&gt;&lt;/DIV&gt;
&lt;P&gt;Now we need to handle the TextChanged event in _TextChanged method :&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Instantiate a client proxy 
&lt;DIV class=csharpcode&gt;&lt;PRE class=alt&gt;ServiceSumClient client = &lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; ServiceSumClient();&lt;/PRE&gt;&lt;/DIV&gt;
&lt;STYLE type=text/css&gt;.csharpcode {
	FONT-SIZE: small; COLOR: black; FONT-FAMILY: consolas, "Courier New", courier, monospace; BACKGROUND-COLOR: #ffffff
}
.csharpcode PRE {
	FONT-SIZE: small; COLOR: black; FONT-FAMILY: consolas, "Courier New", courier, monospace; BACKGROUND-COLOR: #ffffff
}
.csharpcode PRE {
	MARGIN: 0em
}
.csharpcode .rem {
	COLOR: #008000
}
.csharpcode .kwrd {
	COLOR: #0000ff
}
.csharpcode .str {
	COLOR: #006080
}
.csharpcode .op {
	COLOR: #0000c0
}
.csharpcode .preproc {
	COLOR: #cc6633
}
.csharpcode .asp {
	BACKGROUND-COLOR: #ffff00
}
.csharpcode .html {
	COLOR: #800000
}
.csharpcode .attr {
	COLOR: #ff0000
}
.csharpcode .alt {
	MARGIN: 0em; WIDTH: 100%; BACKGROUND-COLOR: #f4f4f4
}
.csharpcode .lnum {
	COLOR: #606060
}
&lt;/STYLE&gt;
&lt;/LI&gt;
&lt;LI&gt;Add an event handler corresponding to the operation we are going to use so we can get the result 
&lt;DIV class=csharpcode&gt;&lt;PRE class=alt&gt;client.SumTwoIntCompleted += &lt;/PRE&gt;&lt;PRE&gt;   &lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; EventHandler&amp;lt;SumTwoIntCompletedEventArgs&amp;gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;      (&lt;/PRE&gt;&lt;PRE&gt;         client_SumTwoIntCompleted&lt;/PRE&gt;&lt;PRE class=alt&gt;      );&lt;/PRE&gt;&lt;/DIV&gt;
&lt;STYLE type=text/css&gt;.csharpcode {
	FONT-SIZE: small; COLOR: black; FONT-FAMILY: consolas, "Courier New", courier, monospace; BACKGROUND-COLOR: #ffffff
}
.csharpcode PRE {
	FONT-SIZE: small; COLOR: black; FONT-FAMILY: consolas, "Courier New", courier, monospace; BACKGROUND-COLOR: #ffffff
}
.csharpcode PRE {
	MARGIN: 0em
}
.csharpcode .rem {
	COLOR: #008000
}
.csharpcode .kwrd {
	COLOR: #0000ff
}
.csharpcode .str {
	COLOR: #006080
}
.csharpcode .op {
	COLOR: #0000c0
}
.csharpcode .preproc {
	COLOR: #cc6633
}
.csharpcode .asp {
	BACKGROUND-COLOR: #ffff00
}
.csharpcode .html {
	COLOR: #800000
}
.csharpcode .attr {
	COLOR: #ff0000
}
.csharpcode .alt {
	MARGIN: 0em; WIDTH: 100%; BACKGROUND-COLOR: #f4f4f4
}
.csharpcode .lnum {
	COLOR: #606060
}
&lt;/STYLE&gt;
&lt;/LI&gt;
&lt;LI&gt;Use Async operation to send our two integers. &lt;BR&gt;Operations are made asynchronous so Silverlight UI won’t freeze 
&lt;DIV class=csharpcode&gt;&lt;PRE class=alt&gt;client.SumTwoIntAsync(a,b);&lt;/PRE&gt;&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;The whole method looks like this :&lt;/P&gt;
&lt;DIV class=csharpcode&gt;&lt;PRE class=alt&gt;&lt;SPAN class=lnum&gt;   1:  &lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;private&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;void&lt;/SPAN&gt; _TextChanged(&lt;SPAN class=kwrd&gt;object&lt;/SPAN&gt; sender, TextChangedEventArgs e)&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   2:  &lt;/SPAN&gt;{&lt;/PRE&gt;&lt;PRE class=alt&gt;&lt;SPAN class=lnum&gt;   3:  &lt;/SPAN&gt;    &lt;SPAN class=rem&gt;// check if fields contain some text&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   4:  &lt;/SPAN&gt;    &lt;SPAN class=kwrd&gt;if&lt;/SPAN&gt; (_int1.Text == &lt;SPAN class=str&gt;""&lt;/SPAN&gt; || _int2.Text == &lt;SPAN class=str&gt;""&lt;/SPAN&gt;) &lt;SPAN class=kwrd&gt;return&lt;/SPAN&gt;;&lt;/PRE&gt;&lt;PRE class=alt&gt;&lt;SPAN class=lnum&gt;   5:  &lt;/SPAN&gt;&amp;nbsp;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   6:  &lt;/SPAN&gt;    &lt;SPAN class=kwrd&gt;int&lt;/SPAN&gt; a = &lt;SPAN class=kwrd&gt;int&lt;/SPAN&gt;.Parse(_int1.Text);&lt;/PRE&gt;&lt;PRE class=alt&gt;&lt;SPAN class=lnum&gt;   7:  &lt;/SPAN&gt;    &lt;SPAN class=kwrd&gt;int&lt;/SPAN&gt; b = &lt;SPAN class=kwrd&gt;int&lt;/SPAN&gt;.Parse(_int2.Text);&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   8:  &lt;/SPAN&gt;&amp;nbsp;&lt;/PRE&gt;&lt;PRE class=alt&gt;&lt;SPAN class=lnum&gt;   9:  &lt;/SPAN&gt;    &lt;SPAN class=rem&gt;// generate a client proxy to the Web Service&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  10:  &lt;/SPAN&gt;    ServiceSumClient client = &lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; ServiceSumClient();&lt;/PRE&gt;&lt;PRE class=alt&gt;&lt;SPAN class=lnum&gt;  11:  &lt;/SPAN&gt;    client.SumTwoIntCompleted += &lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; EventHandler&amp;lt;SumTwoIntCompletedEventArgs&amp;gt;(client_SumTwoIntCompleted);&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  12:  &lt;/SPAN&gt;    client.SumTwoIntAsync(a,b);&lt;/PRE&gt;&lt;PRE class=alt&gt;&lt;SPAN class=lnum&gt;  13:  &lt;/SPAN&gt;}&lt;/PRE&gt;&lt;/DIV&gt;
&lt;STYLE type=text/css&gt;.csharpcode {
	FONT-SIZE: small; COLOR: black; FONT-FAMILY: consolas, "Courier New", courier, monospace; BACKGROUND-COLOR: #ffffff
}
.csharpcode PRE {
	FONT-SIZE: small; COLOR: black; FONT-FAMILY: consolas, "Courier New", courier, monospace; BACKGROUND-COLOR: #ffffff
}
.csharpcode PRE {
	MARGIN: 0em
}
.csharpcode .rem {
	COLOR: #008000
}
.csharpcode .kwrd {
	COLOR: #0000ff
}
.csharpcode .str {
	COLOR: #006080
}
.csharpcode .op {
	COLOR: #0000c0
}
.csharpcode .preproc {
	COLOR: #cc6633
}
.csharpcode .asp {
	BACKGROUND-COLOR: #ffff00
}
.csharpcode .html {
	COLOR: #800000
}
.csharpcode .attr {
	COLOR: #ff0000
}
.csharpcode .alt {
	MARGIN: 0em; WIDTH: 100%; BACKGROUND-COLOR: #f4f4f4
}
.csharpcode .lnum {
	COLOR: #606060
}
&lt;/STYLE&gt;

&lt;P&gt;Then we can process the result in the event handler&lt;/P&gt;
&lt;DIV class=csharpcode&gt;&lt;PRE class=alt&gt;&lt;SPAN class=kwrd&gt;void&lt;/SPAN&gt; client_SumTwoIntCompleted(&lt;SPAN class=kwrd&gt;object&lt;/SPAN&gt; sender, SumTwoIntCompletedEventArgs e)&lt;/PRE&gt;&lt;PRE&gt;{&lt;/PRE&gt;&lt;PRE class=alt&gt;    _result.Text = e.Result.ToString();&lt;/PRE&gt;&lt;PRE&gt;}&lt;/PRE&gt;&lt;/DIV&gt;
&lt;STYLE type=text/css&gt;.csharpcode {
	FONT-SIZE: small; COLOR: black; FONT-FAMILY: consolas, "Courier New", courier, monospace; BACKGROUND-COLOR: #ffffff
}
.csharpcode PRE {
	FONT-SIZE: small; COLOR: black; FONT-FAMILY: consolas, "Courier New", courier, monospace; BACKGROUND-COLOR: #ffffff
}
.csharpcode PRE {
	MARGIN: 0em
}
.csharpcode .rem {
	COLOR: #008000
}
.csharpcode .kwrd {
	COLOR: #0000ff
}
.csharpcode .str {
	COLOR: #006080
}
.csharpcode .op {
	COLOR: #0000c0
}
.csharpcode .preproc {
	COLOR: #cc6633
}
.csharpcode .asp {
	BACKGROUND-COLOR: #ffff00
}
.csharpcode .html {
	COLOR: #800000
}
.csharpcode .attr {
	COLOR: #ff0000
}
.csharpcode .alt {
	MARGIN: 0em; WIDTH: 100%; BACKGROUND-COLOR: #f4f4f4
}
.csharpcode .lnum {
	COLOR: #606060
}
&lt;/STYLE&gt;

&lt;P mce_keep="true"&gt;Run the project and type some integers in the text boxes : Silverlight is consuming a JAX-WS SOAP service.&lt;/P&gt;
&lt;P&gt;- &lt;A class="" href="http://www.linkedin.com/in/ronnykwon" target=_blank mce_href="http://www.linkedin.com/in/ronnykwon"&gt;Ronny Kwon&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8831283" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/silverlight_plus_java/attachment/8831283.ashx" length="589450" type="application/x-zip-compressed" /><category domain="http://blogs.msdn.com/silverlight_plus_java/archive/tags/SOAP_2F00_RPC/default.aspx">SOAP/RPC</category><category domain="http://blogs.msdn.com/silverlight_plus_java/archive/tags/Implementation/default.aspx">Implementation</category><category domain="http://blogs.msdn.com/silverlight_plus_java/archive/tags/How-to/default.aspx">How-to</category><category domain="http://blogs.msdn.com/silverlight_plus_java/archive/tags/Cross+Domain/default.aspx">Cross Domain</category><category domain="http://blogs.msdn.com/silverlight_plus_java/archive/tags/D2D/default.aspx">D2D</category></item><item><title>How-To : Silverlight accessing Java REST services (Part 1 - Cross Domain : IIS + Tomcat)</title><link>http://blogs.msdn.com/silverlight_plus_java/archive/2008/07/30/How_2D00_To-_3A00_-Silverlight-accessing-Java-REST-services-_2800_Part-1-_2D00_-Cross-Domain-_3A00_-IIS-_2B00_-Tomcat_2900_.aspx</link><pubDate>Wed, 30 Jul 2008 15:42:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8789161</guid><dc:creator>Steve SFARTZ</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/silverlight_plus_java/comments/8789161.aspx</comments><wfw:commentRss>http://blogs.msdn.com/silverlight_plus_java/commentrss.aspx?PostID=8789161</wfw:commentRss><description>&lt;P mce_keep="true"&gt;The &lt;A class="" href="http://www.linkedin.com/in/ronnykwon" target=_blank mce_href="http://www.linkedin.com/in/ronnykwon"&gt;HowTo&lt;/A&gt; serie demoes Silverlight accessing Web Services in various configurations. In this post, we will demonstrate a REST service consumed by HTTP GET and POST requests issued from a Silverlight client application. This scenario can be categorized as a &lt;A href="http://blogs.msdn.com/silverlight_plus_java/archive/2008/07/28/scenario-d2d-developer-env.aspx" mce_href="http://blogs.msdn.com/silverlight_plus_java/archive/2008/07/28/scenario-d2d-developer-env.aspx"&gt;D2D scenario&lt;/A&gt; with a cross domain policy. &lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;EM&gt;The Silverlight example described below is available as an attachment to this post.&lt;/EM&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;Technical environment&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;REST services are built with Restlet and hosted in Tomcat&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;The Silverlight application is hosted under the Visual Studio embedded Web Server code name "Catalina" (which delivers a subset of the IIS capabilities)&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/MixJavaand.NETEnvironment_DFA6/image_2.png"&gt;&lt;IMG title=image style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=387 alt=image src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/MixJavaand.NETEnvironment_DFA6/image_thumb.png" width=505 border=0&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Because the Site of Origin and the Web Services reside in different hosts, a Cross Domain policy is required at the Services host’s root (/clientaccesspolicy.xml"&amp;gt;http://&amp;lt;serviceshostname:port&amp;gt;/clientaccesspolicy.xml)&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Implementation of the REST service&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;To get an overview of the Restlet framework, complete the tutorials : &lt;A class="" href="http://www.restlet.org/documentation/1.0/firstSteps" target=_blank mce_href="http://www.restlet.org/documentation/1.0/firstSteps "&gt;First Steps&lt;/A&gt; and &lt;A class="" href="http://www.restlet.org/documentation/1.0/firstResource" target=_blank mce_href="http://www.restlet.org/documentation/1.0/firstResource"&gt;First Resource&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Service development with Restlet can be summarized as follow : &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;The Application class is the entry point to the Restlet service. It&amp;nbsp; binds a URI to a specific Resource. &lt;/LI&gt;
&lt;LI&gt;The Resource class describes how the service behaves on a specific URI invokation. &lt;/LI&gt;&lt;/UL&gt;
&lt;P mce_keep="true"&gt;After completing the tutorials above, deploy the firstResource service as a &lt;A class="" href="http://www.restlet.org/documentation/1.0/firstSteps#part03" target=_blank mce_href="http://www.restlet.org/documentation/1.0/firstSteps#part03"&gt;Servlet hosted by Tomcat&lt;/A&gt;.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Invoke the Restlet service with the URI &lt;A href="http://localhost:8080/Restlet-servletfirstResource/items"&gt;http://localhost:8080/Restlet-servletfirstResource/items&lt;/A&gt;. Assuming that Tomcat is running on port 8080 and that your Restlet project name is Restlet-servletfirstResource, you get the following response :&lt;/P&gt;
&lt;DIV class=csharpcode&gt;&lt;PRE class=alt&gt;  &lt;FONT color=#000000&gt;&lt;SPAN class=kwrd&gt;&amp;lt;?&lt;/SPAN&gt;&lt;SPAN class=html&gt;xml&lt;/SPAN&gt; &lt;SPAN class=attr&gt;version&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="1.0"&lt;/SPAN&gt; &lt;SPAN class=attr&gt;encoding&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="UTF-8"&lt;/SPAN&gt; &lt;SPAN class=attr&gt;standalone&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="no"&lt;/SPAN&gt; ?&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt; &lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE&gt;  &lt;FONT color=#000000&gt;&lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;items&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;     &lt;FONT color=#000000&gt;&lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;item&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE&gt;        &lt;FONT color=#000000&gt;&lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;name&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;item1&lt;SPAN class=kwrd&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class=html&gt;name&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt; &lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;        &lt;FONT color=#000000&gt;&lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;description&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;description of item1&lt;SPAN class=kwrd&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class=html&gt;description&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt; &lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE&gt;     &lt;FONT color=#000000&gt;&lt;SPAN class=kwrd&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class=html&gt;item&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;   &lt;FONT color=#000000&gt;&lt;SPAN class=kwrd&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class=html&gt;items&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/PRE&gt;&lt;/DIV&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;Enabling Cross Domain Access&lt;/STRONG&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Since the REST service and the Silverlight application are hosted in different hosts, we need to overpass the &lt;A href="http://blogs.msdn.com/silverlight_plus_java/archive/2008/07/31/Cross-Domain-_3A00_-Trouble-while-accessing-Web-Services.aspx" target=_blank&gt;Cross Domain Issue&lt;/A&gt;. Create at the root of the REST service host, a clientaccesspolicy.xml file with the following content :&lt;/P&gt;
&lt;DIV class=csharpcode&gt;&lt;PRE class=alt&gt;&lt;SPAN class=kwrd&gt;&amp;lt;?&lt;/SPAN&gt;&lt;SPAN class=html&gt;xml&lt;/SPAN&gt; &lt;SPAN class=attr&gt;version&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="1.0"&lt;/SPAN&gt; &lt;SPAN class=attr&gt;encoding&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="UTF-8"&lt;/SPAN&gt;?&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;access-policy&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;    &lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;cross-domain-access&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;        &lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;policy&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;            &lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;allow-from&lt;/SPAN&gt; &lt;SPAN class=attr&gt;http-request-headers&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="*"&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;                &lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;domain&lt;/SPAN&gt; &lt;SPAN class=attr&gt;uri&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="*"&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;            &lt;SPAN class=kwrd&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class=html&gt;allow-from&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;            &lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;grant-to&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;                &lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;resource&lt;/SPAN&gt; &lt;SPAN class=attr&gt;include-subpaths&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="true"&lt;/SPAN&gt; &lt;SPAN class=attr&gt;path&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;="/"&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;            &lt;SPAN class=kwrd&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class=html&gt;grant-to&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;        &lt;SPAN class=kwrd&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class=html&gt;policy&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;    &lt;SPAN class=kwrd&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class=html&gt;cross-domain-access&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;&lt;SPAN class=kwrd&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class=html&gt;access-policy&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/DIV&gt;
&lt;STYLE type=text/css&gt;.csharpcode {
	FONT-SIZE: small; COLOR: black; FONT-FAMILY: consolas, "Courier New", courier, monospace; BACKGROUND-COLOR: #ffffff
}
.csharpcode PRE {
	FONT-SIZE: small; COLOR: black; FONT-FAMILY: consolas, "Courier New", courier, monospace; BACKGROUND-COLOR: #ffffff
}
.csharpcode PRE {
	MARGIN: 0em
}
.csharpcode .rem {
	COLOR: #008000
}
.csharpcode .kwrd {
	COLOR: #0000ff
}
.csharpcode .str {
	COLOR: #006080
}
.csharpcode .op {
	COLOR: #0000c0
}
.csharpcode .preproc {
	COLOR: #cc6633
}
.csharpcode .asp {
	BACKGROUND-COLOR: #ffff00
}
.csharpcode .html {
	COLOR: #800000
}
.csharpcode .attr {
	COLOR: #ff0000
}
.csharpcode .alt {
	MARGIN: 0em; WIDTH: 100%; BACKGROUND-COLOR: #f4f4f4
}
.csharpcode .lnum {
	COLOR: #606060
}
&lt;/STYLE&gt;

&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;Consuming a REST service with Silverlight (GET method)&lt;/STRONG&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;We chose the WebClient API to request the REST service, and LINQ to process the XML response. &lt;A class="" href="http://msdn.microsoft.com/en-us/library/cc188996(VS.95).aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/cc188996(VS.95).aspx"&gt;XmlReader&lt;/A&gt; is another parsing option, and &lt;A class="" href="http://www.linkedin.com/in/ronnykwon" target=_blank mce_href="http://www.linkedin.com/in/ronnykwon"&gt;Serialization&lt;/A&gt; (Xml or DataContract) is another one.&lt;/P&gt;
&lt;P&gt;&lt;U&gt;Invocation of the REST service&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;First of all, in your UserControl, declare a MyItem class that will map the XML response elements.&lt;/P&gt;
&lt;DIV class=csharpcode&gt;&lt;PRE class=alt&gt;&lt;SPAN class=lnum&gt;   1:  &lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;public&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;class&lt;/SPAN&gt; MyItem&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   2:  &lt;/SPAN&gt;{&lt;/PRE&gt;&lt;PRE class=alt&gt;&lt;SPAN class=lnum&gt;   3:  &lt;/SPAN&gt;    &lt;SPAN class=kwrd&gt;public&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;string&lt;/SPAN&gt; myName { get; set; }&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   4:  &lt;/SPAN&gt;    &lt;SPAN class=kwrd&gt;public&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;string&lt;/SPAN&gt; myDescription { get; set; }&lt;/PRE&gt;&lt;PRE class=alt&gt;&lt;SPAN class=lnum&gt;   5:  &lt;/SPAN&gt;}&lt;/PRE&gt;&lt;/DIV&gt;
&lt;DIV class=csharpcode&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;STYLE type=text/css&gt;.csharpcode {
	FONT-SIZE: small; COLOR: black; FONT-FAMILY: consolas, "Courier New", courier, monospace; BACKGROUND-COLOR: #ffffff
}
.csharpcode PRE {
	FONT-SIZE: small; COLOR: black; FONT-FAMILY: consolas, "Courier New", courier, monospace; BACKGROUND-COLOR: #ffffff
}
.csharpcode PRE {
	MARGIN: 0em
}
.csharpcode .rem {
	COLOR: #008000
}
.csharpcode .kwrd {
	COLOR: #0000ff
}
.csharpcode .str {
	COLOR: #006080
}
.csharpcode .op {
	COLOR: #0000c0
}
.csharpcode .preproc {
	COLOR: #cc6633
}
.csharpcode .asp {
	BACKGROUND-COLOR: #ffff00
}
.csharpcode .html {
	COLOR: #800000
}
.csharpcode .attr {
	COLOR: #ff0000
}
.csharpcode .alt {
	MARGIN: 0em; WIDTH: 100%; BACKGROUND-COLOR: #f4f4f4
}
.csharpcode .lnum {
	COLOR: #606060
}
&lt;/STYLE&gt;

&lt;DIV class=csharpcode&gt;&lt;PRE class=alt&gt;&lt;SPAN class=lnum&gt;   1:  &lt;/SPAN&gt;&lt;SPAN class=rem&gt;// List of Items&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   2:  &lt;/SPAN&gt;IEnumerable&amp;lt;MyItem&amp;gt; Items = &lt;SPAN class=kwrd&gt;null&lt;/SPAN&gt;;&lt;/PRE&gt;&lt;/DIV&gt;
&lt;STYLE type=text/css&gt;.csharpcode {
	FONT-SIZE: small; COLOR: black; FONT-FAMILY: consolas, "Courier New", courier, monospace; BACKGROUND-COLOR: #ffffff
}
.csharpcode PRE {
	FONT-SIZE: small; COLOR: black; FONT-FAMILY: consolas, "Courier New", courier, monospace; BACKGROUND-COLOR: #ffffff
}
.csharpcode PRE {
	MARGIN: 0em
}
.csharpcode .rem {
	COLOR: #008000
}
.csharpcode .kwrd {
	COLOR: #0000ff
}
.csharpcode .str {
	COLOR: #006080
}
.csharpcode .op {
	COLOR: #0000c0
}
.csharpcode .preproc {
	COLOR: #cc6633
}
.csharpcode .asp {
	BACKGROUND-COLOR: #ffff00
}
.csharpcode .html {
	COLOR: #800000
}
.csharpcode .attr {
	COLOR: #ff0000
}
.csharpcode .alt {
	MARGIN: 0em; WIDTH: 100%; BACKGROUND-COLOR: #f4f4f4
}
.csharpcode .lnum {
	COLOR: #606060
}
&lt;/STYLE&gt;

&lt;P&gt;Now, let's send a HTTP GET method request to /items URI so we can retrieve every items&lt;/P&gt;
&lt;DIV class=csharpcode&gt;&lt;PRE class=alt&gt;&lt;SPAN class=lnum&gt;   1:  &lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;private&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;void&lt;/SPAN&gt; getAction()&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   2:  &lt;/SPAN&gt;{&lt;/PRE&gt;&lt;PRE class=alt&gt;&lt;SPAN class=lnum&gt;   3:  &lt;/SPAN&gt;    WebClient webclient = &lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; WebClient();&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   4:  &lt;/SPAN&gt;    webclient.DownloadStringCompleted += &lt;/PRE&gt;&lt;PRE class=alt&gt;&lt;SPAN class=lnum&gt;   5:  &lt;/SPAN&gt;      &lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; DownloadStringCompletedEventHandler(client_DownloadStringCompleted);&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   6:  &lt;/SPAN&gt;    webclient.DownloadStringAsync(&lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; Uri(&lt;SPAN class=str&gt;"http://localhost:8080/Restlet-servletfirstResource/items"&lt;/SPAN&gt;));&lt;/PRE&gt;&lt;PRE class=alt&gt;&lt;SPAN class=lnum&gt;   7:  &lt;/SPAN&gt;}&lt;/PRE&gt;&lt;/DIV&gt;
&lt;P mce_keep="true"&gt;&lt;U&gt;Processing the XML results&lt;/U&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Let’s process the results using LINQ support for XML :&lt;/P&gt;
&lt;DIV class=csharpcode&gt;&lt;PRE class=alt&gt;&lt;SPAN class=lnum&gt;   1:  &lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;void&lt;/SPAN&gt; client_DownloadStringCompleted(&lt;SPAN class=kwrd&gt;object&lt;/SPAN&gt; sender, DownloadStringCompletedEventArgs e)&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   2:  &lt;/SPAN&gt;{&lt;/PRE&gt;&lt;PRE class=alt&gt;&lt;SPAN class=lnum&gt;   3:  &lt;/SPAN&gt;    &lt;SPAN class=kwrd&gt;if&lt;/SPAN&gt; (e.Error == &lt;SPAN class=kwrd&gt;null&lt;/SPAN&gt;)&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   4:  &lt;/SPAN&gt;    {&lt;/PRE&gt;&lt;PRE class=alt&gt;&lt;SPAN class=lnum&gt;   5:  &lt;/SPAN&gt;        XDocument xmlItems = XDocument.Parse(e.Result);&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   6:  &lt;/SPAN&gt;        &lt;SPAN class=rem&gt;// use LINQ to XML to parse the response&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;&lt;SPAN class=lnum&gt;   7:  &lt;/SPAN&gt;        Items = from child &lt;SPAN class=kwrd&gt;in&lt;/SPAN&gt; xmlItems.Element(&lt;SPAN class=str&gt;"items"&lt;/SPAN&gt;).Descendants().ToList()&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   8:  &lt;/SPAN&gt;                &lt;SPAN class=rem&gt;// restrict the selection to item children&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;&lt;SPAN class=lnum&gt;   9:  &lt;/SPAN&gt;                &lt;SPAN class=kwrd&gt;where&lt;/SPAN&gt; child.Name.LocalName==&lt;SPAN class=str&gt;"item"&lt;/SPAN&gt;    &lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  10:  &lt;/SPAN&gt;                select &lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; MyItem&lt;/PRE&gt;&lt;PRE class=alt&gt;&lt;SPAN class=lnum&gt;  11:  &lt;/SPAN&gt;                    {&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  12:  &lt;/SPAN&gt;                        myName = (&lt;SPAN class=kwrd&gt;string&lt;/SPAN&gt;)child.Element(&lt;SPAN class=str&gt;"name"&lt;/SPAN&gt;),&lt;/PRE&gt;&lt;PRE class=alt&gt;&lt;SPAN class=lnum&gt;  13:  &lt;/SPAN&gt;                        myDescription = (&lt;SPAN class=kwrd&gt;string&lt;/SPAN&gt;) child.Element(&lt;SPAN class=str&gt;"description"&lt;/SPAN&gt;)&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  14:  &lt;/SPAN&gt;                    };&lt;/PRE&gt;&lt;PRE class=alt&gt;&lt;SPAN class=lnum&gt;  15:  &lt;/SPAN&gt;    } &lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  16:  &lt;/SPAN&gt;}&lt;/PRE&gt;&lt;/DIV&gt;
&lt;STYLE type=text/css&gt;.csharpcode {
	FONT-SIZE: small; COLOR: black; FONT-FAMILY: consolas, "Courier New", courier, monospace; BACKGROUND-COLOR: #ffffff
}
.csharpcode PRE {
	FONT-SIZE: small; COLOR: black; FONT-FAMILY: consolas, "Courier New", courier, monospace; BACKGROUND-COLOR: #ffffff
}
.csharpcode PRE {
	MARGIN: 0em
}
.csharpcode .rem {
	COLOR: #008000
}
.csharpcode .kwrd {
	COLOR: #0000ff
}
.csharpcode .str {
	COLOR: #006080
}
.csharpcode .op {
	COLOR: #0000c0
}
.csharpcode .preproc {
	COLOR: #cc6633
}
.csharpcode .asp {
	BACKGROUND-COLOR: #ffff00
}
.csharpcode .html {
	COLOR: #800000
}
.csharpcode .attr {
	COLOR: #ff0000
}
.csharpcode .alt {
	MARGIN: 0em; WIDTH: 100%; BACKGROUND-COLOR: #f4f4f4
}
.csharpcode .lnum {
	COLOR: #606060
}
&lt;/STYLE&gt;

&lt;STYLE type=text/css&gt;.csharpcode {
	FONT-SIZE: small; COLOR: black; FONT-FAMILY: consolas, "Courier New", courier, monospace; BACKGROUND-COLOR: #ffffff
}
.csharpcode PRE {
	FONT-SIZE: small; COLOR: black; FONT-FAMILY: consolas, "Courier New", courier, monospace; BACKGROUND-COLOR: #ffffff
}
.csharpcode PRE {
	MARGIN: 0em
}
.csharpcode .rem {
	COLOR: #008000
}
.csharpcode .kwrd {
	COLOR: #0000ff
}
.csharpcode .str {
	COLOR: #006080
}
.csharpcode .op {
	COLOR: #0000c0
}
.csharpcode .preproc {
	COLOR: #cc6633
}
.csharpcode .asp {
	BACKGROUND-COLOR: #ffff00
}
.csharpcode .html {
	COLOR: #800000
}
.csharpcode .attr {
	COLOR: #ff0000
}
.csharpcode .alt {
	MARGIN: 0em; WIDTH: 100%; BACKGROUND-COLOR: #f4f4f4
}
.csharpcode .lnum {
	COLOR: #606060
}
&lt;/STYLE&gt;

&lt;P&gt;&lt;STRONG&gt;Sending Data to a REST service with Silverlight&amp;nbsp; (POST method)&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Use the WebClient to send a HTTP POST request to the /items URI, by adding two parameters : name = "Foo"&amp;nbsp; and description = "Bar" :&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;DIV class=csharpcode&gt;&lt;PRE class=alt&gt;&lt;SPAN class=lnum&gt;   1:  &lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;private&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;void&lt;/SPAN&gt; postWebClient()&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   2:  &lt;/SPAN&gt;{&lt;/PRE&gt;&lt;PRE class=alt&gt;&lt;SPAN class=lnum&gt;   3:  &lt;/SPAN&gt;    WebClient webclient = &lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; WebClient();&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   4:  &lt;/SPAN&gt;    webclient.UploadStringAsync(&lt;/PRE&gt;&lt;PRE class=alt&gt;&lt;SPAN class=lnum&gt;   7:  &lt;/SPAN&gt;      &lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; Uri(&lt;SPAN class=str&gt;"http://localhost:8080/Restlet-servletfirstResource/items"&lt;/SPAN&gt;),&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   8:  &lt;/SPAN&gt;      &lt;SPAN class=str&gt;"name=Foo&amp;amp;description=Bar"&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE class=alt&gt;&lt;SPAN class=lnum&gt;   9:  &lt;/SPAN&gt;    );&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  10:  &lt;/SPAN&gt;}&lt;/PRE&gt;&lt;/DIV&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Warning : Notice that if you try to hit the same URI several time with the HTTP GET method, the results do not get refreshed but remain the same. Further explanations about this &lt;/EM&gt;&lt;A class="" href="http://blogs.msdn.com/silverlight_plus_java/archive/2008/07/30/Limitations-when-accessing-REST-services-from-Silverlight.aspx#CacheIssue" mce_href="http://blogs.msdn.com/silverlight_plus_java/archive/2008/07/30/Limitations-when-accessing-REST-services-from-Silverlight.aspx#CacheIssue"&gt;&lt;EM&gt;caching issue&lt;/EM&gt;&lt;/A&gt;&lt;EM&gt; are available here.&lt;/EM&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;- &lt;A class="" href="http://www.linkedin.com/in/ronnykwon" target=_blank mce_href="http://www.linkedin.com/in/ronnykwon"&gt;Ronny Kwon&lt;/A&gt; &lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8789161" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/silverlight_plus_java/attachment/8789161.ashx" length="822159" type="application/x-zip-compressed" /><category domain="http://blogs.msdn.com/silverlight_plus_java/archive/tags/XML_2F00_REST/default.aspx">XML/REST</category><category domain="http://blogs.msdn.com/silverlight_plus_java/archive/tags/Implementation/default.aspx">Implementation</category><category domain="http://blogs.msdn.com/silverlight_plus_java/archive/tags/How-to/default.aspx">How-to</category><category domain="http://blogs.msdn.com/silverlight_plus_java/archive/tags/Cross+Domain/default.aspx">Cross Domain</category><category domain="http://blogs.msdn.com/silverlight_plus_java/archive/tags/D2D/default.aspx">D2D</category></item><item><title>Limitations when accessing REST services from Silverlight</title><link>http://blogs.msdn.com/silverlight_plus_java/archive/2008/07/30/Limitations-when-accessing-REST-services-from-Silverlight.aspx</link><pubDate>Wed, 30 Jul 2008 12:35:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8784217</guid><dc:creator>Steve SFARTZ</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/silverlight_plus_java/comments/8784217.aspx</comments><wfw:commentRss>http://blogs.msdn.com/silverlight_plus_java/commentrss.aspx?PostID=8784217</wfw:commentRss><description>&lt;P&gt;As explained in &lt;A id=bp___v___r___postlist___EntryItems_ctl01_PostTitle href="http://blogs.msdn.com/silverlight_plus_java/archive/2008/07/30/what-are-those-soap-rpc-and-xml-rest-styles.aspx"&gt;&lt;FONT color=#176db5&gt;What are those SOAP/RPC and XML/REST styles ?&lt;/FONT&gt;&lt;/A&gt;, the REST support in Silverlight has several limitations : &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Only the&amp;nbsp;"Content-Type" HTTP header can be accessed from the Silverlight client code. &lt;/LI&gt;
&lt;LI&gt;The WebClient&amp;nbsp;works fine in most scenarios, yet turn to HttpWebRequest if you need to control the response flow.&lt;/LI&gt;
&lt;LI&gt;HTTP methods are limited to POST and GET (no PUT, nor DELETE support) - see below&lt;/LI&gt;
&lt;LI&gt;You may encounter Browser Caching issues - see below&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;U&gt;1. Manipulating a REST service model is done via 4 basic HTTP methods: GET, POST, PUT, DELETE . The last two methods&amp;nbsp;are not yet supported by Silverlight&amp;nbsp;:&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/ConsiderationsbeforecallingaRESTfulservi_D459/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/ConsiderationsbeforecallingaRESTfulservi_D459/image_2.png"&gt;&lt;IMG title=image style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=242 alt=image src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/ConsiderationsbeforecallingaRESTfulservi_D459/image_thumb.png" width=564 border=0 mce_src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/ConsiderationsbeforecallingaRESTfulservi_D459/image_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;&lt;A class="" title=#CacheIssue name=#CacheIssue&gt;&lt;/A&gt;
&lt;P&gt;&lt;U&gt;&lt;A class="" title=CacheIssue name=CacheIssue&gt;&lt;/A&gt;2. Cache issue&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;You request&amp;nbsp;data from a REST service by invoking a URI&amp;nbsp;with the WebClient&amp;nbsp;class. As all service communications are async in Silverlight, you process the result through an handler.&lt;/P&gt;
&lt;DIV class=csharpcode&gt;
&lt;DIV class=csharpcode&gt;&lt;PRE class=alt&gt;&lt;SPAN class=lnum&gt;   1:  &lt;/SPAN&gt;WebClient client = &lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; WebClient();&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   2:  &lt;/SPAN&gt;client.DownloadStringCompleted += &lt;/PRE&gt;&lt;PRE class=alt&gt;&lt;SPAN class=lnum&gt;   3:  &lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; DownloadStringCompletedEventHandler(client_DownloadStringCompleted);&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   4:  &lt;/SPAN&gt;client.DownloadStringAsync(&lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; Uri(“http://foo.org/service/items”));&lt;/PRE&gt;&lt;/DIV&gt;
&lt;STYLE type=text/css&gt;.csharpcode {
	FONT-SIZE: small; COLOR: black; FONT-FAMILY: consolas, "Courier New", courier, monospace; BACKGROUND-COLOR: #ffffff
}
.csharpcode PRE {
	FONT-SIZE: small; COLOR: black; FONT-FAMILY: consolas, "Courier New", courier, monospace; BACKGROUND-COLOR: #ffffff
}
.csharpcode PRE {
	MARGIN: 0em
}
.csharpcode .rem {
	COLOR: #008000
}
.csharpcode .kwrd {
	COLOR: #0000ff
}
.csharpcode .str {
	COLOR: #006080
}
.csharpcode .op {
	COLOR: #0000c0
}
.csharpcode .preproc {
	COLOR: #cc6633
}
.csharpcode .asp {
	BACKGROUND-COLOR: #ffff00
}
.csharpcode .html {
	COLOR: #800000
}
.csharpcode .attr {
	COLOR: #ff0000
}
.csharpcode .alt {
	MARGIN: 0em; WIDTH: 100%; BACKGROUND-COLOR: #f4f4f4
}
.csharpcode .lnum {
	COLOR: #606060
}
&lt;/STYLE&gt;
&lt;PRE&gt;&lt;/PRE&gt;&lt;PRE&gt;&amp;nbsp;&lt;/PRE&gt;&lt;/DIV&gt;
&lt;P&gt;You may experience that the same data gets always retrieved, even when modified on the service side. To solve this problem :&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;either set the Cache Control&amp;nbsp;with "no-cache" value on the service side, &amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;or ensure that subsequent calls are made&amp;nbsp;with&amp;nbsp;differents URI (so that the results do not get cached). This is mandatory if the REST framework on the service side does not support cache header customization, as it is the case for the Restlet framework (as of July 2008, &lt;A class="" href="http://restlet.tigris.org/issues/show_bug.cgi?id=25" target=_blank mce_href="http://restlet.tigris.org/issues/show_bug.cgi?id=25"&gt;Jerome Louvel is working on it&lt;/A&gt;).&lt;/LI&gt;&lt;/UL&gt;&lt;PRE class=csharpcode&gt;client.DownloadStringAsync(&lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; Uri(“http://foo.org/service/items?cache=" + DateTime.Now));&amp;nbsp;&lt;/PRE&gt;&lt;PRE class=csharpcode&gt; &amp;nbsp;&lt;/PRE&gt;&lt;PRE class=csharpcode&gt;- &lt;A class="" href="http://www.linkedin.com/in/ronnykwon" target=_blank mce_href="http://www.linkedin.com/in/ronnykwon"&gt;Ronny Kwon&lt;/A&gt;&lt;/PRE&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8784217" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/silverlight_plus_java/archive/tags/XML_2F00_REST/default.aspx">XML/REST</category><category domain="http://blogs.msdn.com/silverlight_plus_java/archive/tags/Implementation/default.aspx">Implementation</category></item><item><title>D2D scenario : Developer Environment</title><link>http://blogs.msdn.com/silverlight_plus_java/archive/2008/07/28/scenario-d2d-developer-env.aspx</link><pubDate>Mon, 28 Jul 2008 17:17:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8784339</guid><dc:creator>Steve SFARTZ</dc:creator><slash:comments>8</slash:comments><comments>http://blogs.msdn.com/silverlight_plus_java/comments/8784339.aspx</comments><wfw:commentRss>http://blogs.msdn.com/silverlight_plus_java/commentrss.aspx?PostID=8784339</wfw:commentRss><description>&lt;p&gt;This scenario is typically used in development phase when &lt;strong&gt;you are building a Silverlight rich client that connects to new business Logic&lt;/strong&gt;. It is mandatory that the business logic is new to ensure you have enough control to enforce a configuration where the Site Of Origin and the Services Host reside on the same node. If you face a configuration where you need to interface with Business Logic exposed by existing Web Services from a distinct node or requiring protocol adaptation, turn to the B2E scenario.&lt;/p&gt;  &lt;p&gt;As listed in &lt;a id="bp___v___r___postlist___EntryItems_ctl02_PostTitle" href="http://blogs.msdn.com/silverlight_plus_java/archive/2008/07/28/silverlight-scenarios-for-rich-internet-applications.aspx"&gt;&lt;font color="#176db5"&gt;Silverlight scenarios for Rich Internet Applications&lt;/font&gt;&lt;/a&gt;, the following constraints apply to the Developer Environment scenario :&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;No infrastructure security constraints since this is a dev/test env (No HTTPS, no DMZ) &lt;/li&gt;    &lt;li&gt;No protocol adaptation is necessary as we develop brand new services here (ie, messages format &amp;amp; exchange protocol correspond to the Silverlight client capabilities, they can be directly consumed) &lt;/li&gt;    &lt;li&gt;Authentication &amp;amp; authorization may need to be handled if required at production/deployment time : this point is covered in the B2E scenario. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;A cross domain security file is needed if the Site Of Origin does not host the Web Services&lt;/strong&gt;, as in interoperability scenarios where the Site of Origin and the Web Services rely on two different technologies.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/D2DScenarioDeveloperEnvironment_FA7C/image_2.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="191" alt="image" src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/D2DScenarioDeveloperEnvironment_FA7C/image_thumb.png" width="255" border="0" /&gt;&lt;/a&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;a href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/D2DScenarioDeveloperEnvironment_FA7C/image_6.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="194" alt="image" src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/D2DScenarioDeveloperEnvironment_FA7C/image_thumb_1.png" width="254" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/ScenarioD2DDeveloperEnv_E51C/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/ScenarioD2DDeveloperEnv_E51C/image_2.png"&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;We plan to experiment the following configurations :&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;u&gt;SOAP/ RPC style (operation oriented)&lt;/u&gt;       &lt;ol&gt;       &lt;li&gt;Mixed configuration : IIS for Site of Origin + Tomcat and JAVA-WS for Web Services          &lt;ul&gt;           &lt;li&gt;with a cross-domain policy &lt;/li&gt;            &lt;li&gt;or by servicing Web services request from IIS through the &lt;a class="" href="http://tomcat.apache.org/connectors-doc/webserver_howto/iis.html" target="_blank" mce_href="http://tomcat.apache.org/connectors-doc/webserver_howto/iis.html"&gt;Tomcat connector for IIS&lt;/a&gt;&lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Full Java configuration : Tomcat for Site of Origin + JAVA-WS for Web Services &lt;/li&gt;        &lt;li&gt;Full Windows configuration : IIS for Site or Origin + WCF services (SOAP style) for Web Services          &lt;ul&gt;           &lt;li&gt;with a cross-domain policy &lt;/li&gt;            &lt;li&gt;or with the IIS built-in integration of WCF services through SVC resources&lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ol&gt;   &lt;/li&gt;    &lt;li&gt;&lt;u&gt;XML/ REST style (resource oriented)&lt;/u&gt;       &lt;ol&gt;       &lt;li&gt;Mixed configuration : IIS for Site of Origin + Tomcat and the Restlet framework for Web Services          &lt;ul&gt;           &lt;li&gt;with a cross-domain policy &lt;/li&gt;            &lt;li&gt;or by servicing Web services request from IIS through the &lt;a class="" href="http://tomcat.apache.org/connectors-doc/webserver_howto/iis.html" target="_blank" mce_href="http://tomcat.apache.org/connectors-doc/webserver_howto/iis.html"&gt;Tomcat connector for IIS&lt;/a&gt;&lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Full Java configuration : Tomcat for Site of Origin + Restlet for Web Services &lt;/li&gt;        &lt;li&gt;Full Windows configuration : IIS for Site of Origin + WCF services (REST style) for Web Services&lt;/li&gt;     &lt;/ol&gt;   &lt;/li&gt; &lt;/ul&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8784339" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/silverlight_plus_java/archive/tags/XML_2F00_REST/default.aspx">XML/REST</category><category domain="http://blogs.msdn.com/silverlight_plus_java/archive/tags/SOAP_2F00_RPC/default.aspx">SOAP/RPC</category><category domain="http://blogs.msdn.com/silverlight_plus_java/archive/tags/Implementation/default.aspx">Implementation</category><category domain="http://blogs.msdn.com/silverlight_plus_java/archive/tags/D2D/default.aspx">D2D</category></item></channel></rss>