<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-8603776122273127789</atom:id><lastBuildDate>Tue, 13 Oct 2009 06:17:36 +0000</lastBuildDate><title>My Silverlight experiences</title><description>The blog which is dedicated to Silverlight - The RIA platform from Microsoft.You can find articles,code snippets and tips for Silverlight here.</description><link>http://silverlightedweb.blogspot.com/</link><managingEditor>joymon@gmail.com (Joymon | ജോയ് മോന്‍ | जोय मोन | ஜோய் மோன்)</managingEditor><generator>Blogger</generator><openSearch:totalResults>54</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/silverlightedweb" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8603776122273127789.post-474990898847590155</guid><pubDate>Mon, 28 Sep 2009 13:57:00 +0000</pubDate><atom:updated>2009-09-28T19:30:20.411+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Silverlight 3</category><category domain="http://www.blogger.com/atom/ns#">Lambda Expression</category><title>Lambda expression in Silverlight 3 Databinding</title><description>&lt;p align="justify"&gt;First of all let me thank to &lt;a href="http://www.fikrimvar.net/lestirelim/"&gt;M. Orçun Topdağı&lt;/a&gt; for pointing out a useful cs file in the samples provided by Microsoft.You may get those samples in the below location.&lt;/p&gt; &lt;p&gt;[Install drive]:\Program Files\Microsoft Visual Studio 9.0\Samples&lt;/p&gt; &lt;p align="justify"&gt;The file is Dynamic.cs which provides a bunch of functionality to work more with Lambda expressions.That sample was written for .Net 3.5 and I was afraid whether I can use that in my Application since I am working in Silverlight 3. But I was able to use the same classes for Silverlight and a sample which takes Lambda Expression from xaml and executes through converter is attached with this post.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;u&gt;How to specify a Lambda expression in XAML data-binding&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;I am using the ConverterParameter to get the lambda expression.The &lt;em&gt;no of parameters to Lambda expression is limited because we can pass only one value to the converter&lt;/em&gt;.  &lt;div style="border-bottom: gray 1px solid; border-left: gray 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: consolas, 'Courier New', courier, monospace; max-height: 200px; font-size: 8pt; overflow: auto; border-top: gray 1px solid; cursor: text; border-right: gray 1px solid; padding-top: 4px"&gt; &lt;div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;UserControl&lt;/span&gt; &lt;span style="color: #ff0000"&gt;x:Class&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="SL_LambdaInConverter.MainPage"&lt;/span&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;             &lt;span style="color: #ff0000"&gt;xmlns&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="http://schemas.microsoft.com/winfx/2006/xaml/presentation"&lt;/span&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;             &lt;span style="color: #ff0000"&gt;xmlns:x&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="http://schemas.microsoft.com/winfx/2006/xaml"&lt;/span&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;             &lt;span style="color: #ff0000"&gt;xmlns:local&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="clr-namespace:SL_LambdaInConverter"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;UserControl.Resources&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;local:LambdaConverter&lt;/span&gt; &lt;span style="color: #ff0000"&gt;x:Key&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="lambda"&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;UserControl.Resources&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Grid&lt;/span&gt; &lt;span style="color: #ff0000"&gt;x:Name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="LayoutRoot"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;TextBlock&lt;/span&gt; &lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #ff0000"&gt;Text&lt;/span&gt;="{&lt;span style="color: #ff0000"&gt;Binding&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Converter&lt;/span&gt;={&lt;span style="color: #ff0000"&gt;StaticResource&lt;/span&gt; &lt;span style="color: #ff0000"&gt;lambda&lt;/span&gt;},&lt;span style="color: #ff0000"&gt;ConverterParameter&lt;/span&gt;='&lt;span style="color: #ff0000"&gt;dt&lt;/span&gt;=&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;dt.ToString()'}" &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Grid&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;UserControl&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;In the above sample I have set DateTime.Today as DataContext of the UserControl in the constructor.So it will take that value into the converter.Here is the converter code. &lt;br /&gt;&lt;div style="border-bottom: gray 1px solid; border-left: gray 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: consolas, 'Courier New', courier, monospace; max-height: 200px; font-size: 8pt; overflow: auto; border-top: gray 1px solid; cursor: text; border-right: gray 1px solid; padding-top: 4px"&gt;&lt;br /&gt;&lt;div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;Option&lt;/span&gt; Strict &lt;span style="color: #0000ff"&gt;On&lt;/span&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;Imports&lt;/span&gt; System.Windows.Data&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;Imports&lt;/span&gt; System.Linq.Expressions&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;Imports&lt;/span&gt; System.Linq.Dynamic&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;Public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;Class&lt;/span&gt; LambdaConverter&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;Implements&lt;/span&gt; IValueConverter&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;Dim&lt;/span&gt; _delegate &lt;span style="color: #0000ff"&gt;As&lt;/span&gt; [&lt;span style="color: #0000ff"&gt;Delegate&lt;/span&gt;]&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;Public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;Function&lt;/span&gt; Convert(&lt;span style="color: #0000ff"&gt;ByVal&lt;/span&gt; value &lt;span style="color: #0000ff"&gt;As&lt;/span&gt; &lt;span style="color: #0000ff"&gt;Object&lt;/span&gt;, &lt;span style="color: #0000ff"&gt;ByVal&lt;/span&gt; targetType &lt;span style="color: #0000ff"&gt;As&lt;/span&gt; System.Type, &lt;span style="color: #0000ff"&gt;ByVal&lt;/span&gt; parameter &lt;span style="color: #0000ff"&gt;As&lt;/span&gt; &lt;span style="color: #0000ff"&gt;Object&lt;/span&gt;, &lt;span style="color: #0000ff"&gt;ByVal&lt;/span&gt; culture &lt;span style="color: #0000ff"&gt;As&lt;/span&gt; System.Globalization.CultureInfo) &lt;span style="color: #0000ff"&gt;As&lt;/span&gt; &lt;span style="color: #0000ff"&gt;Object&lt;/span&gt; &lt;span style="color: #0000ff"&gt;Implements&lt;/span&gt; System.Windows.Data.IValueConverter.Convert&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;If&lt;/span&gt; &lt;span style="color: #0000ff"&gt;Me&lt;/span&gt;._delegate = &lt;span style="color: #0000ff"&gt;Nothing&lt;/span&gt; &lt;span style="color: #0000ff"&gt;Then&lt;/span&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            ConstructOperation(value, targetType, &lt;span style="color: #0000ff"&gt;CType&lt;/span&gt;(parameter, &lt;span style="color: #0000ff"&gt;String&lt;/span&gt;))&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;End&lt;/span&gt; &lt;span style="color: #0000ff"&gt;If&lt;/span&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;Return&lt;/span&gt; &lt;span style="color: #0000ff"&gt;Me&lt;/span&gt;._delegate.DynamicInvoke(value)&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;End&lt;/span&gt; &lt;span style="color: #0000ff"&gt;Function&lt;/span&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;Public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;Function&lt;/span&gt; ConvertBack(&lt;span style="color: #0000ff"&gt;ByVal&lt;/span&gt; value &lt;span style="color: #0000ff"&gt;As&lt;/span&gt; &lt;span style="color: #0000ff"&gt;Object&lt;/span&gt;, &lt;span style="color: #0000ff"&gt;ByVal&lt;/span&gt; targetType &lt;span style="color: #0000ff"&gt;As&lt;/span&gt; System.Type, &lt;span style="color: #0000ff"&gt;ByVal&lt;/span&gt; parameter &lt;span style="color: #0000ff"&gt;As&lt;/span&gt; &lt;span style="color: #0000ff"&gt;Object&lt;/span&gt;, &lt;span style="color: #0000ff"&gt;ByVal&lt;/span&gt; culture &lt;span style="color: #0000ff"&gt;As&lt;/span&gt; System.Globalization.CultureInfo) &lt;span style="color: #0000ff"&gt;As&lt;/span&gt; &lt;span style="color: #0000ff"&gt;Object&lt;/span&gt; &lt;span style="color: #0000ff"&gt;Implements&lt;/span&gt; System.Windows.Data.IValueConverter.ConvertBack&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;Throw&lt;/span&gt; &lt;span style="color: #0000ff"&gt;New&lt;/span&gt; InvalidOperationException(&lt;span style="color: #006080"&gt;"Convert back operation is not supported"&lt;/span&gt;)&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;End&lt;/span&gt; &lt;span style="color: #0000ff"&gt;Function&lt;/span&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;Sub&lt;/span&gt; ConstructOperation(&lt;span style="color: #0000ff"&gt;ByVal&lt;/span&gt; value &lt;span style="color: #0000ff"&gt;As&lt;/span&gt; &lt;span style="color: #0000ff"&gt;Object&lt;/span&gt;, &lt;span style="color: #0000ff"&gt;ByVal&lt;/span&gt; t &lt;span style="color: #0000ff"&gt;As&lt;/span&gt; Type, &lt;span style="color: #0000ff"&gt;ByVal&lt;/span&gt; lambdaString &lt;span style="color: #0000ff"&gt;As&lt;/span&gt; &lt;span style="color: #0000ff"&gt;String&lt;/span&gt;)&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;Dim&lt;/span&gt; opi &lt;span style="color: #0000ff"&gt;As&lt;/span&gt; &lt;span style="color: #0000ff"&gt;Integer&lt;/span&gt; = lambdaString.IndexOf(&lt;span style="color: #006080"&gt;"=&amp;gt;"&lt;/span&gt;)&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;If&lt;/span&gt; (opi &amp;lt; 0) &lt;span style="color: #0000ff"&gt;Then&lt;/span&gt; &lt;span style="color: #0000ff"&gt;Throw&lt;/span&gt; &lt;span style="color: #0000ff"&gt;New&lt;/span&gt; Exception(&lt;span style="color: #006080"&gt;"No lambda operator =&amp;gt;"&lt;/span&gt;)&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;Dim&lt;/span&gt; param &lt;span style="color: #0000ff"&gt;As&lt;/span&gt; &lt;span style="color: #0000ff"&gt;String&lt;/span&gt; = lambdaString.Substring(0, opi)&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;Dim&lt;/span&gt; body &lt;span style="color: #0000ff"&gt;As&lt;/span&gt; &lt;span style="color: #0000ff"&gt;String&lt;/span&gt; = lambdaString.Substring(opi + 2)&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;Dim&lt;/span&gt; p &lt;span style="color: #0000ff"&gt;As&lt;/span&gt; ParameterExpression = Expression.Parameter(value.&lt;span style="color: #0000ff"&gt;GetType&lt;/span&gt;(), param)&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;Dim&lt;/span&gt; lambda &lt;span style="color: #0000ff"&gt;As&lt;/span&gt; LambdaExpression = DynamicExpression.ParseLambda(&lt;span style="color: #0000ff"&gt;New&lt;/span&gt; ParameterExpression() {p}, t, body, value)&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;Me&lt;/span&gt;._delegate = lambda.Compile()&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;End&lt;/span&gt; &lt;span style="color: #0000ff"&gt;Sub&lt;/span&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;End&lt;/span&gt; &lt;span style="color: #0000ff"&gt;Class&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;Now you might wonder where is the System.Linq.Dynamic ? Here comes the importance of Dynamic.cs which I had mentioned at the beginning.You may find all those classes there.&lt;br/&gt;&lt;br /&gt;Download and enjoy the &lt;a href="http://cid-890c06c8106550a0.skydrive.live.com/self.aspx/BlogSamples/SilverlightedWeb/SL%5E_LambdaInConverter.zip"&gt;sample here&lt;/a&gt;.  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603776122273127789-474990898847590155?l=silverlightedweb.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/FcJ-R7zu4eqJZq7d1x3wfO4eyh0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/FcJ-R7zu4eqJZq7d1x3wfO4eyh0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/FcJ-R7zu4eqJZq7d1x3wfO4eyh0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/FcJ-R7zu4eqJZq7d1x3wfO4eyh0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/silverlightedweb/~4/tQJ5tZ7-sQk" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/silverlightedweb/~3/tQJ5tZ7-sQk/lambda-expression-in-silverlight-3.html</link><author>joymon@gmail.com (Joymon | ജോയ് മോന്‍ | जोय मोन | ஜோய் மோன்)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://silverlightedweb.blogspot.com/2009/09/lambda-expression-in-silverlight-3.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8603776122273127789.post-7665870714761540563</guid><pubDate>Sun, 27 Sep 2009 08:10:00 +0000</pubDate><atom:updated>2009-09-27T13:40:52.102+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Windows Mobile 7</category><category domain="http://www.blogger.com/atom/ns#">Silverlight 3</category><category domain="http://www.blogger.com/atom/ns#">Mobile</category><title>Silverlight 3 in Windows Mobile 7</title><description>&lt;p align="justify"&gt;Any developer who takes programming as a passion, would always like to see his application running in different plat forms.The code need to be same ,but runs every where.&lt;/p&gt; &lt;p align="justify"&gt;.Net &amp;amp; Java did this by introducing an intermediate language to which every code compiles to and before running, it convert in to the native code.&lt;/p&gt; &lt;p align="justify"&gt;When I entered into Silverlight it felt like I am writing code only for Browser.Prism has introduced a solution where we can use same code base for Silverlight as well as WPF.Now we have got much more support in extending our Silverlight code to different plat forms.&amp;nbsp; &lt;/p&gt; &lt;p align="justify"&gt;Yes.The support is in Mobiles. Microsoft &lt;a href="http://blog.seattlepi.com/microsoft/archives/180049.asp"&gt;has announced&lt;/a&gt; that their next Mobile operating system &lt;strong&gt;&lt;u&gt;Windows Mobile 7 Will support Silverlight 3.&lt;/u&gt;&lt;/strong&gt;They are planning to release Windows Mobile 7 in 2010.So plan your application accordingly,because it has to run in mobiles by next year.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;u&gt;Some links&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;a title="http://www.silverlight.net/learn/mobile/" href="http://www.silverlight.net/learn/mobile/"&gt;http://www.silverlight.net/learn/mobile/&lt;/a&gt;&lt;br&gt;&lt;a title="http://en.wikipedia.org/wiki/Windows_Mobile#Windows_Mobile_7" href="http://en.wikipedia.org/wiki/Windows_Mobile#Windows_Mobile_7"&gt;http://en.wikipedia.org/wiki/Windows_Mobile#Windows_Mobile_7&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603776122273127789-7665870714761540563?l=silverlightedweb.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/MdvBmuxUrrWJ8aZzyDwHJ4jw9E0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/MdvBmuxUrrWJ8aZzyDwHJ4jw9E0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/MdvBmuxUrrWJ8aZzyDwHJ4jw9E0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/MdvBmuxUrrWJ8aZzyDwHJ4jw9E0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/silverlightedweb/~4/Z3Tlt_4wc6c" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/silverlightedweb/~3/Z3Tlt_4wc6c/silverlight-3-in-windows-mobile-7.html</link><author>joymon@gmail.com (Joymon | ജോയ് മോന്‍ | जोय मोन | ஜோய் மோன்)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://silverlightedweb.blogspot.com/2009/09/silverlight-3-in-windows-mobile-7.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8603776122273127789.post-8108210063294076330</guid><pubDate>Tue, 22 Sep 2009 17:41:00 +0000</pubDate><atom:updated>2009-09-22T23:11:00.574+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Prism</category><title>The need for ModuleBase class in Prism</title><description>&lt;p align="justify"&gt;When I started a sample application in Prism, I came to some situations where I need ModuleManager and all.After a small google I came to know that if we specify some arguments in the constructor of Modules we could get lot of useful objects such as ModuleManager,RegionManager etc...We can hold them for future uses.&lt;/p&gt; &lt;p align="justify"&gt;Instead of having properties in each module to hold these objects, it is always better to have an abstract base class which holds all these objects.Then I did a trial an error method to find out what are all the objects which we can get and it came around 4 objects.&lt;/p&gt; &lt;ul&gt; &lt;li&gt;IModuleManager  &lt;li&gt;IRegionManager  &lt;li&gt;IUnityContainer  &lt;li&gt;IRegionViewRegistry&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;And the base class implementation is as follows.  &lt;div style="border-bottom: gray 1px solid; border-left: gray 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: consolas, 'Courier New', courier, monospace; max-height: 200px; font-size: 8pt; overflow: auto; border-top: gray 1px solid; cursor: text; border-right: gray 1px solid; padding-top: 4px"&gt; &lt;div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.Net;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.Windows;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.Windows.Controls;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.Windows.Documents;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.Windows.Ink;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.Windows.Input;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.Windows.Media;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.Windows.Media.Animation;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.Windows.Shapes;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;using&lt;/span&gt; Microsoft.Practices.Composite.Modularity;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;using&lt;/span&gt; Microsoft.Practices.Composite.Regions;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;using&lt;/span&gt; Microsoft.Practices.Unity;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;namespace&lt;/span&gt; Prism.Core&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;{&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;abstract&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; ModuleBase : IModule&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    {&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        IModuleManager _modulemanager;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; IModuleManager ModuleManager&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        {&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            get { &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; _modulemanager; }&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            set { _modulemanager = &lt;span style="color: #0000ff"&gt;value&lt;/span&gt;; }&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        }&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        IRegionViewRegistry _regionViewRegistry;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; IRegionViewRegistry RegionViewRegistry&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        {&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            get { &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; _regionViewRegistry; }&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            set { _regionViewRegistry = &lt;span style="color: #0000ff"&gt;value&lt;/span&gt;; }&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        }&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        IRegionManager _regionManager;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; IRegionManager RegionManager&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        {&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            get { &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; _regionManager; }&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            set { _regionManager = &lt;span style="color: #0000ff"&gt;value&lt;/span&gt;; }&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        }&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        IUnityContainer _container;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; IUnityContainer Container&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        {&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            get { &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; _container; }&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            set { _container = &lt;span style="color: #0000ff"&gt;value&lt;/span&gt;; }&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        }&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; ModuleBase(IModuleManager moduleManager, &lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            IRegionManager regionManager,&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            IUnityContainer container, &lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            IRegionViewRegistry reg)&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        {&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            ModuleManager = moduleManager;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            RegionManager = regionManager;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            Container = container;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;this&lt;/span&gt;.RegionViewRegistry = reg;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        }&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #cc6633"&gt;#region&lt;/span&gt; IModule Members&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;abstract&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; Initialize();&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #cc6633"&gt;#endregion&lt;/span&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    }&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;The same thing is applicable in the case of Views too.  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603776122273127789-8108210063294076330?l=silverlightedweb.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ALwujyPUjeAru48IVUHfeDjvnBY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ALwujyPUjeAru48IVUHfeDjvnBY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ALwujyPUjeAru48IVUHfeDjvnBY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ALwujyPUjeAru48IVUHfeDjvnBY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/silverlightedweb/~4/Aq4n20zjXL4" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/silverlightedweb/~3/Aq4n20zjXL4/need-for-modulebase-class-in-prism.html</link><author>joymon@gmail.com (Joymon | ജോയ് മോന്‍ | जोय मोन | ஜோய் மோன்)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://silverlightedweb.blogspot.com/2009/09/need-for-modulebase-class-in-prism.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8603776122273127789.post-3089531259742604241</guid><pubDate>Sat, 19 Sep 2009 15:47:00 +0000</pubDate><atom:updated>2009-09-19T21:17:10.023+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Silverlight 4</category><title>Is it DRM which we really need in Silverlight 4?</title><description>&lt;p&gt;From some news sites and also from Microsoft's &lt;a href="http://www.microsoft.com/presspass/press/2009/sep09/09-08httpvideopr.mspx"&gt;press pass&lt;/a&gt; I could know that there will be DRM support in Silverlight 4.DRM is a nice feature which I would like to be in Silverlight.&lt;/p&gt; &lt;p&gt;But I wonder why they are not telling about other features, which as a developer we are waiting for from the Silverlight 1.0 days itself.I came from the WPF environment so I will really look for the below features first instead of DRM.&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Full implementation of Commands.Silverlight 3 doesn't have Button.Command property.Do we need to relay on interactions provided by blend 3?  &lt;li&gt;FindAncestor for RelativeSource binding  &lt;li&gt;InputBindings in UIElement.  &lt;li&gt;Attached events.  &lt;li&gt;Triggers or equivalent implementation in DataTemplates  &lt;li&gt;Option to create custom mark-up extensions.  &lt;li&gt;XPS support.  &lt;li&gt;Printing.  &lt;li&gt;More bindings in WCF such as TCP.&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;A huge &lt;a href="http://forums.silverlight.net/forums/p/102856/234574.aspx"&gt;wish list&lt;/a&gt; is here in Silverlight forum.Hope Microsoft will address our these small issues along with rocking new features.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603776122273127789-3089531259742604241?l=silverlightedweb.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/rLTDnt9wZTlBIChyaPEcvSVqIic/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/rLTDnt9wZTlBIChyaPEcvSVqIic/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/rLTDnt9wZTlBIChyaPEcvSVqIic/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/rLTDnt9wZTlBIChyaPEcvSVqIic/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/silverlightedweb/~4/QeCLDazE-V0" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/silverlightedweb/~3/QeCLDazE-V0/is-it-drm-which-we-really-need-in.html</link><author>joymon@gmail.com (Joymon | ജോയ് മോന്‍ | जोय मोन | ஜோய் மோன்)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://silverlightedweb.blogspot.com/2009/09/is-it-drm-which-we-really-need-in.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8603776122273127789.post-5761320735703765755</guid><pubDate>Wed, 02 Sep 2009 16:40:00 +0000</pubDate><atom:updated>2009-09-02T22:13:54.547+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Silverlight 3</category><category domain="http://www.blogger.com/atom/ns#">Prism</category><title>Specify Modules in XAML</title><description>&lt;p&gt;When I first started PRISM my thought was how to specify the modules through a xaml file or an xml fille.The existing code is written as like something hard coded in the Bootstraper.cs.&lt;/p&gt; &lt;div style="border-bottom: gray 1px solid; border-left: gray 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: consolas, 'Courier New', courier, monospace; max-height: 200px; font-size: 8pt; overflow: auto; border-top: gray 1px solid; cursor: text; border-right: gray 1px solid; padding-top: 4px"&gt; &lt;div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;protected&lt;/span&gt; &lt;span style="color: #0000ff"&gt;override&lt;/span&gt; Microsoft.Practices.Composite.Modularity.IModuleCatalog GetModuleCatalog()&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;{&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    var catalog = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; ModuleCatalog();&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    catalog.AddModule(&lt;span style="color: #0000ff"&gt;typeof&lt;/span&gt;(MarkModule));&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    catalog.AddModule(&lt;span style="color: #0000ff"&gt;typeof&lt;/span&gt;(StudentsListModule));&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; catalog;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;We can easily setup an xml file and create module objects using reflection.But I was sure, there will be an implementation of same somewhere in the framework.&lt;br/&gt;&lt;br /&gt;After spending some time, I got a new way to implement my scenario.Why don't I have a new xaml file derived from ModuleCatalog and make the entries in xaml ? Yes that did the trick.&lt;br/&gt;&lt;br /&gt;I added a new file which derives from ModuleCatelog and added my module entries.The xaml looks as below.&lt;br /&gt;&lt;div style="border-bottom: gray 1px solid; border-left: gray 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: consolas, 'Courier New', courier, monospace; max-height: 200px; font-size: 8pt; overflow: auto; border-top: gray 1px solid; cursor: text; border-right: gray 1px solid; padding-top: 4px"&gt;&lt;br /&gt;&lt;div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;modularity:ModuleCatalog&lt;/span&gt; &lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #ff0000"&gt;x:Class&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Students.StudentsModuleCatalog"&lt;/span&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #ff0000"&gt;xmlns&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="http://schemas.microsoft.com/winfx/2006/xaml/presentation"&lt;/span&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #ff0000"&gt;xmlns:x&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="http://schemas.microsoft.com/winfx/2006/xaml"&lt;/span&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #ff0000"&gt;xmlns:modularity&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="clr-namespace:Microsoft.Practices.Composite.Modularity;assembly=Microsoft.Practices.Composite"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;modularity:ModuleInfo&lt;/span&gt; &lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #ff0000"&gt;ModuleName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="StudentsListModule"&lt;/span&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #ff0000"&gt;ModuleType&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Students.StudentsListModule, Students, Version=1.0.0.0"&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;modularity:ModuleInfo&lt;/span&gt; &lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #ff0000"&gt;ModuleName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="MarKModule"&lt;/span&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #ff0000"&gt;ModuleType&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Students.MarkModule, Students, Version=1.0.0.0"&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;modularity:ModuleCatalog&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Make sure that the code behind class should inherit from ModuleCatalog.&lt;br/&gt;&lt;br /&gt;Now you can Rewrite the Bootstraper.GetModuleCatalog() as follows&lt;br /&gt;&lt;div style="border-bottom: gray 1px solid; border-left: gray 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: consolas, 'Courier New', courier, monospace; max-height: 200px; font-size: 8pt; overflow: auto; border-top: gray 1px solid; cursor: text; border-right: gray 1px solid; padding-top: 4px"&gt;&lt;br /&gt;&lt;div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;protected&lt;/span&gt; &lt;span style="color: #0000ff"&gt;override&lt;/span&gt; Microsoft.Practices.Composite.Modularity.IModuleCatalog GetModuleCatalog()&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;{&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;return&lt;/span&gt;  &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; StudentsModuleCatalog();&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;This makes the code more neat and we can easily add or remove modules.  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603776122273127789-5761320735703765755?l=silverlightedweb.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/jPVl0ECnQBs0eg08zClAYkN8i3I/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jPVl0ECnQBs0eg08zClAYkN8i3I/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/jPVl0ECnQBs0eg08zClAYkN8i3I/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jPVl0ECnQBs0eg08zClAYkN8i3I/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/silverlightedweb/~4/S8ewU4eX_hA" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/silverlightedweb/~3/S8ewU4eX_hA/specify-modules-in-xaml.html</link><author>joymon@gmail.com (Joymon | ജോയ് മോന്‍ | जोय मोन | ஜோய் மோன்)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://silverlightedweb.blogspot.com/2009/09/specify-modules-in-xaml.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8603776122273127789.post-2510182568920598309</guid><pubDate>Tue, 01 Sep 2009 04:58:00 +0000</pubDate><atom:updated>2009-09-01T10:28:36.825+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">SSRS</category><title>Microsoft SSRS viewer in Silverlight</title><description>&lt;p&gt;Some time back we had a scenario of showing reports in Silverlight.Our first though was to create reports in ASP.Net and show that as popup window from Silverlight.But in the research we found out a great tool from &lt;a href="http://perpetuumsoft.com/"&gt;Perpetuum softwares&lt;/a&gt; which renders the SSRS report inside Silverlight.&lt;/p&gt; &lt;p&gt;Main advantages were it capability to leverage features of Silverlight such as Vector graphics.We can zoom the report without losing it's clarity.&lt;/p&gt; &lt;p&gt;Online demo is available &lt;a href="http://www.perpetuumsoft.com/Demo/slviewer/default.aspx"&gt;here&lt;/a&gt; .You need to install only Silverlight 3 in order view the report.&lt;/p&gt; &lt;p&gt;Basically it works by adding a component at the server side which makes the report compatible with their Silverlight viewer.Currently it supports SQL Server Reporting Services 2005 only.&lt;/p&gt; &lt;p&gt;Good work Perpetuum guys.Keep it up.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603776122273127789-2510182568920598309?l=silverlightedweb.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/1igCVdrqe0luBO29tpOL0hBXl1Q/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1igCVdrqe0luBO29tpOL0hBXl1Q/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/1igCVdrqe0luBO29tpOL0hBXl1Q/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1igCVdrqe0luBO29tpOL0hBXl1Q/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/silverlightedweb/~4/Pcd9yIOwCSM" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/silverlightedweb/~3/Pcd9yIOwCSM/microsoft-ssrs-viewer-in-silverlight.html</link><author>joymon@gmail.com (Joymon | ജോയ് മോന്‍ | जोय मोन | ஜோய் மோன்)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://silverlightedweb.blogspot.com/2009/09/microsoft-ssrs-viewer-in-silverlight.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8603776122273127789.post-5805244753402995353</guid><pubDate>Sat, 15 Aug 2009 10:50:00 +0000</pubDate><atom:updated>2009-08-15T16:28:18.644+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Silverlight 3</category><category domain="http://www.blogger.com/atom/ns#">Windows Authentication</category><category domain="http://www.blogger.com/atom/ns#">WCF</category><title>WCF service from Silverlight with Windows credentials</title><description>&lt;p align="justify"&gt;Last week this was our major research item.How to make Silverlight call a WCF service which needs Windows authentication?&lt;/p&gt; &lt;p align="justify"&gt;In the ideal scenario ,if the user is already logged in with right windows credentials the system(here Silverlight) should not ask for user name and password again.Silverlight should recognize the user and pass those credentials automatically into the WCF service.We implemented the WCF service with Windows credentials and made the hosting ASP.Net application's authentication to Windows.But it was asking for the user name and password when we call the service from Silverlight.Really that dialog is ugly when comparing to the rich UI of Silverlight.The reason for this is under normal circumstances Silverlight can't access the windows credentials of user.&lt;/p&gt; &lt;p align="justify"&gt;&lt;strong&gt;&lt;u&gt;Avoiding the windows login dialog box&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p align="justify"&gt;After a tough research, one of my colleague find out a solution to get rid of this windows authentication dialog.The solution is simple.Just add the name of website where the service is hosted, into trusted sites collection of browser. &lt;/p&gt; &lt;p align="justify"&gt;But this solution has a draw back.The end user has to do this configuration in browser.We can't always expect them to do this setting.So the better way is to create a Silverlight authentication page which accept the windows credentials and call a login service to authenticate the user using the provided credentials.Once we get the user name and password we can easily authenticate the user by calling some &lt;a href="http://dotnetslackers.com/articles/aspnet/Windows-Authentication-using-Form-Authentication.aspx"&gt;native methods&lt;/a&gt;.&lt;/p&gt; &lt;p align="justify"&gt;So if the user has setup the browser settings the Silverlight won't show the authentication dialog.Else show the Silverlight dialog and ask user to enter his windows login details again.&lt;/p&gt; &lt;p align="justify"&gt;Again another question comes, whether the user will/can trust the website which asks for his windows credentials ? In that scenario forget the rich UI of Silverlight show them the native windows login dialog box...&lt;/p&gt;&lt;br&gt;&lt;strong&gt;&lt;u&gt;Some references&lt;/u&gt;&lt;/strong&gt;&lt;br&gt; &lt;ul&gt; &lt;li&gt; &lt;div align="justify"&gt;&lt;a title="http://mark.mymonster.nl/2009/05/12/silverlight-using-wcf-with-windows-authentication/" href="http://mark.mymonster.nl/2009/05/12/silverlight-using-wcf-with-windows-authentication/"&gt;http://mark.mymonster.nl/2009/05/12/silverlight-using-wcf-with-windows-authentication/&lt;/a&gt;&lt;/div&gt; &lt;li&gt; &lt;div align="justify"&gt;&lt;a title="http://rouslan.com/2009/03/20-steps-to-get-together-windows-authentication-silverlight-and-wcf-service/" href="http://rouslan.com/2009/03/20-steps-to-get-together-windows-authentication-silverlight-and-wcf-service/"&gt;http://rouslan.com/2009/03/20-steps-to-get-together-windows-authentication-silverlight-and-wcf-service/&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;Happy Independence day to all My Indians.&lt;/strong&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603776122273127789-5805244753402995353?l=silverlightedweb.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ReVumFnzzQuryX9CP-SXSxMB7bE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ReVumFnzzQuryX9CP-SXSxMB7bE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ReVumFnzzQuryX9CP-SXSxMB7bE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ReVumFnzzQuryX9CP-SXSxMB7bE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/silverlightedweb/~4/BgXoFgYDiUQ" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/silverlightedweb/~3/BgXoFgYDiUQ/wcf-service-from-silverlight-with.html</link><author>joymon@gmail.com (Joymon | ജോയ് മോന്‍ | जोय मोन | ஜோய் மோன்)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://silverlightedweb.blogspot.com/2009/08/wcf-service-from-silverlight-with.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8603776122273127789.post-7042244676977014746</guid><pubDate>Sat, 08 Aug 2009 15:33:00 +0000</pubDate><atom:updated>2009-09-02T20:53:44.484+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Silverlight 3</category><category domain="http://www.blogger.com/atom/ns#">Prism</category><title>Some useful links to Prism</title><description>&lt;u&gt;&lt;b&gt;What is Prism&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
According to my understanding about prism ,it is nothing but a framework which implements a modularized environment for different application blocks or UI components. We can develop modules separately and plug into the different regions in UI.&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://ira.me.uk/2009/03/01/building-a-composite-wpf-and-silverlight-application-part-1/"&gt;http://ira.me.uk/2009/03/01/building-a-composite-wpf-and-silverlight-application-part-1/&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://development-guides.silverbaylabs.org/Video/Silverlight-Prism"&gt;http://development-guides.silverbaylabs.org/Video/Silverlight-Prism&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.sparklingclient.com/prism-silverlight/"&gt;http://www.sparklingclient.com/prism-silverlight/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.pnpguidance.net/Post/PrismWebcastsScreencastsCreateApplicationUsingPrism.aspx"&gt;http://www.pnpguidance.net/Post/PrismWebcastsScreencastsCreateApplicationUsingPrism.aspx&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;u&gt;&lt;b&gt;Samples&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://compositewpf.codeplex.com/Wiki/View.aspx?title=Samples%20and%20Extensions&amp;amp;referringTitle=Home"&gt;http://compositewpf.codeplex.com/Wiki/View.aspx?title=Samples%20and%20Extensions&amp;amp;referringTitle=Home&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blogs.southworks.net/dschenkelman/2009/06/30/composite-application-guidance-prism-v2-sample-application-using-silverlight-3-child-window/"&gt;ChildWindow sample&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;
Hope I can add my own articles when I the project starts.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603776122273127789-7042244676977014746?l=silverlightedweb.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/40iMP3XYmRgXKXXLzhlM880OziY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/40iMP3XYmRgXKXXLzhlM880OziY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/40iMP3XYmRgXKXXLzhlM880OziY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/40iMP3XYmRgXKXXLzhlM880OziY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/silverlightedweb/~4/7FCc6eXt7KE" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/silverlightedweb/~3/7FCc6eXt7KE/some-useful-links-to-prism.html</link><author>joymon@gmail.com (Joymon | ജോയ് മോന്‍ | जोय मोन | ஜோய் மோன்)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://silverlightedweb.blogspot.com/2009/08/some-useful-links-to-prism.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8603776122273127789.post-7538856602967280278</guid><pubDate>Sat, 11 Jul 2009 03:24:00 +0000</pubDate><atom:updated>2009-07-11T08:54:01.186+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Silverlight 3</category><title>Silverlight 3 released</title><description>Download tools from 

&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=9442b0f2-7465-417a-88f3-5e7b5409e9dd&amp;amp;displaylang=en"&gt;here&lt;/a&gt; and enjoy...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603776122273127789-7538856602967280278?l=silverlightedweb.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/PvMEuekeec-0kkSURQZEolZtzZY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/PvMEuekeec-0kkSURQZEolZtzZY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/PvMEuekeec-0kkSURQZEolZtzZY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/PvMEuekeec-0kkSURQZEolZtzZY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/silverlightedweb/~4/dixXig5lezk" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/silverlightedweb/~3/dixXig5lezk/silverlight-3-released.html</link><author>joymon@gmail.com (Joymon | ജോയ് മോന്‍ | जोय मोन | ஜோய் மோன்)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://silverlightedweb.blogspot.com/2009/07/silverlight-3-released.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8603776122273127789.post-6570015685030671134</guid><pubDate>Wed, 08 Jul 2009 04:57:00 +0000</pubDate><atom:updated>2009-07-08T10:27:19.484+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">F#</category><title>Added F# support in Silverlight</title><description>According to &lt;a href="http://en.wikipedia.org/wiki/F_Sharp_%28programming_language%29"&gt;wikipedia &lt;/a&gt;&lt;i&gt;F# is a multi-paradigm programming language, targeting the .NET Framework, that encompasses functional programming as well as imperative object-oriented programming disciplines.&lt;/i&gt;&lt;br /&gt;
Now Silverlight also can take advantages of F# from F#'s May CTP onwards .&lt;br /&gt;
&lt;br /&gt;
First you have to download and install the F# May CTP from &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=7bb32f32-9fac-4f34-ad56-b0bda130cf00&amp;amp;displaylang=en"&gt;here &lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Then install the templates from &lt;a href="http://code.msdn.microsoft.com/fsharpsilverlight"&gt;here&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
More details&lt;br /&gt;
http://blogs.msdn.com/lukeh/archive/2009/06/26/f-in-silverlight.aspx&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603776122273127789-6570015685030671134?l=silverlightedweb.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/MxSmqcbDAPf6ND0MYjeubQqZWXk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/MxSmqcbDAPf6ND0MYjeubQqZWXk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/MxSmqcbDAPf6ND0MYjeubQqZWXk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/MxSmqcbDAPf6ND0MYjeubQqZWXk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/silverlightedweb/~4/xPnKlysEQKs" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/silverlightedweb/~3/xPnKlysEQKs/added-f-support-in-silverlight.html</link><author>joymon@gmail.com (Joymon | ജോയ് മോന്‍ | जोय मोन | ஜோய் மோன்)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://silverlightedweb.blogspot.com/2009/07/added-f-support-in-silverlight.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8603776122273127789.post-3588625856121293929</guid><pubDate>Thu, 21 May 2009 10:02:00 +0000</pubDate><atom:updated>2009-05-21T15:32:00.548+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Silverlight 3</category><category domain="http://www.blogger.com/atom/ns#">Standalone Silverlight application</category><title>Whether Silverlight 3 application is running online or not</title><description>&lt;p&gt;Just check the below mentioned property to know the network status of Silverlight application.We can do operations according to that.&lt;br/&gt; &lt;strong&gt;Application.Current.ExecutionState&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;There are 5 possible states which are defined in System.Windows.ExecutionStates  &lt;div id="codeSnippetWrapper" style="border-right: silver 1px solid; padding-right: 4px; border-top: silver 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: silver 1px solid; width: 97.5%; cursor: text; direction: ltr; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: silver 1px solid; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; background-color: #f4f4f4; text-align: left"&gt;   &lt;pre id="codeSnippet" style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span style="color: #008000"&gt;// Summary:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008000"&gt;//     Defines constants that indicate the state of an application that can run&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008000"&gt;//     offline.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;enum&lt;/span&gt; ExecutionStates&lt;br /&gt;{&lt;br /&gt;    &lt;span style="color: #008000"&gt;// Summary:&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #008000"&gt;//     The application is running within its host Web page.&lt;/span&gt;&lt;br /&gt;    RunningOnline = 0,&lt;br /&gt;    &lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #008000"&gt;// Summary:&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #008000"&gt;//     The application is in the process of detaching from its host Web page.&lt;/span&gt;&lt;br /&gt;    Detaching = 1,&lt;br /&gt;    &lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #008000"&gt;// Summary:&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #008000"&gt;//     The application is running in offline mode, detached from its host Web page.&lt;/span&gt;&lt;br /&gt;    Detached = 2,&lt;br /&gt;    &lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #008000"&gt;// Summary:&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #008000"&gt;//     The application is running in offline mode, but a newer version of the application&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #008000"&gt;//     has been downloaded and will be used the next time the application is launched.&lt;/span&gt;&lt;br /&gt;    DetachedUpdatesAvailable = 3,&lt;br /&gt;    &lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #008000"&gt;// Summary:&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #008000"&gt;//     The application could not be detached from its host Web page.&lt;/span&gt;&lt;br /&gt;    DetachFailed = 4,&lt;br /&gt;}&lt;/pre&gt; &lt;/div&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603776122273127789-3588625856121293929?l=silverlightedweb.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/v5AWSbC9w_xGXEuhnFdHzkipHU8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/v5AWSbC9w_xGXEuhnFdHzkipHU8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/v5AWSbC9w_xGXEuhnFdHzkipHU8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/v5AWSbC9w_xGXEuhnFdHzkipHU8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/silverlightedweb/~4/N2BT-cL8RJ4" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/silverlightedweb/~3/N2BT-cL8RJ4/whether-silverlight-3-application-is.html</link><author>joymon@gmail.com (Joymon | ജോയ് മോന്‍ | जोय मोन | ஜோய் மோன்)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://silverlightedweb.blogspot.com/2009/05/whether-silverlight-3-application-is.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8603776122273127789.post-7960669406787523159</guid><pubDate>Tue, 19 May 2009 07:51:00 +0000</pubDate><atom:updated>2009-05-19T13:21:47.563+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">RoutedEvent</category><title>RoutedEvents for Silverlight 3</title><description>&lt;p&gt;It is my pleasure to inform you that my colleague Andrew Whiddett at &lt;a href="http://www.identitymine.com" target="_blank"&gt;Identitymine&lt;/a&gt; has developed and released code for implementing Routed events in Silverlight 3.The code is available in Codeplex.See the below link.&lt;/p&gt;  &lt;p&gt;&lt;a title="http://sl3routedevents.codeplex.com/" href="http://sl3routedevents.codeplex.com/"&gt;http://sl3routedevents.codeplex.com/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Enjoy…&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603776122273127789-7960669406787523159?l=silverlightedweb.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/uGgg7BJ5cMeq9q_fhiJdEaeGxDQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/uGgg7BJ5cMeq9q_fhiJdEaeGxDQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/uGgg7BJ5cMeq9q_fhiJdEaeGxDQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/uGgg7BJ5cMeq9q_fhiJdEaeGxDQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/silverlightedweb/~4/b7g2si836R0" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/silverlightedweb/~3/b7g2si836R0/routedevents-for-silverlight-3.html</link><author>joymon@gmail.com (Joymon | ജോയ് മോന്‍ | जोय मोन | ஜோய் மோன்)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://silverlightedweb.blogspot.com/2009/05/routedevents-for-silverlight-3.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8603776122273127789.post-2342688095303571321</guid><pubDate>Mon, 30 Mar 2009 12:36:00 +0000</pubDate><atom:updated>2009-03-30T18:13:20.766+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Silverlight 3</category><category domain="http://www.blogger.com/atom/ns#">Tutorials</category><title>Silverlight 3 Beta Local Messaging among Silverlight islands</title><description>If you have read my previous post about &lt;a href="http://silverlightedweb.blogspot.com/2008/05/inter-silverlight-communication-design.html"&gt;inter silverlight communication desi&lt;/a&gt;gn you might seen how difficult it is to accomplish communication between 2 silverlight applications hosted in same page.But in Silverlight 3 Microsoft has introduced a new technique to do the communication.It is nothing but 2 classes.LocalMessageSender &amp;amp; &lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.messaging.localmessagereceiver(VS.96).aspx"&gt;LocalMessageReceiver&lt;/a&gt;.Now it is very easy to accomplish communication between islands of Silverlight contents.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&lt;u&gt;Implementing Local messaging between silverlight applications&lt;/u&gt;&lt;/strong&gt;&lt;br /&gt;
As like in other communication scenarios here also there should be a source and destination which sends and receives respectively.LocalMessageSender class sends a string message and LocalMessageReceiver receives the same.At the time of sending we should specify the name of the receiver.Also at the time of listening for message we should give the name of receiver.ie it denotes which messages it should capture based on the receiver name.&lt;br /&gt;
&lt;strong&gt;&lt;u&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.messaging.localmessagesender(VS.96).aspx"&gt;LocalMessageSender&lt;/a&gt;&lt;/u&gt; &lt;/strong&gt;: The &lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.messaging.localmessagesender.localmessagesender(VS.96).aspx"&gt;constructor&lt;/a&gt; of this class accepts the receiver name.To send the message we have to use the method &lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.messaging.localmessagesender.sendasync(VS.96).aspx"&gt;SendAsync&lt;/a&gt;.The &lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.messaging.localmessagesender.sendcompleted(VS.96).aspx"&gt;SendCompleted&lt;/a&gt; event is fired after completion of sending process.&lt;br /&gt;
&lt;strong&gt;&lt;u&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.messaging.localmessagereceiver(VS.96).aspx"&gt;LocalMessageReceiver&lt;/a&gt;&lt;/u&gt; : &lt;/strong&gt;The constructor of this class also got a parameter to specify the receiver name.MessageReceived is the event which will fire when a message comes with the corresponding receiver name.After subscribing into this event the Listen Method need to be called in order to start listening.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&lt;u&gt;Creating Visual Studio Solution structure&lt;/u&gt;&lt;/strong&gt; &lt;br /&gt;
Here I have used 3 projects 2 Silverlight projects one is source and next is destination,and one asp.net application which hosts these 2 Silverlight applications.&lt;br /&gt;
&lt;img src="http://joymon.googlepages.com/LocalMessagingPrjStuct.jpg" /&gt; &lt;br /&gt;
&lt;strong&gt;Default.aspx&lt;/strong&gt;&lt;br /&gt;
&lt;div id="codeSnippetWrapper" style="background-color: #f4f4f4; border-bottom: silver 1px solid; border-left: silver 1px solid; border-right: silver 1px solid; border-top: silver 1px solid; cursor: text; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 20px 0px 10px; max-height: 200px; overflow: auto; padding-bottom: 4px; padding-left: 4px; padding-right: 4px; padding-top: 4px; text-align: left; width: 97.5%;"&gt;
&lt;pre id="codeSnippet" style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;form&lt;/span&gt; &lt;span style="color: red;"&gt;id&lt;/span&gt;&lt;span style="color: blue;"&gt;="form1"&lt;/span&gt; &lt;span style="color: red;"&gt;runat&lt;/span&gt;&lt;span style="color: blue;"&gt;="server"&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;asp:ScriptManager&lt;/span&gt; &lt;span style="color: red;"&gt;ID&lt;/span&gt;&lt;span style="color: blue;"&gt;="ScriptManager1"&lt;/span&gt; &lt;span style="color: red;"&gt;runat&lt;/span&gt;&lt;span style="color: blue;"&gt;="server"&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;asp:ScriptManager&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;div&lt;/span&gt;  &lt;span style="color: red;"&gt;style&lt;/span&gt;&lt;span style="color: blue;"&gt;="height:100%;"&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;asp:Silverlight&lt;/span&gt; &lt;span style="color: red;"&gt;ID&lt;/span&gt;&lt;span style="color: blue;"&gt;="Silverlight1"&lt;/span&gt; &lt;span style="color: red;"&gt;runat&lt;/span&gt;&lt;span style="color: blue;"&gt;="server"&lt;/span&gt; 
&lt;span style="color: red;"&gt;Source&lt;/span&gt;&lt;span style="color: blue;"&gt;="~/ClientBin/LocalMessagingSource.xap"&lt;/span&gt; &lt;span style="color: red;"&gt;MinimumVersion&lt;/span&gt;&lt;span style="color: blue;"&gt;="3.0.40307.0"&lt;/span&gt; 
&lt;span style="color: red;"&gt;Width&lt;/span&gt;&lt;span style="color: blue;"&gt;="400"&lt;/span&gt; &lt;span style="color: red;"&gt;Height&lt;/span&gt;&lt;span style="color: blue;"&gt;="100"&lt;/span&gt;&lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;
&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;div&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;div&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
Your html contents goes here..
&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;h1&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;Heading&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;h1&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;h3&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;Sub heading&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;h3&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;p&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;contents&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;p&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;div&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;div&lt;/span&gt;  &lt;span style="color: red;"&gt;style&lt;/span&gt;&lt;span style="color: blue;"&gt;="height:100%;"&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;asp:Silverlight&lt;/span&gt; &lt;span style="color: red;"&gt;ID&lt;/span&gt;&lt;span style="color: blue;"&gt;="Silverlight2"&lt;/span&gt; &lt;span style="color: red;"&gt;runat&lt;/span&gt;&lt;span style="color: blue;"&gt;="server"&lt;/span&gt; 
&lt;span style="color: red;"&gt;Source&lt;/span&gt;&lt;span style="color: blue;"&gt;="~/ClientBin/LocalMessagingDestination.xap"&lt;/span&gt; &lt;span style="color: red;"&gt;MinimumVersion&lt;/span&gt;&lt;span style="color: blue;"&gt;="3.0.40307.0"&lt;/span&gt; 
&lt;span style="color: red;"&gt;Width&lt;/span&gt;&lt;span style="color: blue;"&gt;="400"&lt;/span&gt; &lt;span style="color: red;"&gt;Height&lt;/span&gt;&lt;span style="color: blue;"&gt;="100"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;
&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;div&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;form&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;br /&gt;
&amp;nbsp;&lt;strong&gt;MainPage.xaml in project LocalMessageSource&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div id="codeSnippetWrapper" style="background-color: #f4f4f4; border-bottom: silver 1px solid; border-left: silver 1px solid; border-right: silver 1px solid; border-top: silver 1px solid; cursor: text; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 20px 0px 10px; max-height: 200px; overflow: auto; padding-bottom: 4px; padding-left: 4px; padding-right: 4px; padding-top: 4px; text-align: left; width: 97.5%;"&gt;
&lt;br /&gt;
&lt;pre id="codeSnippet" style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;UserControl&lt;/span&gt; &lt;span style="color: red;"&gt;x:Class&lt;/span&gt;&lt;span style="color: blue;"&gt;="LocalMessagingSource.MainPage"&lt;/span&gt;
&lt;span style="color: red;"&gt;xmlns&lt;/span&gt;&lt;span style="color: blue;"&gt;="http://schemas.microsoft.com/winfx/2006/xaml/presentation"&lt;/span&gt;
&lt;span style="color: red;"&gt;xmlns:x&lt;/span&gt;&lt;span style="color: blue;"&gt;="http://schemas.microsoft.com/winfx/2006/xaml"&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;Grid&lt;/span&gt; &lt;span style="color: red;"&gt;x:Name&lt;/span&gt;&lt;span style="color: blue;"&gt;="LayoutRoot"&lt;/span&gt;
&lt;span style="color: red;"&gt;Background&lt;/span&gt;&lt;span style="color: blue;"&gt;="AliceBlue"&lt;/span&gt;
&lt;span style="color: red;"&gt;Height&lt;/span&gt;&lt;span style="color: blue;"&gt;="100"&lt;/span&gt;
&lt;span style="color: red;"&gt;Width&lt;/span&gt;&lt;span style="color: blue;"&gt;="400"&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;Grid.RowDefinitions&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;RowDefinition&lt;/span&gt; &lt;span style="color: red;"&gt;Height&lt;/span&gt;&lt;span style="color: blue;"&gt;="Auto"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;
&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;RowDefinition&lt;/span&gt; &lt;span style="color: red;"&gt;Height&lt;/span&gt;&lt;span style="color: blue;"&gt;="*"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;
&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;RowDefinition&lt;/span&gt; &lt;span style="color: red;"&gt;Height&lt;/span&gt;&lt;span style="color: blue;"&gt;="Auto"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;
&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;Grid.RowDefinitions&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;ColumnDefinition&lt;/span&gt; &lt;span style="color: red;"&gt;Width&lt;/span&gt;&lt;span style="color: blue;"&gt;="Auto"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;
&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;ColumnDefinition&lt;/span&gt; &lt;span style="color: red;"&gt;Width&lt;/span&gt;&lt;span style="color: blue;"&gt;="*"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;
&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;TextBlock&lt;/span&gt; &lt;span style="color: red;"&gt;Grid&lt;/span&gt;.&lt;span style="color: red;"&gt;ColumnSpan&lt;/span&gt;&lt;span style="color: blue;"&gt;="2"&lt;/span&gt;
&lt;span style="color: red;"&gt;HorizontalAlignment&lt;/span&gt;&lt;span style="color: blue;"&gt;="Center"&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;I am sender&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;TextBlock&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;TextBlock&lt;/span&gt; &lt;span style="color: red;"&gt;Grid&lt;/span&gt;.&lt;span style="color: red;"&gt;Row&lt;/span&gt;&lt;span style="color: blue;"&gt;="1"&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;Message&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;TextBlock&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;TextBox&lt;/span&gt; &lt;span style="color: red;"&gt;Grid&lt;/span&gt;.&lt;span style="color: red;"&gt;Row&lt;/span&gt;&lt;span style="color: blue;"&gt;="1"&lt;/span&gt;
&lt;span style="color: red;"&gt;x:Name&lt;/span&gt;&lt;span style="color: blue;"&gt;="txtMsg"&lt;/span&gt;
&lt;span style="color: red;"&gt;Grid&lt;/span&gt;.&lt;span style="color: red;"&gt;Column&lt;/span&gt;&lt;span style="color: blue;"&gt;="1"&lt;/span&gt;
&lt;span style="color: red;"&gt;Text&lt;/span&gt;&lt;span style="color: blue;"&gt;=""&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;
&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;Button&lt;/span&gt; &lt;span style="color: red;"&gt;Grid&lt;/span&gt;.&lt;span style="color: red;"&gt;Row&lt;/span&gt;&lt;span style="color: blue;"&gt;="2"&lt;/span&gt;
&lt;span style="color: red;"&gt;Content&lt;/span&gt;&lt;span style="color: blue;"&gt;="Send"&lt;/span&gt;
&lt;span style="color: red;"&gt;Click&lt;/span&gt;&lt;span style="color: blue;"&gt;="Button_Click"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;
&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;TextBlock&lt;/span&gt; &lt;span style="color: red;"&gt;x:Name&lt;/span&gt;&lt;span style="color: blue;"&gt;="txtStatus"&lt;/span&gt;
&lt;span style="color: red;"&gt;Grid&lt;/span&gt;.&lt;span style="color: red;"&gt;Row&lt;/span&gt;&lt;span style="color: blue;"&gt;="2"&lt;/span&gt;
&lt;span style="color: red;"&gt;Grid&lt;/span&gt;.&lt;span style="color: red;"&gt;Column&lt;/span&gt;&lt;span style="color: blue;"&gt;="1"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;
&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;Grid&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;UserControl&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;br /&gt;
MainPage.xaml.cs in project LocalMessageSource&lt;br /&gt;
&lt;br /&gt;
&lt;div id="codeSnippetWrapper" style="background-color: #f4f4f4; border-bottom: silver 1px solid; border-left: silver 1px solid; border-right: silver 1px solid; border-top: silver 1px solid; cursor: text; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 20px 0px 10px; max-height: 200px; overflow: auto; padding-bottom: 4px; padding-left: 4px; padding-right: 4px; padding-top: 4px; text-align: left; width: 97.5%;"&gt;
&lt;br /&gt;
&lt;pre id="codeSnippet" style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span style="color: blue;"&gt;private&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; Button_Click(&lt;span style="color: blue;"&gt;object&lt;/span&gt; sender, RoutedEventArgs e)
{
LocalMessageSender msgSender = &lt;span style="color: blue;"&gt;new&lt;/span&gt; LocalMessageSender(&lt;span style="color: #006080;"&gt;"receiver"&lt;/span&gt;);
msgSender.SendCompleted += &lt;span style="color: blue;"&gt;new&lt;/span&gt; EventHandler&amp;lt;SendCompletedEventArgs&amp;gt;(msgSender_SendCompleted);
msgSender.SendAsync(txtMsg.Text); 
}

&lt;span style="color: blue;"&gt;void&lt;/span&gt; msgSender_SendCompleted(&lt;span style="color: blue;"&gt;object&lt;/span&gt; sender, SendCompletedEventArgs e)
{
txtStatus.Text = &lt;span style="color: #006080;"&gt;"Send"&lt;/span&gt;;
}&lt;/pre&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;br /&gt;
MainPage.xaml.cs in project LocalMessageDestination &lt;br /&gt;
&lt;br /&gt;
&lt;div id="codeSnippetWrapper" style="background-color: #f4f4f4; border-bottom: silver 1px solid; border-left: silver 1px solid; border-right: silver 1px solid; border-top: silver 1px solid; cursor: text; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 20px 0px 10px; max-height: 200px; overflow: auto; padding-bottom: 4px; padding-left: 4px; padding-right: 4px; padding-top: 4px; text-align: left; width: 97.5%;"&gt;
&lt;br /&gt;
&lt;pre id="codeSnippet" style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;UserControl&lt;/span&gt; &lt;span style="color: red;"&gt;x:Class&lt;/span&gt;&lt;span style="color: blue;"&gt;="LocalMessagingDestination.MainPage"&lt;/span&gt;
&lt;span style="color: red;"&gt;xmlns&lt;/span&gt;&lt;span style="color: blue;"&gt;="http://schemas.microsoft.com/winfx/2006/xaml/presentation"&lt;/span&gt;
&lt;span style="color: red;"&gt;xmlns:x&lt;/span&gt;&lt;span style="color: blue;"&gt;="http://schemas.microsoft.com/winfx/2006/xaml"&lt;/span&gt;
&lt;span style="color: red;"&gt;Width&lt;/span&gt;&lt;span style="color: blue;"&gt;="400"&lt;/span&gt;
&lt;span style="color: red;"&gt;Height&lt;/span&gt;&lt;span style="color: blue;"&gt;="100"&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;Grid&lt;/span&gt; &lt;span style="color: red;"&gt;x:Name&lt;/span&gt;&lt;span style="color: blue;"&gt;="LayoutRoot"&lt;/span&gt;
&lt;span style="color: red;"&gt;Background&lt;/span&gt;&lt;span style="color: blue;"&gt;="LightGoldenrodYellow"&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;Grid.RowDefinitions&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;RowDefinition&lt;/span&gt; &lt;span style="color: red;"&gt;Height&lt;/span&gt;&lt;span style="color: blue;"&gt;="Auto"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;
&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;RowDefinition&lt;/span&gt; &lt;span style="color: red;"&gt;Height&lt;/span&gt;&lt;span style="color: blue;"&gt;="*"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;
&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;Grid.RowDefinitions&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;ColumnDefinition&lt;/span&gt; &lt;span style="color: red;"&gt;Width&lt;/span&gt;&lt;span style="color: blue;"&gt;="Auto"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;
&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;ColumnDefinition&lt;/span&gt; &lt;span style="color: red;"&gt;Width&lt;/span&gt;&lt;span style="color: blue;"&gt;="*"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;
&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;TextBlock&lt;/span&gt; &lt;span style="color: red;"&gt;Grid&lt;/span&gt;.&lt;span style="color: red;"&gt;ColumnSpan&lt;/span&gt;&lt;span style="color: blue;"&gt;="2"&lt;/span&gt;
&lt;span style="color: red;"&gt;HorizontalAlignment&lt;/span&gt;&lt;span style="color: blue;"&gt;="Center"&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;I am receiver&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;TextBlock&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;TextBlock&lt;/span&gt; &lt;span style="color: red;"&gt;Text&lt;/span&gt;&lt;span style="color: blue;"&gt;="Received messag"&lt;/span&gt;
&lt;span style="color: red;"&gt;Grid&lt;/span&gt;.&lt;span style="color: red;"&gt;Row&lt;/span&gt;&lt;span style="color: blue;"&gt;="1"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;
&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;TextBox&lt;/span&gt; &lt;span style="color: red;"&gt;x:Name&lt;/span&gt;&lt;span style="color: blue;"&gt;="txtMessage"&lt;/span&gt;
&lt;span style="color: red;"&gt;Grid&lt;/span&gt;.&lt;span style="color: red;"&gt;Row&lt;/span&gt;&lt;span style="color: blue;"&gt;="1"&lt;/span&gt;
&lt;span style="color: red;"&gt;Grid&lt;/span&gt;.&lt;span style="color: red;"&gt;Column&lt;/span&gt;&lt;span style="color: blue;"&gt;="1"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;
&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;Grid&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;UserControl&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;br /&gt;
MainPage.xaml.cs in project LocalMessageDestination&lt;br /&gt;
&lt;div id="codeSnippetWrapper" style="background-color: #f4f4f4; border-bottom: silver 1px solid; border-left: silver 1px solid; border-right: silver 1px solid; border-top: silver 1px solid; cursor: text; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 20px 0px 10px; max-height: 200px; overflow: auto; padding-bottom: 4px; padding-left: 4px; padding-right: 4px; padding-top: 4px; text-align: left; width: 97.5%;"&gt;
&lt;br /&gt;
&lt;pre id="codeSnippet" style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; MainPage()
{
InitializeComponent();
LocalMessageReceiver receiver = &lt;span style="color: blue;"&gt;new&lt;/span&gt; LocalMessageReceiver(&lt;span style="color: #006080;"&gt;"receiver"&lt;/span&gt;);

receiver.MessageReceived += &lt;span style="color: blue;"&gt;new&lt;/span&gt; EventHandler&amp;lt;MessageReceivedEventArgs&amp;gt;(receiver_MessageReceived);
receiver.Listen();
}

&lt;span style="color: blue;"&gt;void&lt;/span&gt; receiver_MessageReceived(&lt;span style="color: blue;"&gt;object&lt;/span&gt; sender, MessageReceivedEventArgs e)
{
txtMessage.Text = e.Message;
}&lt;/pre&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;img src="http://joymon.googlepages.com/LocalMessagingbrowser.jpg" /&gt;&lt;br /&gt;
Sample can be downloaded from &lt;a href="http://joymon.googlepages.com/LocalMessaging.zip"&gt;here&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
There are so many options with this messaging APIs such as domain blocking etc.You can send to some specific domains by using these options.More details later…&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;NB:This post is written using Silverlight 3 Beta.Things may change in Actual release.&lt;/u&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603776122273127789-2342688095303571321?l=silverlightedweb.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ZnvqKI5OjHuwmLJ3NEV6rdI55yU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ZnvqKI5OjHuwmLJ3NEV6rdI55yU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ZnvqKI5OjHuwmLJ3NEV6rdI55yU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ZnvqKI5OjHuwmLJ3NEV6rdI55yU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/silverlightedweb/~4/OJYaxJmf9TE" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/silverlightedweb/~3/OJYaxJmf9TE/silverlight-3-beta-local-messaging.html</link><author>joymon@gmail.com (Joymon | ജോയ് മോന്‍ | जोय मोन | ஜோய் மோன்)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://silverlightedweb.blogspot.com/2009/03/silverlight-3-beta-local-messaging.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8603776122273127789.post-181658455281116694</guid><pubDate>Sat, 28 Mar 2009 13:14:00 +0000</pubDate><atom:updated>2009-03-30T18:16:00.275+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Deeplinking</category><category domain="http://www.blogger.com/atom/ns#">Silverlight 3</category><category domain="http://www.blogger.com/atom/ns#">Tutorials</category><category domain="http://www.blogger.com/atom/ns#">Paging</category><title>Silverlight 3 Beta Deep linking using Navigation application</title><description>The main disadvantage of earlier RIA technologies like Flash and Silverlight 2 was the absence of Deep linking.ie we can’t maintain a link to a specific screen or page in the RIA application.We can see just same URL even we change screens or pages in RIA application.Hence we can’t give a specific url to somebody or book mark that screen by url.Each time when the RIA application loads we have to navigate again to reach a specific page.That is very much time consuming.&lt;br /&gt;
Eg: If we want to have a profile page in our application how will we handle that in ASP.Net ? it’s simply addressed by using a page called profile.aspx with querystring ?id=10&lt;br /&gt;
This was not possible in Silverlight until the release of &lt;a href="http://silverlight.net/getstarted/silverlight3/default.aspx"&gt;Silverlight 3&lt;/a&gt; and it’s &lt;a href="http://timheuer.com/blog/archive/2009/03/22/silverlight-navigation-framework-and-uri-routing.aspx"&gt;Navigation application support&lt;/a&gt;.With the introduction of navigation support we can maintain constant links to specific screens in the Silverlight RIA application.Hence we can distribute that link and bookmark that Silverlight page.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&lt;u&gt;Creating a deep linked address book application using Silverlight&lt;/u&gt;&lt;/strong&gt;&lt;br /&gt;
Since the main aim is to demonstrate deep linking ,I am using a simple Person class with properties Id ,Name and Address.The data storage is an Xml file.Here is the Person class.&lt;br /&gt;
&lt;div id="codeSnippetWrapper" style="background-color: #f4f4f4; border-bottom: silver 1px solid; border-left: silver 1px solid; border-right: silver 1px solid; border-top: silver 1px solid; cursor: text; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 20px 0px 10px; max-height: 200px; overflow: auto; padding-bottom: 4px; padding-left: 4px; padding-right: 4px; padding-top: 4px; text-align: left; width: 97.5%;"&gt;
&lt;pre id="codeSnippet" style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;class&lt;/span&gt; Person
    {
        &lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;int&lt;/span&gt; ID { get; set; }
        &lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;string&lt;/span&gt; Name { get; set; }
        &lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;string&lt;/span&gt; Address { get; set; }
    }&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;strong&gt;&lt;u&gt;Designing Data access &lt;/u&gt;&lt;/strong&gt;&lt;br /&gt;
The PersonDataContext class provides the required Data.AllPersons and GetPersonById are the members which returns collection of all persons and Person by id respectively.&lt;br /&gt;
&lt;br /&gt;
&lt;div id="codeSnippetWrapper" style="background-color: #f4f4f4; border-bottom: silver 1px solid; border-left: silver 1px solid; border-right: silver 1px solid; border-top: silver 1px solid; cursor: text; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 20px 0px 10px; max-height: 200px; overflow: auto; padding-bottom: 4px; padding-left: 4px; padding-right: 4px; padding-top: 4px; text-align: left; width: 97.5%;"&gt;
&lt;br /&gt;
&lt;pre id="codeSnippet" style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;class&lt;/span&gt; PersonDataContext
{
    XDocument _doc;
    &lt;span style="color: blue;"&gt;private&lt;/span&gt; XDocument XmlDoc
    {
        get
        {
            &lt;span style="color: blue;"&gt;if&lt;/span&gt; (_doc == &lt;span style="color: blue;"&gt;null&lt;/span&gt;)
            {
                 _doc = XDocument.Load(&lt;span style="color: #006080;"&gt;"Persons.xml"&lt;/span&gt;);
            }
            &lt;span style="color: blue;"&gt;return&lt;/span&gt; _doc;
        }
    }
    &lt;span style="color: blue;"&gt;public&lt;/span&gt; IEnumerable&amp;lt;Person&amp;gt; AllPersons
    {
        get
        {
            &lt;span style="color: blue;"&gt;return&lt;/span&gt; from li &lt;span style="color: blue;"&gt;in&lt;/span&gt; XmlDoc.Root.Elements()
                   select &lt;span style="color: blue;"&gt;new&lt;/span&gt; Person()
                   {
                       ID = Convert.ToInt32(li.Attribute(&lt;span style="color: #006080;"&gt;"Id"&lt;/span&gt;).Value),
                       Name = li.Attribute(&lt;span style="color: #006080;"&gt;"Name"&lt;/span&gt;).Value,
                       Address = li.Attribute(&lt;span style="color: #006080;"&gt;"Address"&lt;/span&gt;).Value
                   };
        }
    }
    &lt;span style="color: blue;"&gt;public&lt;/span&gt; Person GetPersonById(&lt;span style="color: blue;"&gt;int&lt;/span&gt; id)
    {
        XElement ele= XmlDoc.Root.Elements().First(s =&amp;gt; s.Attribute(&lt;span style="color: #006080;"&gt;"Id"&lt;/span&gt;).Value == id.ToString());
        Person person=&lt;span style="color: blue;"&gt;null&lt;/span&gt;;
        &lt;span style="color: blue;"&gt;if&lt;/span&gt;(ele !=&lt;span style="color: blue;"&gt;null&lt;/span&gt;)
        {
            person = &lt;span style="color: blue;"&gt;new&lt;/span&gt; Person()
            {
                ID = Convert.ToInt32(ele.Attribute(&lt;span style="color: #006080;"&gt;"Id"&lt;/span&gt;).Value),
                Name = ele.Attribute(&lt;span style="color: #006080;"&gt;"Name"&lt;/span&gt;).Value,
                Address = ele.Attribute(&lt;span style="color: #006080;"&gt;"Address"&lt;/span&gt;).Value
            };
        }
        &lt;span style="color: blue;"&gt;return&lt;/span&gt; person;
    }
}&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;strong&gt;&lt;u&gt;Building User Interface&lt;/u&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
We are using a ListBox to display the list of persons in the HomePage.xaml.The ItemTemplate of the ListBox contains a &lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.hyperlinkbutton(VS.96).aspx"&gt;hyperlink&lt;/a&gt; button and its &lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.hyperlinkbutton.navigateuri(VS.96).aspx"&gt;NavigateUri&lt;/a&gt; is binded to Person object using a converter named Person2UriConverter.We are using a converter because the NavigateUri expects a object of type Uri.One more thing is that we don’t have path to details page in Person class.So we used a converter which combines the page url with the newly created name value pair.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&lt;u&gt;HomePage.xaml&lt;/u&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div id="codeSnippetWrapper" style="background-color: #f4f4f4; border-bottom: silver 1px solid; border-left: silver 1px solid; border-right: silver 1px solid; border-top: silver 1px solid; cursor: text; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 20px 0px 10px; max-height: 200px; overflow: auto; padding-bottom: 4px; padding-left: 4px; padding-right: 4px; padding-top: 4px; text-align: left; width: 97.5%;"&gt;
&lt;br /&gt;
&lt;pre id="codeSnippet" style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;navigation:Page&lt;/span&gt; &lt;span style="color: red;"&gt;xmlns&lt;/span&gt;&lt;span style="color: blue;"&gt;="http://schemas.microsoft.com/winfx/2006/xaml/presentation"&lt;/span&gt;
                 &lt;span style="color: red;"&gt;xmlns:x&lt;/span&gt;&lt;span style="color: blue;"&gt;="http://schemas.microsoft.com/winfx/2006/xaml"&lt;/span&gt;
                 &lt;span style="color: red;"&gt;xmlns:navigation&lt;/span&gt;&lt;span style="color: blue;"&gt;="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Navigation"&lt;/span&gt;
                 &lt;span style="color: red;"&gt;xmlns:local&lt;/span&gt;&lt;span style="color: blue;"&gt;="clr-namespace:AddressBook"&lt;/span&gt;
                 &lt;span style="color: red;"&gt;x:Class&lt;/span&gt;&lt;span style="color: blue;"&gt;="SilverlightApplication1.HomePage"&lt;/span&gt;
                 &lt;span style="color: red;"&gt;xmlns:conv&lt;/span&gt;&lt;span style="color: blue;"&gt;="clr-namespace:AddressBoook.Converters"&lt;/span&gt;
                 &lt;span style="color: red;"&gt;Title&lt;/span&gt;&lt;span style="color: blue;"&gt;="HomePage Page"&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
    &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;navigation:Page.Resources&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
        &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;conv:Person2UriConverter&lt;/span&gt; &lt;span style="color: red;"&gt;x:Key&lt;/span&gt;&lt;span style="color: blue;"&gt;="p2uri"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;local:PersonDataContext&lt;/span&gt; &lt;span style="color: red;"&gt;x:Key&lt;/span&gt;&lt;span style="color: blue;"&gt;="PersonDataContextDataSource"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;DataTemplate&lt;/span&gt; &lt;span style="color: red;"&gt;x:Key&lt;/span&gt;&lt;span style="color: blue;"&gt;="personDT"&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
            &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;StackPanel&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
                &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;HyperlinkButton&lt;/span&gt; &lt;span style="color: red;"&gt;Content&lt;/span&gt;&lt;span style="color: blue;"&gt;="{Binding Name}"&lt;/span&gt; &lt;span style="color: red;"&gt;NavigateUri&lt;/span&gt;&lt;span style="color: blue;"&gt;="{Binding Converter={StaticResource p2uri}}"&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;HyperlinkButton&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
            &lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;StackPanel&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
        &lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;DataTemplate&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
    &lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;navigation:Page.Resources&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
    &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;Grid&lt;/span&gt; &lt;span style="color: red;"&gt;x:Name&lt;/span&gt;&lt;span style="color: blue;"&gt;="LayoutRoot"&lt;/span&gt; &lt;span style="color: red;"&gt;Background&lt;/span&gt;&lt;span style="color: blue;"&gt;="White"&lt;/span&gt; &lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
        &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;Grid.RowDefinitions&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
            &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;RowDefinition&lt;/span&gt; &lt;span style="color: red;"&gt;Height&lt;/span&gt;&lt;span style="color: blue;"&gt;="Auto"&lt;/span&gt;&lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;RowDefinition&lt;/span&gt; &lt;span style="color: red;"&gt;Height&lt;/span&gt;&lt;span style="color: blue;"&gt;="*"&lt;/span&gt;&lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;Grid.RowDefinitions&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
        &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;ListBox&lt;/span&gt; &lt;span style="color: red;"&gt;DataContext&lt;/span&gt;&lt;span style="color: blue;"&gt;="{Binding Source={StaticResource PersonDataContextDataSource}}"&lt;/span&gt;
                 &lt;span style="color: red;"&gt;ItemsSource&lt;/span&gt;&lt;span style="color: blue;"&gt;="{Binding Mode=OneWay, Path=AllPersons}"&lt;/span&gt;
                 &lt;span style="color: red;"&gt;ItemTemplate&lt;/span&gt;&lt;span style="color: blue;"&gt;="{StaticResource personDT}"&lt;/span&gt; &lt;span style="color: red;"&gt;Grid&lt;/span&gt;.&lt;span style="color: red;"&gt;Row&lt;/span&gt;&lt;span style="color: blue;"&gt;="1"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;TextBlock&lt;/span&gt; &lt;span style="color: red;"&gt;Text&lt;/span&gt;&lt;span style="color: blue;"&gt;="Home"&lt;/span&gt; &lt;span style="color: red;"&gt;Style&lt;/span&gt;&lt;span style="color: blue;"&gt;="{StaticResource HeaderTextStyle}"&lt;/span&gt;&lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;Grid&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;navigation:Page&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;strong&gt;&lt;u&gt;Person2UriConverter.cs&lt;/u&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div id="codeSnippetWrapper" style="background-color: #f4f4f4; border-bottom: silver 1px solid; border-left: silver 1px solid; border-right: silver 1px solid; border-top: silver 1px solid; cursor: text; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 20px 0px 10px; max-height: 200px; overflow: auto; padding-bottom: 4px; padding-left: 4px; padding-right: 4px; padding-top: 4px; text-align: left; width: 97.5%;"&gt;
&lt;br /&gt;
&lt;pre id="codeSnippet" style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;class&lt;/span&gt; Person2UriConverter:IValueConverter
    {
        &lt;span style="color: #cc6633;"&gt;#region&lt;/span&gt; IValueConverter Members
        &lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;object&lt;/span&gt; Convert(&lt;span style="color: blue;"&gt;object&lt;/span&gt; &lt;span style="color: blue;"&gt;value&lt;/span&gt;, Type targetType, &lt;span style="color: blue;"&gt;object&lt;/span&gt; parameter, System.Globalization.CultureInfo culture)
        {
            Person person = &lt;span style="color: blue;"&gt;value&lt;/span&gt; &lt;span style="color: blue;"&gt;as&lt;/span&gt; Person;
            &lt;span style="color: blue;"&gt;string&lt;/span&gt; localpath = System.Windows.Browser.HtmlPage.Document.DocumentUri.LocalPath;
            &lt;span style="color: blue;"&gt;return&lt;/span&gt; &lt;span style="color: blue;"&gt;new&lt;/span&gt; Uri(localpath+&lt;span style="color: #006080;"&gt;"#/Views/Person.xaml?id="&lt;/span&gt;+person.ID,UriKind.RelativeOrAbsolute);
        }
        &lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;object&lt;/span&gt; ConvertBack(&lt;span style="color: blue;"&gt;object&lt;/span&gt; &lt;span style="color: blue;"&gt;value&lt;/span&gt;, Type targetType, &lt;span style="color: blue;"&gt;object&lt;/span&gt; parameter, System.Globalization.CultureInfo culture)
        {
            &lt;span style="color: blue;"&gt;throw&lt;/span&gt; &lt;span style="color: blue;"&gt;new&lt;/span&gt; NotImplementedException();
        }
        &lt;span style="color: #cc6633;"&gt;#endregion&lt;/span&gt;
    }&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;
Now we made the display of listbox with all persons.Now when run and click on the person link we can see the new url as &lt;a href="http://localhost:61838/SilverlightApplication1TestPage.aspx#/Views/Person.xaml?id=1.It" title="http://localhost:61838/SilverlightApplication1TestPage.aspx#/Views/Person.xaml?id=1"&gt;http://localhost:61838/SilverlightApplication1TestPage.aspx#/Views/Person.xaml?id=1.It&lt;/a&gt; won’t display anything since there is no Person.xaml.Create the Person.xaml &lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.page(VS.96).aspx"&gt;page&lt;/a&gt; which is going to be the detail view.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&lt;u&gt;Creating detail page Person.xaml&lt;/u&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Here the idea is to get the query string parameter id and load the Person class.This Person class is set as DataContext of the newly created a &lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.page(VS.96).aspx"&gt;Page&lt;/a&gt; called Person.xaml where it is going to display the details.DataContext is setting on the overriden method &lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.page.onnavigatedto(VS.96).aspx"&gt;OnNavigateTo&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;strong&gt;Person.xaml.cs&lt;/strong&gt;&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div id="codeSnippetWrapper" style="background-color: #f4f4f4; border-bottom: silver 1px solid; border-left: silver 1px solid; border-right: silver 1px solid; border-top: silver 1px solid; cursor: text; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 20px 0px 10px; max-height: 200px; overflow: auto; padding-bottom: 4px; padding-left: 4px; padding-right: 4px; padding-top: 4px; text-align: left; width: 97.5%;"&gt;
&lt;br /&gt;
&lt;pre id="codeSnippet" style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span style="color: green;"&gt;// Executes when the user navigates to this page.&lt;/span&gt;
        &lt;span style="color: blue;"&gt;protected&lt;/span&gt; &lt;span style="color: blue;"&gt;override&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; OnNavigatedTo(NavigationEventArgs e)
        {
            &lt;span style="color: blue;"&gt;int&lt;/span&gt; personId = Convert.ToInt32(&lt;span style="color: blue;"&gt;this&lt;/span&gt;.NavigationContext.QueryString[&lt;span style="color: #006080;"&gt;"id"&lt;/span&gt;]);
            &lt;span style="color: blue;"&gt;this&lt;/span&gt;.DataContext = &lt;span style="color: blue;"&gt;new&lt;/span&gt; PersonDataContext().GetPersonById(personId);
        }&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;strong&gt;&lt;u&gt;Person.xaml&lt;/u&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;div id="codeSnippetWrapper" style="background-color: #f4f4f4; border-bottom: silver 1px solid; border-left: silver 1px solid; border-right: silver 1px solid; border-top: silver 1px solid; cursor: text; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 20px 0px 10px; max-height: 200px; overflow: auto; padding-bottom: 4px; padding-left: 4px; padding-right: 4px; padding-top: 4px; text-align: left; width: 97.5%;"&gt;
&lt;br /&gt;
&lt;pre id="codeSnippet" style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;navigation:Page&lt;/span&gt; &lt;span style="color: red;"&gt;x:Class&lt;/span&gt;&lt;span style="color: blue;"&gt;="SilverlightApplication1.Views.Person"&lt;/span&gt; 
           &lt;span style="color: red;"&gt;xmlns&lt;/span&gt;&lt;span style="color: blue;"&gt;="http://schemas.microsoft.com/winfx/2006/xaml/presentation"&lt;/span&gt; 
           &lt;span style="color: red;"&gt;xmlns:x&lt;/span&gt;&lt;span style="color: blue;"&gt;="http://schemas.microsoft.com/winfx/2006/xaml"&lt;/span&gt; 
           &lt;span style="color: red;"&gt;xmlns:navigation&lt;/span&gt;&lt;span style="color: blue;"&gt;="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Navigation"&lt;/span&gt;
           &lt;span style="color: red;"&gt;Title&lt;/span&gt;&lt;span style="color: blue;"&gt;="Person Page"&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
    &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;Grid&lt;/span&gt; &lt;span style="color: red;"&gt;x:Name&lt;/span&gt;&lt;span style="color: blue;"&gt;="LayoutRoot"&lt;/span&gt;
          &lt;span style="color: red;"&gt;Background&lt;/span&gt;&lt;span style="color: blue;"&gt;="White"&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
        &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;Grid.RowDefinitions&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
            &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;RowDefinition&lt;/span&gt; &lt;span style="color: red;"&gt;Height&lt;/span&gt;&lt;span style="color: blue;"&gt;="Auto"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;RowDefinition&lt;/span&gt; &lt;span style="color: red;"&gt;Height&lt;/span&gt;&lt;span style="color: blue;"&gt;="Auto"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;RowDefinition&lt;/span&gt; &lt;span style="color: red;"&gt;Height&lt;/span&gt;&lt;span style="color: blue;"&gt;="*"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;Grid.RowDefinitions&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
        &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
            &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;ColumnDefinition&lt;/span&gt; &lt;span style="color: red;"&gt;Width&lt;/span&gt;&lt;span style="color: blue;"&gt;="Auto"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;
            &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;ColumnDefinition&lt;/span&gt; &lt;span style="color: red;"&gt;Width&lt;/span&gt;&lt;span style="color: blue;"&gt;="*"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
        &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;TextBlock&lt;/span&gt; &lt;span style="color: red;"&gt;Text&lt;/span&gt;&lt;span style="color: blue;"&gt;="ID"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;TextBox&lt;/span&gt; &lt;span style="color: red;"&gt;Grid&lt;/span&gt;.&lt;span style="color: red;"&gt;Column&lt;/span&gt;&lt;span style="color: blue;"&gt;="1"&lt;/span&gt;
                 &lt;span style="color: red;"&gt;Text&lt;/span&gt;&lt;span style="color: blue;"&gt;="{Binding ID}"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;TextBlock&lt;/span&gt; &lt;span style="color: red;"&gt;Grid&lt;/span&gt;.&lt;span style="color: red;"&gt;Row&lt;/span&gt;&lt;span style="color: blue;"&gt;="1"&lt;/span&gt;
                   &lt;span style="color: red;"&gt;Text&lt;/span&gt;&lt;span style="color: blue;"&gt;="Name"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;TextBox&lt;/span&gt; &lt;span style="color: red;"&gt;Grid&lt;/span&gt;.&lt;span style="color: red;"&gt;Row&lt;/span&gt;&lt;span style="color: blue;"&gt;="1"&lt;/span&gt;
                 &lt;span style="color: red;"&gt;Grid&lt;/span&gt;.&lt;span style="color: red;"&gt;Column&lt;/span&gt;&lt;span style="color: blue;"&gt;="1"&lt;/span&gt;
                 &lt;span style="color: red;"&gt;Text&lt;/span&gt;&lt;span style="color: blue;"&gt;="{Binding Name}"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;TextBlock&lt;/span&gt; &lt;span style="color: red;"&gt;Grid&lt;/span&gt;.&lt;span style="color: red;"&gt;Row&lt;/span&gt;&lt;span style="color: blue;"&gt;="2"&lt;/span&gt;
                   &lt;span style="color: red;"&gt;Text&lt;/span&gt;&lt;span style="color: blue;"&gt;="Address"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;TextBox&lt;/span&gt; &lt;span style="color: red;"&gt;Grid&lt;/span&gt;.&lt;span style="color: red;"&gt;Row&lt;/span&gt;&lt;span style="color: blue;"&gt;="2"&lt;/span&gt;
                 &lt;span style="color: red;"&gt;Grid&lt;/span&gt;.&lt;span style="color: red;"&gt;Column&lt;/span&gt;&lt;span style="color: blue;"&gt;="2"&lt;/span&gt;
                 &lt;span style="color: red;"&gt;Text&lt;/span&gt;&lt;span style="color: blue;"&gt;="{Binding Address}"&lt;/span&gt; &lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;Grid&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;navigation:Page&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;br /&gt;
Now when we click on the Person link we will get the detail page Person.XAML.Now you can distribute the URL to your friends and you can yourself use that as bookmark in your browser.&lt;img src="http://joymon.googlepages.com/SL3BdeeplinkingAddr.jpg" /&gt; &lt;br /&gt;
&lt;br /&gt;
Sample can be downloaded from &lt;a href="http://joymon.googlepages.com/DeeplinkedAddressBook.zip"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603776122273127789-181658455281116694?l=silverlightedweb.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/2aErviArzYJsK8fYfRggs0L_JKU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2aErviArzYJsK8fYfRggs0L_JKU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/2aErviArzYJsK8fYfRggs0L_JKU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2aErviArzYJsK8fYfRggs0L_JKU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/silverlightedweb/~4/K7jtrBV1AyQ" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/silverlightedweb/~3/K7jtrBV1AyQ/silverlight-3-beta-deep-linking-using.html</link><author>joymon@gmail.com (Joymon | ജോയ് മോന്‍ | जोय मोन | ஜோய் மோன்)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://silverlightedweb.blogspot.com/2009/03/silverlight-3-beta-deep-linking-using.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8603776122273127789.post-6305715260800716564</guid><pubDate>Fri, 27 Mar 2009 04:29:00 +0000</pubDate><atom:updated>2009-03-27T09:59:00.777+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Silverlight 3</category><category domain="http://www.blogger.com/atom/ns#">Paging</category><category domain="http://www.blogger.com/atom/ns#">Navigation Application</category><title>Silverlight 3 Beta Navigation Application support</title><description>&lt;p&gt;This is another new feature added in Silverlight 3 which is based on WPF paging concept.&lt;a href="http://msdn.microsoft.com/en-us/library/cc838245(VS.96).aspx"&gt;Navigation or Paging support&lt;/a&gt; gives us flexibility to design our application as page wise.It is more likely to ASP.Net page concept than windows programming.There will be a container which contains pages and we can switch among pages by user actions as well as by programmatically.The main advantage of this is we can &lt;u&gt;identify each Silverlight page by it’s url&lt;/u&gt;.We will discuss about this deep linking feature in a new post.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Creating Silverlight navigation application / paging enabled Application.&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;img src="http://joymon.googlepages.com/VSSLNavApp.jpg" /&gt; &lt;/p&gt;  &lt;p&gt;The Silverlight 3 tools for visual studio 2008 brings a new project template for Navigation application.Select that project template and create.The project template itself contains 3 sample Pages AboutPage.xaml,ErrorWindow.xaml and HomePage.xaml in the Views folder. &lt;/p&gt;  &lt;p&gt;&lt;img src="http://joymon.googlepages.com/VSSL3BetaNavPrj.jpg" /&gt;     &lt;br /&gt;These pages are hosted in MainPage.xaml using a control called &lt;u&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.frame(VS.96).aspx"&gt;Frame&lt;/a&gt;&lt;/u&gt; coming from the assembly &lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.navigation(VS.96).aspx"&gt;System.Windows.Controls.Navigation&lt;/a&gt;&lt;u&gt;.&lt;/u&gt;The &lt;u&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.frame.source(VS.96).aspx"&gt;Source&lt;/a&gt;&lt;/u&gt; property of Frame denotes the current page which is displaying in Frame.Change the Source property if you need to change the current page.     &lt;br /&gt;When we run the application we can see a good style for the controls in it.That is not magic of paging but the effect of styles and templates present in App.xaml :-)&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Switching among pages&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;There are 2 methods to switch current page.&lt;/p&gt;  &lt;p&gt;this.Frame.&lt;a href="http://msdn.microsoft.com/en-us/library/ms602275(VS.96).aspx"&gt;Navigate&lt;/a&gt;(new Uri(“goToPageURI”, UriKind.Relative));     &lt;br /&gt;(Or)     &lt;br /&gt;this.Frame.Source = new Uri(“goToPageURI”, UriKind.Relative);&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Controlling navigation / paging behavior&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;There are so many properties and methods available in Page and Frame classes to control the navigation behavior such as Frame.&lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.frame.cangoback(VS.96).aspx"&gt;CanGoBack&lt;/a&gt;,Frame.&lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.frame.cangoforward(VS.96).aspx"&gt;CanGoForward&lt;/a&gt;,Frame.&lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.frame.stoploading(VS.96).aspx"&gt;StopLoading&lt;/a&gt;() etc….Main requirement will be getting the query string parameters in the page in order to load something or show something.It is available in &lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.page.navigationcontext(VS.96).aspx"&gt;NavigationContext&lt;/a&gt;.QueryString property.&lt;/p&gt;  &lt;p&gt;Note that the query string contains the name value pairs which comes after the ‘;’ symbol.You can’t get the path (Eg:#/Views/HomePage.xaml)to page there.&lt;/p&gt;  &lt;p&gt;NB :&lt;u&gt;The above post is written based on Silverlight 3 Beta build.Things may change in the actual release.&lt;/u&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603776122273127789-6305715260800716564?l=silverlightedweb.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/3ji21ZSln-8BlkGeYl5njRvf7nc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3ji21ZSln-8BlkGeYl5njRvf7nc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/3ji21ZSln-8BlkGeYl5njRvf7nc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3ji21ZSln-8BlkGeYl5njRvf7nc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/silverlightedweb/~4/dd3OrYWUEeA" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/silverlightedweb/~3/dd3OrYWUEeA/silverlight-3-beta-navigation.html</link><author>joymon@gmail.com (Joymon | ജോയ് മോന്‍ | जोय मोन | ஜோய் மோன்)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://silverlightedweb.blogspot.com/2009/03/silverlight-3-beta-navigation.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8603776122273127789.post-8985231383976432437</guid><pubDate>Wed, 25 Mar 2009 17:16:00 +0000</pubDate><atom:updated>2009-03-26T10:01:49.672+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Styling</category><category domain="http://www.blogger.com/atom/ns#">Resource Dictionary</category><category domain="http://www.blogger.com/atom/ns#">Templating</category><category domain="http://www.blogger.com/atom/ns#">Expression Blend</category><title>Silverlight 3 Beta Merged Resource Dictionaries</title><description>&lt;p&gt;This helps us to link resource dictionaries.That means we can split up our resource dictionaries into small files and link them together to act like a single resource dictionary.&lt;/p&gt;&lt;p&gt;Earlier when we develop a Silverlight custom control library we have to keep all the control styles and templates in a single resource dictionary file called generic.xaml.That is very much confusing and makes the generic.xaml very huge and complex.We can’t maintain that resource dictionary easily.The main advantage of Merged resource dictionary comes here.We can split up the styles and templates of each individual Silverlight control into separate resource dictionary files and maintain easily.&lt;/p&gt;&lt;p&gt;Also when we are in styling or templating controls in a complex user control we can split up similar styles into different resource dictionaries.Normally its very useful to separate Brushes and colors from the styles.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;u&gt;Creating Resource Dictionary&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;If you are using Visual studio there is no direct support to add a ResourceDictionary.So add a new UserControl and do the following.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Delete the xaml.cs file &lt;/li&gt;&lt;li&gt;Remove the x:Class attribute from UserControl’s xaml declaration. &lt;/li&gt;&lt;li&gt;Remove the Width and Height properties &lt;/li&gt;&lt;li&gt;Remove the default Grid control. &lt;/li&gt;&lt;li&gt;Change Build action to Resource. &lt;/li&gt;&lt;li&gt;Rename the UserControl XAML tag to ResourceDictionary. &lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Now the XAMl will look as follows&lt;/p&gt;&lt;div id="codeSnippetWrapper" style="BORDER-RIGHT: silver 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: silver 1px solid; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; MARGIN: 20px 0px 10px; OVERFLOW: auto; BORDER-LEFT: silver 1px solid; WIDTH: 97.5%; CURSOR: text; DIRECTION: ltr; MAX-HEIGHT: 200px; LINE-HEIGHT: 12pt; PADDING-TOP: 4px; BORDER-BOTTOM: silver 1px solid; BACKGROUND-: leftfont-family:'Courier New', courier, monospace;font-size:8pt;color:#f4f4f4;"   &gt;&lt;pre id="codeSnippet" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; DIRECTION: ltr; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none; BACKGROUND-: leftfont-family:'Courier New', courier, monospace;font-size:8pt;color:#f4f4f4;"   &gt;&lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;ResourceDictionary&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#ff0000;"&gt;xmlns&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;="http://schemas.microsoft.com/winfx/2006/xaml/presentation"&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#ff0000;"&gt;xmlns:x&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;="http://schemas.microsoft.com/winfx/2006/xaml"&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;ResourceDictionary&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;To create a new ResourceDictionary using Blend 3 ,go to resources tab.Click on the ‘+’ located at top right to show the creation dialog.Give the name and press ‘&lt;strong&gt;&lt;em&gt;OK’.&lt;/em&gt;&lt;/strong&gt;I will be writing&lt;strong&gt;&lt;em&gt; &lt;/em&gt;&lt;/strong&gt;another post in detail which describes creation and manipulation of ResourceDictionaries using blend.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;img src="http://joymon.googlepages.com/blend_newresourcedictionary.jpg" /&gt; &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;u&gt;Adding resources&lt;/u&gt;&lt;/strong&gt; &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Adding xaml elements into ResourceDictionary is same as before.We can add any xaml element including Button,Grid,Brush,Color,Templates,Styles etc…A typical &lt;strong&gt;&lt;u&gt;Colors.xaml&lt;/u&gt;&lt;/strong&gt; resource dictionary is shown below&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="codeSnippetWrapper" style="BORDER-RIGHT: silver 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: silver 1px solid; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; MARGIN: 20px 0px 10px; OVERFLOW: auto; BORDER-LEFT: silver 1px solid; WIDTH: 97.5%; CURSOR: text; DIRECTION: ltr; MAX-HEIGHT: 200px; LINE-HEIGHT: 12pt; PADDING-TOP: 4px; BORDER-BOTTOM: silver 1px solid; BACKGROUND-: leftfont-family:'Courier New', courier, monospace;font-size:8pt;color:#f4f4f4;"   &gt;&lt;br /&gt;&lt;pre id="codeSnippet" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; DIRECTION: ltr; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none; BACKGROUND-: leftfont-family:'Courier New', courier, monospace;font-size:8pt;color:#f4f4f4;"   &gt;&lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;ResourceDictionary&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#ff0000;"&gt;xmlns&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;="http://schemas.microsoft.com/winfx/2006/xaml/presentation"&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#ff0000;"&gt;xmlns:x&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;="http://schemas.microsoft.com/winfx/2006/xaml"&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Color&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;x:Key&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;="bgcolor"&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;Red&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;Color&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;ResourceDictionary&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;u&gt;Merging resource dictionaries&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;ResourceDictionary now got a new property called &lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.resourcedictionary.mergeddictionaries(VS.96).aspx"&gt;MergedDictionaries&lt;/a&gt;.This is a collection of ResourceDictionaries.We can add any number of ResourceDictionaries into this.Also we can merge a ResourceDictionary into another ResourceDictionary.Below is a &lt;strong&gt;&lt;u&gt;Brushes.xaml&lt;/u&gt;&lt;/strong&gt; which uses the Colors.xaml as a merged resource dictionary.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="codeSnippetWrapper" style="BORDER-RIGHT: silver 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: silver 1px solid; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; MARGIN: 20px 0px 10px; OVERFLOW: auto; BORDER-LEFT: silver 1px solid; WIDTH: 97.5%; CURSOR: text; DIRECTION: ltr; MAX-HEIGHT: 200px; LINE-HEIGHT: 12pt; PADDING-TOP: 4px; BORDER-BOTTOM: silver 1px solid; BACKGROUND-: leftfont-family:'Courier New', courier, monospace;font-size:8pt;color:#f4f4f4;"   &gt;&lt;br /&gt;&lt;pre id="codeSnippet" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; DIRECTION: ltr; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none; BACKGROUND-: leftfont-family:'Courier New', courier, monospace;font-size:8pt;color:#f4f4f4;"   &gt;&lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;ResourceDictionary&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;xmlns&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;="http://schemas.microsoft.com/winfx/2006/xaml/presentation"&lt;/span&gt;&lt;br /&gt;                    &lt;span style="color:#ff0000;"&gt;xmlns:x&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;="http://schemas.microsoft.com/winfx/2006/xaml"&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;ResourceDictionary.MergedDictionaries&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;ResourceDictionary&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Source&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;="Colors.xaml"&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;ResourceDictionary.MergedDictionaries&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;SolidColorBrush&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;x:Key&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;="background"&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Color&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;="{StaticResource bgcolor}"&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;ResourceDictionary&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;Now we got brushes.xaml.This can be merged again with &lt;strong&gt;&lt;u&gt;UserControl.xaml&lt;/u&gt;&lt;/strong&gt; in order to use the brushes.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="codeSnippetWrapper" style="BORDER-RIGHT: silver 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: silver 1px solid; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; MARGIN: 20px 0px 10px; OVERFLOW: auto; BORDER-LEFT: silver 1px solid; WIDTH: 97.5%; CURSOR: text; DIRECTION: ltr; MAX-HEIGHT: 200px; LINE-HEIGHT: 12pt; PADDING-TOP: 4px; BORDER-BOTTOM: silver 1px solid; BACKGROUND-: leftfont-family:'Courier New', courier, monospace;font-size:8pt;color:#f4f4f4;"   &gt;&lt;br /&gt;&lt;pre id="codeSnippet" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; DIRECTION: ltr; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none; BACKGROUND-: leftfont-family:'Courier New', courier, monospace;font-size:8pt;color:#f4f4f4;"   &gt;&lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;UserControl&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;x:Class&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;="CustomEffects.MainPage"&lt;/span&gt;&lt;br /&gt;             &lt;span style="color:#ff0000;"&gt;xmlns&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;="http://schemas.microsoft.com/winfx/2006/xaml/presentation"&lt;/span&gt;&lt;br /&gt;             &lt;span style="color:#ff0000;"&gt;xmlns:x&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;="http://schemas.microsoft.com/winfx/2006/xaml"&lt;/span&gt;&lt;br /&gt;             &lt;span style="color:#ff0000;"&gt;Width&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;="400"&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Height&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;="300"&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;UserControl.Resources&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;ResourceDictionary&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;ResourceDictionary.MergedDictionaries&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;                &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;ResourceDictionary&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Source&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;="Brushes.xaml"&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;ResourceDictionary.MergedDictionaries&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;ResourceDictionary&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;UserControl.Resources&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Grid&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;x:Name&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;="LayoutRoot"&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Button&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Grid&lt;/span&gt;.&lt;span style="color:#ff0000;"&gt;Row&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;="1"&lt;/span&gt;&lt;br /&gt;                &lt;span style="color:#ff0000;"&gt;Background&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;="{StaticResource background}"&lt;/span&gt;&lt;br /&gt;                &lt;span style="color:#ff0000;"&gt;Content&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;="Click to change"&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;Button&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;Grid&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;UserControl&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Sample can be downloaded from &lt;a href="http://joymon.googlepages.com/Silverlight_MergedRD.zip"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603776122273127789-8985231383976432437?l=silverlightedweb.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/N6ByGWSvwGyof8u4CLIUfSLTTms/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/N6ByGWSvwGyof8u4CLIUfSLTTms/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/N6ByGWSvwGyof8u4CLIUfSLTTms/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/N6ByGWSvwGyof8u4CLIUfSLTTms/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/silverlightedweb/~4/dNqwt5QG2Qc" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/silverlightedweb/~3/dNqwt5QG2Qc/silverlight-3-beta-merged-resource.html</link><author>joymon@gmail.com (Joymon | ജോയ് മോന്‍ | जोय मोन | ஜோய் மோன்)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://silverlightedweb.blogspot.com/2009/03/silverlight-3-beta-merged-resource.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8603776122273127789.post-1423816484207453380</guid><pubDate>Wed, 25 Mar 2009 04:22:00 +0000</pubDate><atom:updated>2009-03-25T09:52:00.295+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">IntelliSense</category><category domain="http://www.blogger.com/atom/ns#">Blend 3</category><category domain="http://www.blogger.com/atom/ns#">Expression Blend</category><title>New features in Expression Blend 3 Part 1</title><description>&lt;p&gt;Blend 3 has got so many new features.But here I am going to tell some small easy to explain nice features.&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Importing from Adobe Illustrator to Blend(*.ai files) &lt;/li&gt;    &lt;li&gt;Importing from Adobe Photoshop to Blend (*.psd files) &lt;/li&gt;    &lt;li&gt;Pinning support for Toolbox Windows like VisualStudio &lt;/li&gt;    &lt;li&gt;FontManager &lt;/li&gt;    &lt;li&gt;Auto-naming of interactive elements. &lt;/li&gt;    &lt;li&gt;IntelliSense in XAML as well as in CS. &lt;/li&gt;    &lt;li&gt;Annotation support. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Importing Adode files : &lt;/u&gt;&lt;/strong&gt;These are just facilities to import vector based .ai files from the Adobe illustrator and psd files from PhotoShop.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Pinning support for ToolBox Windows :&lt;/u&gt;&lt;/strong&gt; Now the toolboxes are same as of Visual studio toolboxes.If we don’t want some toolboxes we can pin them to the respective sides of the window.Pin button is placed same like in the Visual studio(at top right).&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Font Manager : &lt;/u&gt;&lt;/strong&gt;Font manager allows us to import fonts and add to our solution.Later we can pack these fonts with our application.&lt;/p&gt;  &lt;p&gt;Tools-&amp;gt;FontManager&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Auto naming interactive elements :&lt;/u&gt;&lt;/strong&gt; This gives name to the interactive elements like Button,Textbox etc.Note that this won’t name the Grid,StackPanel etc..&lt;/p&gt;  &lt;p&gt;Tools-&amp;gt;Name Interactive Elements&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;IntelliSense in XAML as well as in CS : &lt;/u&gt;&lt;/strong&gt;It has got IntelliSense support for both XAML and C-Sharp.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://joymon.googlepages.com/blend_xamlIntelli.jpg" /&gt; &lt;/p&gt;  &lt;p&gt;&lt;img src="http://joymon.googlepages.com/blend_csIntelli.JPG" /&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Annotation support : &lt;/u&gt;&lt;/strong&gt;Now we can add annotations over the design area of Expression Blend.They are very much useful in describing nature and purpose of visual elements.From my first experiments it seems ,WPF only supports this feature.&lt;/p&gt;  &lt;p&gt;Tools-&amp;gt;Create Annotation&lt;/p&gt;  &lt;p&gt;&lt;img src="http://joymon.googlepages.com/Blend_Annotation.JPG" /&gt; &lt;/p&gt;  &lt;p&gt;There are some more new features such as Sample data which help us to show sample data in design time.That will be discussed soon…&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603776122273127789-1423816484207453380?l=silverlightedweb.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/yxiY-N3PD1LTVUzMvE6cqaNAfZo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/yxiY-N3PD1LTVUzMvE6cqaNAfZo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/yxiY-N3PD1LTVUzMvE6cqaNAfZo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/yxiY-N3PD1LTVUzMvE6cqaNAfZo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/silverlightedweb/~4/8c4PRZPtGuA" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/silverlightedweb/~3/8c4PRZPtGuA/new-features-in-expression-blend-3-part.html</link><author>joymon@gmail.com (Joymon | ജോയ് മോന്‍ | जोय मोन | ஜோய் மோன்)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://silverlightedweb.blogspot.com/2009/03/new-features-in-expression-blend-3-part.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8603776122273127789.post-6242661308072430043</guid><pubDate>Tue, 24 Mar 2009 11:21:00 +0000</pubDate><atom:updated>2009-03-24T16:51:00.651+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Silverlight 3</category><category domain="http://www.blogger.com/atom/ns#">Desklighter</category><title>Silverlight 3 Beta Offline or Out of Browser applications</title><description>&lt;p&gt;Now &lt;a href="http://www.microsoft.com/"&gt;Microsoft&lt;/a&gt; added support for Silverlight applications to run out of browser.Earlier it was accomplished by a tool called &lt;a href="http://www.blendables.com/labs/Desklighter/Default.aspx"&gt;Desklighter&lt;/a&gt; released by &lt;a href="http://www.identitymine.com"&gt;Identitymine&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Details on how to make a Silverlight 3 application offline is available &lt;a href="http://community.irritatedvowel.com/blogs/pete_browns_blog/archive/2009/03/18/Silverlight-3-_1320_-Taking-Silverlight-Out-of-the-Browser.aspx"&gt;here&lt;/a&gt; by Pete Brown.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Portability of offline Silverlight applications.&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;This post describes how can we make the Silverlight applications portable.ie how to copy offline Silverlight application from one system to another.&lt;/p&gt;  &lt;p&gt;Normally when we select the Install button on the silverlight context menu the system copies the required files (mainly .xap)into a cache folder locatable at&lt;/p&gt;  &lt;p&gt;[Drive]:\Users\[username]\AppData\LocalLow\Microsoft\Silverlight\Offline&lt;/p&gt;  &lt;p&gt;The folder name will be localhost.&amp;lt;serial no of offline app in the system&amp;gt; provided the Silverlight application which you saved is running in the localhost.&lt;/p&gt;  &lt;p&gt;For eg if you are creating your first offline application the folder name will be localhost.0.&lt;/p&gt;  &lt;p&gt;Once you locate this offline folder you can just copy that folder to the new machine.To run the application you need to copy the Shortcut file also which was created in the desktop or in the start menu.In case you don’t have the short cut file you may run by giving the following command in console.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;[Install drive]:\Program Files\Microsoft Silverlight\3.0.40307.0\sllauncher.exe&amp;quot; localhost.0&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;To run another offline application just change the number (here 0) at the end.&lt;/p&gt;  &lt;p&gt;NB: This post is written based on Silverlight 3 Beta.Things may change in actual release.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603776122273127789-6242661308072430043?l=silverlightedweb.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/qSgu3I2KHYKed4AjndDQPSkwTnI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qSgu3I2KHYKed4AjndDQPSkwTnI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/qSgu3I2KHYKed4AjndDQPSkwTnI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qSgu3I2KHYKed4AjndDQPSkwTnI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/silverlightedweb/~4/XiV_ImCUAv8" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/silverlightedweb/~3/XiV_ImCUAv8/silverlight-3-beta-offline-or-out-of.html</link><author>joymon@gmail.com (Joymon | ജോയ് മോന്‍ | जोय मोन | ஜோய் மோன்)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://silverlightedweb.blogspot.com/2009/03/silverlight-3-beta-offline-or-out-of.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8603776122273127789.post-7607089755342471303</guid><pubDate>Mon, 23 Mar 2009 04:03:00 +0000</pubDate><atom:updated>2009-03-31T15:06:09.212+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Pixel shaders</category><category domain="http://www.blogger.com/atom/ns#">Silverlight 3</category><title>Silverlight 3 Beta Pixel Shader Effects</title><description>This is another nice feature included in Silverlight 3.Pixel shaders are programs which operate at pixel level.ie all pixel values(value of A,R,G,B) are passed through the associated pixel shaders before displaying in the screen.Then the pixel shaders will do some calculations and change the pixel value.&lt;br /&gt;For example if we have applied a pixel shader called “Negative” to a StackPanel,then all pixels in the area of that StackPanel will go through Negative pixel shader and it Negate the pixel values by decrementing from 255(255-A,255-R,255-G,255-B).&lt;br /&gt;This is the basic idea of pixel shaders and the Silverlight 3 itself contains 2 Pixel shader effects as of now.They are DropShadow and Blur.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;u&gt;Applying pixel shader Effect&lt;/u&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Now the UIElement class in the Silverlight has got a new dependency property called &lt;strong&gt;Effect&lt;/strong&gt; which is the entry point to the pixel shaders.We can directly apply the Effect to this property.Since all the controls and visual elements are inherited from UIElement,they also have the pixel shader support.&lt;br /&gt;Applying DropShadow pixel shader effect through XAML to a Button&lt;br /&gt;&lt;div id="codeSnippetWrapper" style="BORDER-RIGHT: silver 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: silver 1px solid; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; MARGIN: 20px 0px 10px; OVERFLOW: auto; BORDER-LEFT: silver 1px solid; WIDTH: 97.5%; CURSOR: text; DIRECTION: ltr; MAX-HEIGHT: 200px; LINE-HEIGHT: 12pt; PADDING-TOP: 4px; BORDER-BOTTOM: silver 1px solid; BACKGROUND-: leftfont-family:'Courier New', courier, monospace;font-size:8pt;color:#f4f4f4;"   &gt;&lt;pre id="codeSnippet" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; DIRECTION: ltr; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none; BACKGROUND-: leftfont-family:'Courier New', courier, monospace;font-size:8pt;color:#f4f4f4;"   &gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;Button&lt;/span&gt; &lt;span style="color:red;"&gt;HorizontalAlignment&lt;/span&gt;&lt;span style="color:blue;"&gt;="Center"&lt;/span&gt; &lt;span style="color:red;"&gt;VerticalAlignment&lt;/span&gt;&lt;span style="color:blue;"&gt;="Center"&lt;/span&gt; &lt;span style="color:red;"&gt;Content&lt;/span&gt;&lt;span style="color:blue;"&gt;="Joy's Button"&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;            &lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;Button.Effect&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;                &lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;DropShadowEffect&lt;/span&gt; &lt;span style="color:red;"&gt;Color&lt;/span&gt;&lt;span style="color:blue;"&gt;="Black"&lt;/span&gt;                                  &lt;span style="color:red;"&gt;ShadowDepth&lt;/span&gt;&lt;span style="color:blue;"&gt;="5"&lt;/span&gt; &lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;            &lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;Button.Effect&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;Button&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;strong&gt;C# to Apply DropShadowEffect&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="codeSnippetWrapper" style="BORDER-RIGHT: silver 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: silver 1px solid; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; MARGIN: 20px 0px 10px; OVERFLOW: auto; BORDER-LEFT: silver 1px solid; WIDTH: 97.5%; CURSOR: text; DIRECTION: ltr; MAX-HEIGHT: 200px; LINE-HEIGHT: 12pt; PADDING-TOP: 4px; BORDER-BOTTOM: silver 1px solid; BACKGROUND-: left" color="#f4f4f4" size="8pt" face="'Courier New', courier, monospace"&gt;&lt;br /&gt;&lt;pre id="codeSnippet" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; DIRECTION: ltr; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none; BACKGROUND-: left" color="#f4f4f4" size="8pt" face="'Courier New', courier, monospace"&gt;private void Button_Click(object sender, RoutedEventArgs e){    btn.Effect = new DropShadowEffect() { Color=Colors.Black,ShadowDepth=5};}&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;strong&gt;&lt;u&gt;Grouping pixel shader effects&lt;/u&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The Silverlight 3 currently doesn’t support grouping of Effects.If we want to apply Blur effect and DropShadow effect to a Button we have to go for a workaround.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Wrap the control using a Border. &lt;/li&gt;&lt;li&gt;Apply the new effect to the border. &lt;/li&gt;&lt;/ul&gt;&lt;div id="codeSnippetWrapper" style="BORDER-RIGHT: silver 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: silver 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 8pt; PADDING-BOTTOM: 4px; MARGIN: 20px 0px 10px; OVERFLOW: auto; BORDER-LEFT: silver 1px solid; WIDTH: 97.5%; CURSOR: text; DIRECTION: ltr; MAX-HEIGHT: 200px; LINE-HEIGHT: 12pt; PADDING-TOP: 4px; BORDER-BOTTOM: silver 1px solid; FONT-FAMILY: 'Courier New', courier, monospace; BACKGROUND-COLOR: #f4f4f4; TEXT-ALIGN: left"&gt;&lt;br /&gt;&lt;pre id="codeSnippet" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; DIRECTION: ltr; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; TEXT-ALIGN: left; BORDER-BOTTOM-STYLE: none"&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;Border&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;            &lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;Button&lt;/span&gt; &lt;span style="color:red;"&gt;HorizontalAlignment&lt;/span&gt;&lt;span style="color:blue;"&gt;="Center"&lt;/span&gt;                    &lt;span style="color:red;"&gt;VerticalAlignment&lt;/span&gt;&lt;span style="color:blue;"&gt;="Center"&lt;/span&gt;                    &lt;span style="color:red;"&gt;Content&lt;/span&gt;&lt;span style="color:blue;"&gt;="Joy's Button"&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;                &lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;Button.Effect&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;                    &lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;DropShadowEffect&lt;/span&gt; &lt;span style="color:red;"&gt;Color&lt;/span&gt;&lt;span style="color:blue;"&gt;="Black"&lt;/span&gt;                                      &lt;span style="color:red;"&gt;ShadowDepth&lt;/span&gt;&lt;span style="color:blue;"&gt;="5"&lt;/span&gt; &lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;                &lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;Button.Effect&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;            &lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;Button&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;            &lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;Border.Effect&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;                &lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;BlurEffect&lt;/span&gt; &lt;span style="color:red;"&gt;Radius&lt;/span&gt;&lt;span style="color:blue;"&gt;="5"&lt;/span&gt; &lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;            &lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;Border.Effect&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;Border&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Blur effect has been applied to the Border in order to get more than one effect on the Button.Writing custom pixel shader effects will be &lt;a href="http://joyfulwpf.blogspot.com/2009/03/writing-custom-pixel-shader-effects.html"&gt;discussed later&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603776122273127789-7607089755342471303?l=silverlightedweb.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/0BeAzYS13_bvV3RNktX14ELFGJY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0BeAzYS13_bvV3RNktX14ELFGJY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/0BeAzYS13_bvV3RNktX14ELFGJY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0BeAzYS13_bvV3RNktX14ELFGJY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/silverlightedweb/~4/hy0ZuCDxTc0" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/silverlightedweb/~3/hy0ZuCDxTc0/silverlight-3-beta-pixel-shader-effects.html</link><author>joymon@gmail.com (Joymon | ജോയ് മോന്‍ | जोय मोन | ஜோய் மோன்)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://silverlightedweb.blogspot.com/2009/03/silverlight-3-beta-pixel-shader-effects.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8603776122273127789.post-1133046433294323136</guid><pubDate>Fri, 20 Mar 2009 07:40:00 +0000</pubDate><atom:updated>2009-03-23T17:27:59.246+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Silverlight 3</category><title>Silverlight 3 Beta ElementToElement Binding</title><description>&lt;p&gt;Finally it is released with developer license and available for download &lt;a href="http://silverlight.net/getstarted/silverlight3/default.aspx"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;It has got so &lt;a href="http://download.microsoft.com/download/3/0/5/3055A230-B06F-4A58-AC93-B7CFD2184A70/FirstLookSL3Moroney.pdf"&gt;many features&lt;/a&gt;.Among them the Element to Element Binding got my attention first.That is the feature which I was waiting from the beginning as I came from WPF background.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;What is Element to Element Binding&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;It is nothing but binding one element’s property to other element’s property.If the properties are of different type we need to employee a converter.&lt;/p&gt;  &lt;div id="codeSnippetWrapper" style="border-right: silver 1px solid; padding-right: 4px; border-top: silver 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: silver 1px solid; width: 97.5%; cursor: text; direction: ltr; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: silver 1px solid; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; background-color: #f4f4f4; text-align: left"&gt;   &lt;div id="codeSnippet" style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;     &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum1" style="color: #606060"&gt;   1:&lt;/span&gt; &amp;lt;StackPanel&amp;gt;&lt;/pre&gt;&lt;br /&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum2" style="color: #606060"&gt;   2:&lt;/span&gt;             &amp;lt;Slider x:Name=&lt;span style="color: #006080"&gt;&amp;quot;sldr&amp;quot;&lt;/span&gt; /&amp;gt;&lt;/pre&gt;&lt;br /&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum3" style="color: #606060"&gt;   3:&lt;/span&gt;             &amp;lt;TextBox Text=&lt;span style="color: #006080"&gt;&amp;quot;{Binding ElementName=sldr,Path=Value,Mode=TwoWay}&amp;quot;&lt;/span&gt;  /&amp;gt;&lt;/pre&gt;&lt;br /&gt;    &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span id="lnum4" style="color: #606060"&gt;   4:&lt;/span&gt;&amp;lt;/StackPanel&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;Here the Slider is the source and the TextBox is the destination.Whenever the Slider changes the TextBox will get slider’s value and vice versa.&lt;br/&gt;If there is no mode specification the binding will be one way hence the TextBox will get updated as per Slider.But slider will not update as per TextBox.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603776122273127789-1133046433294323136?l=silverlightedweb.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/QJe7t2KaNSgtNmu8ZrFSjOOR1yQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/QJe7t2KaNSgtNmu8ZrFSjOOR1yQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/QJe7t2KaNSgtNmu8ZrFSjOOR1yQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/QJe7t2KaNSgtNmu8ZrFSjOOR1yQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/silverlightedweb/~4/EBI2E7AXZes" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/silverlightedweb/~3/EBI2E7AXZes/silverlight-3-beta-elementtoelement.html</link><author>joymon@gmail.com (Joymon | ജോയ് മോന്‍ | जोय मोन | ஜோய் மோன்)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://silverlightedweb.blogspot.com/2009/03/silverlight-3-beta-elementtoelement.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8603776122273127789.post-2599331748289620381</guid><pubDate>Thu, 12 Feb 2009 05:08:00 +0000</pubDate><atom:updated>2009-02-12T10:48:41.969+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Linux</category><category domain="http://www.blogger.com/atom/ns#">Moonlight</category><title>Moonlight for Linux released</title><description>Moonlight is an open source Silverlight implementation in Linux.Now it support the features of Silverlight 1.0.It is available in 32 bits as well as 64 bits.&lt;br /&gt;&lt;a href="http://www.mono-project.com/Moonlight"&gt;http://www.mono-project.com/Moonlight&lt;/a&gt;&lt;br /&gt;Download it from the below link.Its just 0.9MB&lt;br /&gt;&lt;a href="http://www.go-mono.com/moonlight/"&gt;http://www.go-mono.com/moonlight/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603776122273127789-2599331748289620381?l=silverlightedweb.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/GkPvy6rXaqwOleBw3_LufyXOgDE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GkPvy6rXaqwOleBw3_LufyXOgDE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/GkPvy6rXaqwOleBw3_LufyXOgDE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GkPvy6rXaqwOleBw3_LufyXOgDE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/silverlightedweb/~4/p82GYJFJvZk" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/silverlightedweb/~3/p82GYJFJvZk/moonlight-for-linux-releases.html</link><author>joymon@gmail.com (Joymon | ജോയ് മോന്‍ | जोय मोन | ஜோய் மோன்)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://silverlightedweb.blogspot.com/2009/02/moonlight-for-linux-releases.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8603776122273127789.post-891607859757144843</guid><pubDate>Wed, 11 Feb 2009 04:55:00 +0000</pubDate><atom:updated>2009-02-12T15:54:37.521+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">ASP.Net MVC</category><title>Using Silverlight as View in ASP.Net MVC</title><description>Tim explains how we can use Silverlight as View in an ASP.Net MVC application.&lt;br /&gt;&lt;a href="http://timheuer.com/blog/archive/2009/02/09/silverlight-as-a-view-in-aspnet-mvc.aspx"&gt;http://timheuer.com/blog/archive/2009/02/09/silverlight-as-a-view-in-aspnet-mvc.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603776122273127789-891607859757144843?l=silverlightedweb.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/QonceKVSSyk3slJXLoIXGmQkSVo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/QonceKVSSyk3slJXLoIXGmQkSVo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/QonceKVSSyk3slJXLoIXGmQkSVo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/QonceKVSSyk3slJXLoIXGmQkSVo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/silverlightedweb/~4/I4Ztnqe5du0" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/silverlightedweb/~3/I4Ztnqe5du0/using-silverlight-as-view-in-aspnet-mvc.html</link><author>joymon@gmail.com (Joymon | ജോയ് മോന്‍ | जोय मोन | ஜோய் மோன்)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://silverlightedweb.blogspot.com/2009/02/using-silverlight-as-view-in-aspnet-mvc.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8603776122273127789.post-2018011199686802159</guid><pubDate>Fri, 06 Feb 2009 04:52:00 +0000</pubDate><atom:updated>2009-02-06T10:25:39.655+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Application</category><title>Online C# Compiler in Silverlight</title><description>Great thought.&lt;br /&gt;It helps to learn C# without installing the C# compiler in your machine.&lt;br /&gt;&lt;a href="http://nokola.com/TryCSharp/"&gt;http://nokola.com/TryCSharp/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603776122273127789-2018011199686802159?l=silverlightedweb.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ryPBKNU_FiVOtpueQRsGKAzhGzY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ryPBKNU_FiVOtpueQRsGKAzhGzY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ryPBKNU_FiVOtpueQRsGKAzhGzY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ryPBKNU_FiVOtpueQRsGKAzhGzY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/silverlightedweb/~4/VfgtHQpKIz4" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/silverlightedweb/~3/VfgtHQpKIz4/online-c-compiler-in-silverlight.html</link><author>joymon@gmail.com (Joymon | ജോയ് മോന്‍ | जोय मोन | ஜோய் மோன்)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://silverlightedweb.blogspot.com/2009/02/online-c-compiler-in-silverlight.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8603776122273127789.post-3965572032481504191</guid><pubDate>Wed, 21 Jan 2009 12:58:00 +0000</pubDate><atom:updated>2009-05-26T12:24:38.613+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">JSON</category><category domain="http://www.blogger.com/atom/ns#">SilverLight 2.0</category><title>Working with JSON using DataContractJsonSerializer class</title><description>&lt;p&gt;This class &lt;a href="http://msdn.microsoft.com/en-us/library/system.runtime.serialization.json.datacontractjsonserializer.aspx"&gt;DataContractJsonSerializer&lt;/a&gt; is available in the assembly &lt;strong&gt;System.ServiceModel.Web.dll&lt;/strong&gt;.Add a reference to this in your project.&lt;br/&gt; This is the data class which we are going to serialize ie converting from object to JSON format.&lt;/p&gt; &lt;div id="codeSnippetWrapper" style="border-right: silver 1px solid; padding-right: 4px; border-top: silver 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: silver 1px solid; width: 97.5%; cursor: text; direction: ltr; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: silver 1px solid; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; background-color: #f4f4f4; text-align: left"&gt;   &lt;pre id="codeSnippet" style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; Employee   &lt;br /&gt;{       &lt;br /&gt;    &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; Name { get; set; }       &lt;br /&gt;    &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; Designation { get; set; }   &lt;br /&gt;}&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;div id="codeSnippetWrapper" style="border-right: silver 1px solid; padding-right: 4px; border-top: silver 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: silver 1px solid; width: 97.5%; cursor: text; direction: ltr; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: silver 1px solid; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; background-color: #f4f4f4; text-align: left"&gt;&lt;br /&gt;  &lt;pre id="codeSnippet" style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none"&gt;&lt;span style="color: #0000ff"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; btn_Click(&lt;span style="color: #0000ff"&gt;object&lt;/span&gt; sender, RoutedEventArgs e)        &lt;br /&gt;{            &lt;br /&gt;    Employee emp=&lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Employee(){ Name=&lt;span style="color: #006080"&gt;&amp;quot;Joy&amp;quot;&lt;/span&gt;,Designation=&lt;span style="color: #006080"&gt;&amp;quot;Sr soft engg&amp;quot;&lt;/span&gt;};            &lt;br /&gt;    DataContractJsonSerializer ser = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; DataContractJsonSerializer(&lt;span style="color: #0000ff"&gt;typeof&lt;/span&gt;(Employee));            &lt;br /&gt;    MemoryStream stream=&lt;span style="color: #0000ff"&gt;new&lt;/span&gt; MemoryStream();            &lt;br /&gt;    StreamReader sr = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; StreamReader(stream);            &lt;br /&gt;    ser.WriteObject(stream, emp);            &lt;br /&gt;    sr.BaseStream.Position = 0;            &lt;br /&gt;    &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; s= sr.ReadToEnd();            &lt;br /&gt;    MessageBox.Show(s);                    &lt;br /&gt;}&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;Deserializing ie converting from JSON to object can be done using the method ser.&lt;a href="http://msdn.microsoft.com/en-us/library/system.runtime.serialization.json.datacontractjsonserializer.readobject.aspx"&gt;ReadObject&lt;/a&gt;()  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603776122273127789-3965572032481504191?l=silverlightedweb.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/LPJw7CQxRUNXZI_yVyjPg1Nzs7c/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LPJw7CQxRUNXZI_yVyjPg1Nzs7c/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/LPJw7CQxRUNXZI_yVyjPg1Nzs7c/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LPJw7CQxRUNXZI_yVyjPg1Nzs7c/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/silverlightedweb/~4/RFZZaGjG4m4" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/silverlightedweb/~3/RFZZaGjG4m4/working-with-json-using.html</link><author>joymon@gmail.com (Joymon | ജോയ് മോന്‍ | जोय मोन | ஜோய் மோன்)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://silverlightedweb.blogspot.com/2009/01/working-with-json-using.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8603776122273127789.post-5302129050884137740</guid><pubDate>Fri, 09 Jan 2009 08:30:00 +0000</pubDate><atom:updated>2009-01-09T14:04:45.440+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">SilverLight 2.0</category><category domain="http://www.blogger.com/atom/ns#">Controls</category><title>Download source code of Silverlight 2 runtime and controls</title><description>&lt;p&gt;&lt;a title="http://www.microsoft.com/downloads/details.aspx?FamilyID=EB83ED4C-AC85-4DE9-8395-285628EE2254&amp;amp;displaylang=en" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=EB83ED4C-AC85-4DE9-8395-285628EE2254&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=EB83ED4C-AC85-4DE9-8395-285628EE2254&amp;amp;displaylang=en&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Reduce your time on .net &lt;a href="http://www.red-gate.com/products/reflector/"&gt;reflector&lt;/a&gt;...&lt;/p&gt;  &lt;p&gt;Happy Coding..&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8603776122273127789-5302129050884137740?l=silverlightedweb.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/i9_XzgLvWXKRQjUWgqOlQZcMbtU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/i9_XzgLvWXKRQjUWgqOlQZcMbtU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/i9_XzgLvWXKRQjUWgqOlQZcMbtU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/i9_XzgLvWXKRQjUWgqOlQZcMbtU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/silverlightedweb/~4/pHh3MXBum_A" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/silverlightedweb/~3/pHh3MXBum_A/download-source-code-of-silverlight-2.html</link><author>joymon@gmail.com (Joymon | ജോയ് മോന്‍ | जोय मोन | ஜோய் மோன்)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://silverlightedweb.blogspot.com/2009/01/download-source-code-of-silverlight-2.html</feedburner:origLink></item></channel></rss>
