<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Vinod Sardar &#124; Technology</title>
	<atom:link href="http://vinodsardar.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://vinodsardar.wordpress.com</link>
	<description>Including WPF,WCF,Silverlight,CAB,C#,.NET ..... etc</description>
	<lastBuildDate>Wed, 19 Jan 2011 05:57:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='vinodsardar.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://1.gravatar.com/blavatar/7f6b749d1b452f812b683cabbb9fb0d0?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>Vinod Sardar &#124; Technology</title>
		<link>http://vinodsardar.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://vinodsardar.wordpress.com/osd.xml" title="Vinod Sardar &#124; Technology" />
	<atom:link rel='hub' href='http://vinodsardar.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Failed to access IIS metabase ASP.NET</title>
		<link>http://vinodsardar.wordpress.com/2011/01/19/failed-to-access-iis-metabase-asp-net/</link>
		<comments>http://vinodsardar.wordpress.com/2011/01/19/failed-to-access-iis-metabase-asp-net/#comments</comments>
		<pubDate>Wed, 19 Jan 2011 05:55:54 +0000</pubDate>
		<dc:creator>vinodsardar</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[IIS Metadata]]></category>

		<guid isPermaLink="false">http://vinodsardar.wordpress.com/?p=155</guid>
		<description><![CDATA[We see this problem- &#8220;Failed to access IIS metabase ASP.NET&#8221; when IIS is installed after installation of the visual studio. Simple two step to resolve this issue 1.       Open Visual Studio command prompt   2.       Then following commands (as shown in the below screenshot)                          aspnet_regiis –i                         iisreset.exe                        <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinodsardar.wordpress.com&amp;blog=8879170&amp;post=155&amp;subd=vinodsardar&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><span style="font-size:small;"><span style="font-family:Calibri;">We see this problem- &#8220;Failed to access IIS metabase ASP.NET&#8221; when IIS is installed after installation of the visual studio.</span></span></p>
<p><span style="font-size:small;"><span style="font-family:Calibri;">Simple two step to resolve this issue</span></span></p>
<p><span style="font-family:Calibri;font-size:small;">1.</span>       <span style="font-size:small;"><span style="font-family:Calibri;">Open Visual Studio command prompt</span></span></p>
<p><span style="font-family:Calibri;font-size:small;"> <a href="http://vinodsardar.files.wordpress.com/2011/01/cmdpromptvs.png"><img class="aligncenter size-full wp-image-156" title="cmdpromptvs" src="http://vinodsardar.files.wordpress.com/2011/01/cmdpromptvs.png?w=540&#038;h=176" alt="" width="540" height="176" /></a></span></p>
<p><span style="font-family:Calibri;font-size:small;">2.</span>       <span style="font-size:small;"><span style="font-family:Calibri;">Then following commands (as shown in the below screenshot)</span></span></p>
<p><strong><span style="font-size:small;"><span style="font-family:Calibri;">                         aspnet_regiis –i</span></span></strong></p>
<p><strong><span style="font-size:small;"><span style="font-family:Calibri;">                        iisreset.exe</span></span></strong></p>
<p><strong><span style="font-size:small;"><span style="font-family:Calibri;">                        <a href="http://vinodsardar.files.wordpress.com/2011/01/cmdprompt.png"><img class="aligncenter size-full wp-image-157" title="cmdprompt" src="http://vinodsardar.files.wordpress.com/2011/01/cmdprompt.png?w=540&#038;h=113" alt="" width="540" height="113" /></a></span></span></strong></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vinodsardar.wordpress.com/155/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vinodsardar.wordpress.com/155/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vinodsardar.wordpress.com/155/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vinodsardar.wordpress.com/155/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vinodsardar.wordpress.com/155/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vinodsardar.wordpress.com/155/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vinodsardar.wordpress.com/155/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vinodsardar.wordpress.com/155/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vinodsardar.wordpress.com/155/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vinodsardar.wordpress.com/155/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vinodsardar.wordpress.com/155/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vinodsardar.wordpress.com/155/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vinodsardar.wordpress.com/155/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vinodsardar.wordpress.com/155/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinodsardar.wordpress.com&amp;blog=8879170&amp;post=155&amp;subd=vinodsardar&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vinodsardar.wordpress.com/2011/01/19/failed-to-access-iis-metabase-asp-net/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6d2e4cf5c599693fb5a252b5bbc9fad4?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">vinodsardar</media:title>
		</media:content>

		<media:content url="http://vinodsardar.files.wordpress.com/2011/01/cmdpromptvs.png" medium="image">
			<media:title type="html">cmdpromptvs</media:title>
		</media:content>

		<media:content url="http://vinodsardar.files.wordpress.com/2011/01/cmdprompt.png" medium="image">
			<media:title type="html">cmdprompt</media:title>
		</media:content>
	</item>
		<item>
		<title>Validations in Silverlight using Data Annotation APIs</title>
		<link>http://vinodsardar.wordpress.com/2010/12/17/validations-in-silverlight-using-data-annotation-apis/</link>
		<comments>http://vinodsardar.wordpress.com/2010/12/17/validations-in-silverlight-using-data-annotation-apis/#comments</comments>
		<pubDate>Fri, 17 Dec 2010 11:42:25 +0000</pubDate>
		<dc:creator>vinodsardar</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Silverlight]]></category>

		<guid isPermaLink="false">http://vinodsardar.wordpress.com/?p=140</guid>
		<description><![CDATA[ Validations in Silverlight using Data Annotation APIs  Validation is very important when designing the business applications. Silverlight provides a validation framework for validating the properties/data of the class. It is using annotation. Silverlight has different annotation to validate the property. DLL:  System.componentModel.DataAnnotation Annotation attributes [Range] : We can add range on the values of data. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinodsardar.wordpress.com&amp;blog=8879170&amp;post=140&amp;subd=vinodsardar&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p> <span style="color:#ff00ff;"><strong>Validations in Silverlight using Data Annotation APIs</strong><strong> </strong></span></p>
<p>Validation is very important when designing the business applications. Silverlight provides a validation framework for validating the properties/data of the class. It is using annotation. Silverlight has different annotation to validate the property.</p>
<p>DLL:  System.componentModel.DataAnnotation</p>
<p><span style="color:#ff00ff;"><strong>Annotation attributes</strong></span></p>
<p><span style="color:#ff00ff;"><strong>[Range] : We can add range on the values of data. For example:</strong></span></p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="616" valign="top">[Range(0, 5000)]    public int ProductID { get; set; }</p>
<p><strong> </strong></td>
</tr>
</tbody>
</table>
<p><span style="color:#ff00ff;">  <strong>[Required] : We can mention if the data can be null or not.</strong></span></p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="616" valign="top">[Required]    public string ProductName { get; set; }</p>
<p><strong> </strong></td>
</tr>
</tbody>
</table>
<p><span style="color:#ff00ff;"><strong> </strong><strong>[RegularExpression] : We can set the pattern for the data. For example.</strong></span></p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="616" valign="top">[RegularExpression(@"^[a-zA-Z''-'\s]{1,40}$&#8221;, ErrorMessage =            &#8220;Numbers and special characters are not allowed in the name.&#8221;)]</p>
<p>        public string FirstName</p>
<p>        {</p>
<p>            get { return m_FirstName; }</p>
<p>            set</p>
<p>            {      </p>
<p><strong>Validator.ValidateProperty(value, </strong></p>
<p><strong>                    </strong><strong>new</strong><strong> ValidationContext(</strong><strong>this</strong><strong>, </strong><strong>null</strong><strong>, </strong><strong>null</strong><strong>) { MemberName = </strong><strong>&#8220;</strong> FirstName<strong> &#8220;</strong><strong> });</strong><strong> </strong></p>
<p>                m_FirstName = value;</p>
<p>            }</p>
<p>        }</p>
<p><strong> </strong></td>
</tr>
</tbody>
</table>
<p><span style="color:#ff00ff;"><strong> </strong><strong>[StringLength]: We can set the length for the string data. Min/Max etc.</strong></span></p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="616" valign="top">[StringLength(8, MinimumLength = 3, ErrorMessage =            "Last name must be between 3 and 8 characters long.")]</p>
<p>        public string LastName</p>
<p>        {</p>
<p>            get { return m_LastName; }</p>
<p>            set</p>
<p>            {</p>
<p><strong>       <span style="color:#ff00ff;">  Validator.ValidateProperty(value, </span></strong></p>
<p><span style="color:#ff00ff;"><strong>                    </strong><strong>new</strong><strong> ValidationContext(</strong><strong>this</strong><strong>, </strong><strong>null</strong><strong>, </strong><strong>null</strong><strong>) { MemberName = </strong><strong>&#8220;LastName&#8221;</strong><strong> });</strong><strong> </strong></span></p>
<p>                m_LastName = value;</p>
<p>            }</p>
<p>        }</p>
<p><strong> </strong></td>
</tr>
</tbody>
</table>
<p><strong>And many more….</strong></p>
<p><strong>Add inside XAML we should do following:</strong></p>
<ol>
<li><strong> </strong><strong>Binding Mode  should be TwoWay.</strong></li>
<li><strong> </strong><strong>We should set  </strong>ValidatesOnExceptions=true and<strong> </strong></li>
<li><strong>  </strong><strong>We should set  </strong>NotifyOnValidationError=true.<strong> </strong></li>
</ol>
<p><strong> </strong><span style="color:#ff00ff;"><strong>For Example:</strong></span></p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="616" valign="top">&lt;TextBox x:Name=&#8221;tbIdNumber&#8221; Height=&#8221;23&#8243; Width=&#8221;100&#8243; Text=&#8221;{Binding IdNumber, Mode=TwoWay,ValidatesOnExceptions=true, NotifyOnValidationError=true}&#8221; /&gt;<strong> </strong></td>
</tr>
</tbody>
</table>
<p><span style="color:#ff00ff;"><strong> </strong><strong>Let’s Take an Example for above scenario:</strong></span></p>
<p>Consider we have a class called Voter and we have following constraints Name should not be more than 20 characters, Name and Age should be provided. Age should be more than 18.</p>
<p><span style="color:#ff00ff;"><strong>Steps:</strong></span></p>
<ol>
<li>Add reference to “System.componentModel.DataAnnotation”</li>
<li>Define a Voter class.</li>
<li>Add Attributes on the properties as shown in the Voter class.</li>
</ol>
<p>.cs file</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="616" valign="top">public class Voter : INotifyPropertyChanged    {</p>
<p>        private string _name;</p>
<p>        private int _age;</p>
<p>        [Required]</p>
<p>        [StringLength(20,ErrorMessage="Name length should not be more than 20.")]</p>
<p>        public string Name</p>
<p>        {</p>
<p>            get { return _name;}</p>
<p>            set {</p>
<p>                <span style="color:#ff00ff;">Validator.ValidateProperty(value,</span></p>
<p><span style="color:#ff00ff;">                       new </span>ValidationContext(this, null, null) { MemberName = &#8220;Name&#8221; });</p>
<p>                _name=value;</p>
<p>            OnPropertyChanged(&#8220;Name&#8221;);</p>
<p>            }</p>
<p>        }</p>
<p>        [Required]</p>
<p>        [Range(19,150)]</p>
<p>        public int Age</p>
<p>        {</p>
<p>            get { return _age; }</p>
<p>            set</p>
<p>            {</p>
<p>                Validator.ValidateProperty(value,</p>
<p>                          new ValidationContext(this, null, null) { MemberName = &#8220;Age&#8221; });</p>
<p>                _age = value;</p>
<p>                OnPropertyChanged(&#8220;Age&#8221;);</p>
<p>            }</p>
<p>        }</p>
<p>        #region INotifyPropertyChanged Members</p>
<p>        public event PropertyChangedEventHandler PropertyChanged;</p>
<p>        private void OnPropertyChanged(string propertyName)</p>
<p>        {</p>
<p>            if (PropertyChanged != null)</p>
<p>            {</p>
<p>                PropertyChanged(this, new PropertyChangedEventArgs(propertyName));</p>
<p>            }</p>
<p>        }</p>
<p>        #endregion</p>
<p>    }</td>
</tr>
</tbody>
</table>
<p> </p>
<ol>
<li>Add XAML Content</li>
<li>Add Two Way Binding, Add set ValidatesOnExceptions=true,NotifyOnValidationError=True.</li>
</ol>
<p><span style="color:#ff00ff;">XAML:</span></p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="616" valign="top">&lt;UserControl x:Class=&#8221;Fir.Nomura.PortfolioAnalysis.Voter&#8221;    xmlns=&#8221;http://schemas.microsoft.com/winfx/2006/xaml/presentation&#8221;</p>
<p>    xmlns:x=&#8221;http://schemas.microsoft.com/winfx/2006/xaml&#8221;</p>
<p>    xmlns:BO=&#8221;clr-namespace:Fir.Nomura.PortfolioAnalysis.Business_Object&#8221;</p>
<p>             Width=&#8221;400&#8243;</p>
<p>             Height=&#8221;400&#8243;</p>
<p>    &gt;</p>
<p>    &lt;UserControl.Resources&gt;</p>
<p>        &lt;BO:Voter x:Name=&#8221;voterObj&#8221;</p>
<p>                  /&gt;</p>
<p>    &lt;/UserControl.Resources&gt;</p>
<p>    &lt;Grid x:Name=&#8221;LayoutRoot&#8221; Background=&#8221;White&#8221;</p>
<p>          DataContext=&#8221;{StaticResource voterObj}&#8221;</p>
<p>          &gt;</p>
<p>        &lt;Grid.ColumnDefinitions&gt;</p>
<p>            &lt;ColumnDefinition Width=&#8221;*&#8221;/&gt;</p>
<p>            &lt;ColumnDefinition Width=&#8221;*&#8221;/&gt;</p>
<p>        &lt;/Grid.ColumnDefinitions&gt;</p>
<p>        &lt;Grid.RowDefinitions&gt;</p>
<p>            &lt;RowDefinition Height=&#8221;Auto&#8221;/&gt;</p>
<p>            &lt;RowDefinition Height=&#8221;Auto&#8221;/&gt;</p>
<p>        &lt;/Grid.RowDefinitions&gt;</p>
<p>        &lt;TextBlock Text=&#8221;Name&#8221; Grid.Column=&#8221;0&#8243; Grid.Row=&#8221;0&#8243;/&gt;</p>
<p>        &lt;TextBox Text=&#8221;{Binding Name,Mode=TwoWay,ValidatesOnExceptions=true,NotifyOnValidationError=True}&#8221;</p>
<p>                 Grid.Row=&#8221;0&#8243;</p>
<p>                 Grid.Column=&#8221;1&#8243;</p>
<p>                 /&gt;</p>
<p>        &lt;TextBlock Text=&#8221;Age&#8221; Grid.Column=&#8221;0&#8243; Grid.Row=&#8221;1&#8243;/&gt;</p>
<p>        &lt;TextBox Text=&#8221;{Binding Age,Mode=TwoWay,ValidatesOnExceptions=true,NotifyOnValidationError=True}&#8221;</p>
<p>                 Grid.Row=&#8221;1&#8243;</p>
<p>                 Grid.Column=&#8221;1&#8243;</p>
<p>                     /&gt;</p>
<p>    &lt;/Grid&gt;</p>
<p>&lt;/UserControl&gt;</td>
</tr>
</tbody>
</table>
<p> </p>
<p><span style="color:#ff00ff;"> Output Image:</span></p>
<p> <a href="http://vinodsardar.files.wordpress.com/2010/12/validationerror.png"><img class="aligncenter size-full wp-image-141" title="ValidationError" src="http://vinodsardar.files.wordpress.com/2010/12/validationerror.png?w=540" alt=""   /></a></p>
<p>Reference link:</p>
<p><a href="http://msdn.microsoft.com/en-us/library/dd901590(v=vs.95).aspx">http://msdn.microsoft.com/en-us/library/dd901590(v=vs.95).aspx</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vinodsardar.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vinodsardar.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vinodsardar.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vinodsardar.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vinodsardar.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vinodsardar.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vinodsardar.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vinodsardar.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vinodsardar.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vinodsardar.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vinodsardar.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vinodsardar.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vinodsardar.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vinodsardar.wordpress.com/140/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinodsardar.wordpress.com&amp;blog=8879170&amp;post=140&amp;subd=vinodsardar&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vinodsardar.wordpress.com/2010/12/17/validations-in-silverlight-using-data-annotation-apis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6d2e4cf5c599693fb5a252b5bbc9fad4?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">vinodsardar</media:title>
		</media:content>

		<media:content url="http://vinodsardar.files.wordpress.com/2010/12/validationerror.png" medium="image">
			<media:title type="html">ValidationError</media:title>
		</media:content>
	</item>
		<item>
		<title>Retrieving Element from Data Template in Silverlight</title>
		<link>http://vinodsardar.wordpress.com/2010/12/02/retrieving-element-from-data-template-in-silverlight/</link>
		<comments>http://vinodsardar.wordpress.com/2010/12/02/retrieving-element-from-data-template-in-silverlight/#comments</comments>
		<pubDate>Thu, 02 Dec 2010 09:13:22 +0000</pubDate>
		<dc:creator>vinodsardar</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Silverlight]]></category>

		<guid isPermaLink="false">http://vinodsardar.wordpress.com/?p=136</guid>
		<description><![CDATA[ Retrieving Element from Data Template in Silverlight XAML &#60;X:TileViewItem                                  x:Name=&#8221;MaturityBucketIssuanceVolumePanel&#8221;                                                                  &#62;                     &#60;X:TileViewItem.HeaderTemplate&#62;                         &#60;DataTemplate&#62;                             &#60;Grid x:Name=&#8221;MaturityDataTemplateGrid&#8221;&#62;                                 &#60;Grid.ColumnDefinitions&#62;                                     &#60;ColumnDefinition Width=&#8221;80*&#8221;/&#62;                                     &#60;ColumnDefinition Width=&#8221;20*&#8221;/&#62;                                 &#60;/Grid.ColumnDefinitions&#62;                                 &#60;TextBlock x:Name=&#8221;title&#8221;                                         Text=&#8221;{Binding}&#8221;                                         Grid.Column=&#8221;0&#8243;                                         FontFamily=&#8221;Verdana&#8221;                                         FontSize=&#8221;10&#8243;                                         FontWeight=&#8221;Bold&#8221;                                         Foreground=&#8221;#FF000000&#8243;                                         Margin=&#8221;5,2,0,0&#8243;                                              /&#62;                                 &#60;StackPanel Grid.Column=&#8221;1&#8243;                                         Orientation=&#8221;Horizontal&#8221;                                        [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinodsardar.wordpress.com&amp;blog=8879170&amp;post=136&amp;subd=vinodsardar&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p> <strong>Retrieving Element from Data Template in Silverlight</strong></p>
<p><strong>XAML</strong></p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="616" valign="top">&lt;X:TileViewItem                                  x:Name=&#8221;MaturityBucketIssuanceVolumePanel&#8221;                                </p>
<p>                                 &gt;</p>
<p>                    &lt;X:TileViewItem.HeaderTemplate&gt;</p>
<p>                        &lt;DataTemplate&gt;</p>
<p>                            &lt;Grid x:Name=&#8221;MaturityDataTemplateGrid&#8221;&gt;</p>
<p>                                &lt;Grid.ColumnDefinitions&gt;</p>
<p>                                    &lt;ColumnDefinition Width=&#8221;80*&#8221;/&gt;</p>
<p>                                    &lt;ColumnDefinition Width=&#8221;20*&#8221;/&gt;</p>
<p>                                &lt;/Grid.ColumnDefinitions&gt;</p>
<p>                                &lt;TextBlock x:Name=&#8221;title&#8221;</p>
<p>                                        Text=&#8221;{Binding}&#8221;</p>
<p>                                        Grid.Column=&#8221;0&#8243;</p>
<p>                                        FontFamily=&#8221;Verdana&#8221;</p>
<p>                                        FontSize=&#8221;10&#8243;</p>
<p>                                        FontWeight=&#8221;Bold&#8221;</p>
<p>                                        Foreground=&#8221;#FF000000&#8243;</p>
<p>                                        Margin=&#8221;5,2,0,0&#8243;</p>
<p>                                             /&gt;</p>
<p>                                &lt;StackPanel Grid.Column=&#8221;1&#8243;</p>
<p>                                        Orientation=&#8221;Horizontal&#8221;</p>
<p>                                        &gt;</p>
<p>                                    &lt;Button Content=&#8221;Select Maturity&#8221;</p>
<p>                                            x:Name=&#8221;btnSelectMaturity&#8221;</p>
<p>                                            Click=&#8221;btnSelectMaturity_Click&#8221;</p>
<p>                                            /&gt;</p>
<p>                                    &lt;Popup x:Name=&#8221;MaturityPopup&#8221;&gt;</p>
<p>                                        &lt;Border BorderBrush=&#8221;Black&#8221;</p>
<p>                                                BorderThickness=&#8221;1&#8243;                                               x:Name=&#8221;MaturityPopupBorder&#8221;                                                 Background=&#8221;WhiteSmoke&#8221;</p>
<p>                                                &gt;</p>
<p>                                        &lt;/Border&gt;</p>
<p>                                    &lt;/Popup&gt;</p>
<p>                                &lt;/StackPanel&gt;</p>
<p>                            &lt;/Grid&gt;</p>
<p>                        &lt;/DataTemplate&gt;</p>
<p>                    &lt;/X:TileViewItem.HeaderTemplate&gt;</p>
<p>                                    &lt;/X:TileViewItem&gt;<strong></strong></td>
</tr>
</tbody>
</table>
<p><strong> </strong></p>
<p><strong>Event – “</strong><strong>btnSelectMaturity_Click</strong><strong>”</strong></p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="616" valign="top">        private void btnSelectMaturity_Click(object sender, RoutedEventArgs e)</p>
<p>        {</p>
<p>            Button btnSectorSelector = sender as Button;</p>
<p>            Grid parentGrid = GetParentByName(btnSectorSelector, &#8220;MaturityDataTemplateGrid&#8221;) as Grid;</p>
<p>            if (parentGrid != null)</p>
<p>            {</p>
<p>                System.Windows.Controls.Primitives.Popup popUp = parentGrid.FindName(&#8220;MaturityPopup&#8221;) as System.Windows.Controls.Primitives.Popup;</p>
<p>                if (popUp != null)</p>
<p>                {</p>
<p>                    popUp.DataContext = MaturityVM;</p>
<p>                    popUp.VerticalOffset = 20;</p>
<p>                    popUp.HorizontalOffset = -150;</p>
<p>                    if (popUp.IsOpen)</p>
<p>                    {</p>
<p>                        popUp.IsOpen = false;</p>
<p>                    }</p>
<p>                    else</p>
<p>                    {</p>
<p>                        popUp.IsOpen = true;</p>
<p>                    }</p>
<p>                }</p>
<p>            }</p>
<p>        }<strong></strong></td>
</tr>
</tbody>
</table>
<p><strong> </strong></p>
<p><strong>Method – “</strong><strong>GetParentByName</strong><strong>”</strong></p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="616" valign="top">        private FrameworkElement GetParentByName(FrameworkElement element, string name)</p>
<p>        {</p>
<p>            FrameworkElement parent = VisualTreeHelper.GetParent(element) as FrameworkElement;</p>
<p>            if (parent != null)</p>
<p>            {</p>
<p>                if (parent.Name == name)</p>
<p>                {</p>
<p>                    return parent;</p>
<p>                }</p>
<p>                return GetParentByName(parent, name);</p>
<p>            }</p>
<p>            return null;</p>
<p>        }<strong></strong></td>
</tr>
</tbody>
</table>
<p><strong> </strong></p>
<p><strong>Explanation:</strong></p>
<p><strong>Steps:</strong></p>
<p>1.  Find the Root Element of the Grid using method –“GetParentByName”.</p>
<p>2.  Then find the required element using the root element using FindName method as described below:</p>
<p><em>parentGrid.FindName(&#8220;MaturityPopup&#8221;)</em><strong></strong></p>
<p><strong> </strong></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vinodsardar.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vinodsardar.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vinodsardar.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vinodsardar.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vinodsardar.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vinodsardar.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vinodsardar.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vinodsardar.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vinodsardar.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vinodsardar.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vinodsardar.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vinodsardar.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vinodsardar.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vinodsardar.wordpress.com/136/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinodsardar.wordpress.com&amp;blog=8879170&amp;post=136&amp;subd=vinodsardar&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vinodsardar.wordpress.com/2010/12/02/retrieving-element-from-data-template-in-silverlight/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6d2e4cf5c599693fb5a252b5bbc9fad4?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">vinodsardar</media:title>
		</media:content>
	</item>
		<item>
		<title>XML Serialization in C#</title>
		<link>http://vinodsardar.wordpress.com/2010/12/01/xml-serialization-in-c/</link>
		<comments>http://vinodsardar.wordpress.com/2010/12/01/xml-serialization-in-c/#comments</comments>
		<pubDate>Wed, 01 Dec 2010 12:56:54 +0000</pubDate>
		<dc:creator>vinodsardar</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://vinodsardar.wordpress.com/?p=125</guid>
		<description><![CDATA[ XML Serialization in C#  Class in .NET: XmlSerializer Assembly : using System.Xml;    using System.Xml.Serialization; Explanation: Serialization: Serialization is process where objects converted to persistent storage format (ex:  XML format). Deserialization is the reverse process. For XML Serialization by default all public members are serialize. We can use different decorators for specifying the position of [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinodsardar.wordpress.com&amp;blog=8879170&amp;post=125&amp;subd=vinodsardar&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p> <span style="color:#ff00ff;"><strong>XML Serialization in C#</strong></span></p>
<p> <span style="color:#ff00ff;">Class in .NET:</span> XmlSerializer</p>
<p><span style="color:#ff00ff;">Assembly :</span> using System.Xml;</p>
<p>   using System.Xml.Serialization;</p>
<p><span style="color:#ff00ff;">Explanation:</span></p>
<p><span style="color:#ff00ff;">Serialization:</span></p>
<p>Serialization is process where objects converted to persistent storage format (ex:  XML format). Deserialization is the reverse process.</p>
<p>For XML Serialization by default all public members are serialize. We can use different decorators for specifying the position of the member. We can use following decorators:</p>
<p>[<strong>XmlRoot</strong>] :  Add root element</p>
<p>[<strong>XmlElement</strong>] : Add Element under root element.</p>
<p>[<strong>XmlAttribute</strong>] : Add attribute for the root element.</p>
<p>[<strong>XmlIgnore</strong>] : Field decorated with XmlIgnore will not be serialize/deserialize.</p>
<p>[<strong>XmlArray</strong>]: add array in the XML. In below C# example “f-portfolios” will be added.</p>
<p>[<strong>XmlArrayItem</strong>]: add array in the XML. In below C# example “f-portfolio” will be added under “f-portfolios”.</p>
<p><span style="color:#ff00ff;">Advantages of XML Serializer:</span></p>
<ol>
<li>Can serialize generic/nongeneric.
<ol>
<li>No need to add [<em><strong>Serializable</strong></em>] decorator on the class. It is needed for the binary and soap serialization.</li>
</ol>
</li>
</ol>
<p> <span style="color:#ff00ff;">C# Program:</span></p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="616" valign="top">using System.Collections.Generic;using System.Linq;</p>
<p>using System.Text;</p>
<p>using System.Xml;</p>
<p>using System.Xml.Serialization;</p>
<p>using System.IO;</p>
<p>using System;</p>
<p>namespace XmlSerializationTest</p>
<p>{</p>
<p>    class Program</p>
<p>    {</p>
<p>        static void Main(string[] args)</p>
<p>        {</p>
<p>            PortfolioResponse portfolioResponse = new PortfolioResponse();</p>
<p>            portfolioResponse.Id = &#8220;1&#8243;;</p>
<p>            portfolioResponse.Status = &#8220;OK&#8221;;</p>
<p>            portfolioResponse.Error = string.Empty;</p>
<p>            portfolioResponse.PortfolioCollection = new List&lt;Portfolio&gt;();</p>
<p>            Portfolio p1 = new Portfolio();</p>
<p>            p1.Id = &#8220;1&#8243;;</p>
<p>            Portfolio p2 = new Portfolio();</p>
<p>            p2.Id = &#8220;2&#8243;;</p>
<p>            portfolioResponse.DummyPortfolio = p1;</p>
<p>            portfolioResponse.PortfolioCollection.Add(p1);</p>
<p>            portfolioResponse.PortfolioCollection.Add(p2);</p>
<p>            Console.WriteLine(&#8220;Serialization in progress&#8221;);</p>
<p>            XmlSerializer s = new XmlSerializer(typeof(PortfolioResponse));</p>
<p>            TextWriter w = new StreamWriter(&#8220;employList.xml&#8221;);</p>
<p>            s.Serialize(w, portfolioResponse);</p>
<p>            w.Close();</p>
<p>            Console.WriteLine(&#8220;Serialization complete\n\n&#8221;);</p>
<p>            //Console.WriteLine(&#8220;Deserialization in progress&#8221;);</p>
<p>            //XmlSerializer s1 = new XmlSerializer(typeof(PortfolioResponse));</p>
<p>            //TextReader r = new StreamReader(&#8220;employList.xml&#8221;);</p>
<p>            //PortfolioResponse res = (PortfolioResponse)s1.Deserialize(r);</p>
<p>            //r.Close();</p>
<p>            //Console.WriteLine(&#8220;Deserialization complete&#8221;);</p>
<p>        }</p>
<p>    }</p>
<p>    [XmlRoot("fir-response")]</p>
<p>    public class PortfolioResponse</p>
<p>    {</p>
<p>        [XmlElement("Id")]</p>
<p>        public string Id { get; set; }</p>
<p>        [XmlElement("status")]</p>
<p>        public string Status { get; set; }</p>
<p>        [XmlArray("fir-portfolios")]</p>
<p>        [XmlArrayItem("fir-portfolio")]       </p>
<p>        public List&lt;Portfolio&gt; PortfolioCollection { get; set; }</p>
<p>        [XmlElement("fir-portfolio")]</p>
<p>        public Portfolio DummyPortfolio { get; set; }</p>
<p>        [XmlIgnore]       </p>
<p>        public string Error { get; set; }</p>
<p>        //[XmlElement("user")]</p>
<p>        //public User UserDetail { get; set; }       </p>
<p>    }</p>
<p>    [XmlRoot("fir-portfolio")]</p>
<p>    public class Portfolio</p>
<p>    {</p>
<p>        [XmlElement("Id")]</p>
<p>        public string Id { get; set; }</p>
<p>        [XmlElement("status")]</p>
<p>        public string Status { get; set; }</p>
<p>        [XmlElement]</p>
<p>        public string Error { get; set; }</p>
<p>    }</p>
<p>}</td>
</tr>
</tbody>
</table>
<p> <span style="color:#ff00ff;">Result:</span></p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="616" valign="top">&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;utf-8&#8243;?&gt;&lt;fir-response xmlns:xsi=&#8221;http://www.w3.org/2001/XMLSchema-instance&#8221; xmlns:xsd=&#8221;http://www.w3.org/2001/XMLSchema&#8221;&gt;</p>
<p>  &lt;Id&gt;1&lt;/Id&gt;</p>
<p>  &lt;status&gt;OK&lt;/status&gt;</p>
<p>  &lt;fir-portfolios&gt;</p>
<p>    &lt;fir-portfolio&gt;</p>
<p>      &lt;Id&gt;1&lt;/Id&gt;</p>
<p>    &lt;/fir-portfolio&gt;</p>
<p>    &lt;fir-portfolio&gt;</p>
<p>      &lt;Id&gt;2&lt;/Id&gt;</p>
<p>    &lt;/fir-portfolio&gt;</p>
<p>  &lt;/fir-portfolios&gt;</p>
<p>  &lt;fir-portfolio&gt;</p>
<p>    &lt;Id&gt;1&lt;/Id&gt;</p>
<p>  &lt;/fir-portfolio&gt;</p>
<p>&lt;/fir-response&gt;</td>
</tr>
</tbody>
</table>
<p> </p>
<p><span style="color:#ff00ff;">Problem:</span></p>
<p>Consider below Class A, If we try to serialize the Class A and provide value for id property only and number is not set:</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="616" valign="top">    [XmlRoot("A")]</p>
<p>    public class ClassA</p>
<p>    {</p>
<p>        [XmlElement("id")]</p>
<p>        public string id;</p>
<p>        [XmlElement("number")]</p>
<p>        public double? Number;</p>
<p>        //[XmlIgnore]</p>
<p>        //public bool NumberSpecified</p>
<p>        //{</p>
<p>        //    get { return (Number!=null?true:false);}</p>
<p>        //    set { NumberSpecified = (Number != null ? true : false); }</p>
<p>        //}</p>
<p>    }</td>
</tr>
</tbody>
</table>
<p> </p>
<p><span style="color:#ff00ff;">Serialization code:</span></p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="616" valign="top">ClassA a = new ClassA();</p>
<p>            a.id = &#8220;1&#8243;;           </p>
<p>           XmlSerializer s2 = new XmlSerializer(typeof(ClassA));           </p>
<p>            TextWriter w2 = new StreamWriter(&#8220;ClassA.xml&#8221;);</p>
<p>            s2.Serialize(w2, a);</p>
<p>            w2.Close();</td>
</tr>
</tbody>
</table>
<p> </p>
<p><span style="color:#ff00ff;">Output XML generated as below:</span></p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="616" valign="top">&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;utf-8&#8243;?&gt;</p>
<p>&lt;A xmlns:xsi=&#8221;http://www.w3.org/2001/XMLSchema-instance&#8221; xmlns:xsd=&#8221;http://www.w3.org/2001/XMLSchema&#8221;&gt;</p>
<p>  &lt;id&gt;1&lt;/id&gt;</p>
<p>  &lt;number xsi:nil=&#8221;true&#8221; /&gt;</p>
<p>&lt;/A&gt;</td>
</tr>
</tbody>
</table>
<p> </p>
<p>Here number node has extra attribute &lt;number xsi:nil=&#8221;true&#8221; /&gt;. Which may not be needed or it may cause problem in your parsing logic. We may have requirement to remove the node which has null values. Following is the solution to remove the node which has null vlaue:</p>
<p><span style="color:#ff00ff;">Solution:</span></p>
<p>We can re-write /specify ClassA with following signature which will automatically solve the problem:</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="616" valign="top">    [XmlRoot("A")]</p>
<p>    public class ClassA</p>
<p>    {</p>
<p>        [XmlElement("id")]</p>
<p>        public string id;</p>
<p>        [XmlElement("number")]</p>
<p>        public double? Number=null;</p>
<p>        [XmlIgnore]</p>
<p>        public bool NumberSpecified</p>
<p>        {</p>
<p>            get { return (Number != null ? true : false); }</p>
<p>            set { NumberSpecified = (Number != null ? true : false); }</p>
<p>        }</p>
<p>    }</td>
</tr>
</tbody>
</table>
<p> </p>
<p><span style="color:#ff00ff;">Output XML:</span></p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="616" valign="top">&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;utf-8&#8243;?&gt;</p>
<p>&lt;A xmlns:xsi=&#8221;http://www.w3.org/2001/XMLSchema-instance&#8221; xmlns:xsd=&#8221;http://www.w3.org/2001/XMLSchema&#8221;&gt;</p>
<p>  &lt;id&gt;1&lt;/id&gt;</p>
<p>&lt;/A&gt;</td>
</tr>
</tbody>
</table>
<p>Reference Link:</p>
<p><a href="http://www.dotneat.net/2009/03/22/NETSerializationUsingBinaryFormaterSoapFormatterAndXmlSerializer.aspx">http://www.dotneat.net/2009/03/22/NETSerializationUsingBinaryFormaterSoapFormatterAndXmlSerializer.aspx</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vinodsardar.wordpress.com/125/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vinodsardar.wordpress.com/125/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vinodsardar.wordpress.com/125/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vinodsardar.wordpress.com/125/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vinodsardar.wordpress.com/125/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vinodsardar.wordpress.com/125/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vinodsardar.wordpress.com/125/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vinodsardar.wordpress.com/125/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vinodsardar.wordpress.com/125/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vinodsardar.wordpress.com/125/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vinodsardar.wordpress.com/125/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vinodsardar.wordpress.com/125/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vinodsardar.wordpress.com/125/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vinodsardar.wordpress.com/125/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinodsardar.wordpress.com&amp;blog=8879170&amp;post=125&amp;subd=vinodsardar&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vinodsardar.wordpress.com/2010/12/01/xml-serialization-in-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6d2e4cf5c599693fb5a252b5bbc9fad4?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">vinodsardar</media:title>
		</media:content>
	</item>
		<item>
		<title>Top 10 Skills in Demand in 2010</title>
		<link>http://vinodsardar.wordpress.com/2010/09/09/top-10-skills-in-demand-in-2010/</link>
		<comments>http://vinodsardar.wordpress.com/2010/09/09/top-10-skills-in-demand-in-2010/#comments</comments>
		<pubDate>Thu, 09 Sep 2010 08:19:40 +0000</pubDate>
		<dc:creator>vinodsardar</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://vinodsardar.wordpress.com/?p=123</guid>
		<description><![CDATA[Top 10 Skills in Demand in 2010.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinodsardar.wordpress.com&amp;blog=8879170&amp;post=123&amp;subd=vinodsardar&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.globalknowledge.com/training/generic.asp?pageid=2568&amp;country=United+States">Top 10 Skills in Demand in 2010</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vinodsardar.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vinodsardar.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vinodsardar.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vinodsardar.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vinodsardar.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vinodsardar.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vinodsardar.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vinodsardar.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vinodsardar.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vinodsardar.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vinodsardar.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vinodsardar.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vinodsardar.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vinodsardar.wordpress.com/123/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinodsardar.wordpress.com&amp;blog=8879170&amp;post=123&amp;subd=vinodsardar&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vinodsardar.wordpress.com/2010/09/09/top-10-skills-in-demand-in-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6d2e4cf5c599693fb5a252b5bbc9fad4?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">vinodsardar</media:title>
		</media:content>
	</item>
		<item>
		<title>Excel Add-In Start up Link</title>
		<link>http://vinodsardar.wordpress.com/2010/09/09/excel-add-in-start-up-link/</link>
		<comments>http://vinodsardar.wordpress.com/2010/09/09/excel-add-in-start-up-link/#comments</comments>
		<pubDate>Thu, 09 Sep 2010 07:54:07 +0000</pubDate>
		<dc:creator>vinodsardar</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Excel-Addin]]></category>

		<guid isPermaLink="false">http://vinodsardar.wordpress.com/?p=119</guid>
		<description><![CDATA[Found very good link on Excel-Add in development. Which explains the basics http://www.eggheadcafe.com/tutorials/aspnet/ff2d1d4b-aedf-4d14-9e60-39a86ccab5d6/using-vsto-addin-to-auto.aspx For Writing Excel-UDF  following is the link http://blogs.msdn.com/b/eric_carter/archive/2004/12/01/writing-user-defined-functions-for-excel-in-net.aspx Thanks.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinodsardar.wordpress.com&amp;blog=8879170&amp;post=119&amp;subd=vinodsardar&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Found very good link on Excel-Add in development. Which explains the basics</p>
<p><a href="http://www.eggheadcafe.com/tutorials/aspnet/ff2d1d4b-aedf-4d14-9e60-39a86ccab5d6/using-vsto-addin-to-auto.aspx">http://www.eggheadcafe.com/tutorials/aspnet/ff2d1d4b-aedf-4d14-9e60-39a86ccab5d6/using-vsto-addin-to-auto.aspx</a></p>
<p>For Writing Excel-UDF  following is the link</p>
<p><a href="http://blogs.msdn.com/b/eric_carter/archive/2004/12/01/writing-user-defined-functions-for-excel-in-net.aspx">http://blogs.msdn.com/b/eric_carter/archive/2004/12/01/writing-user-defined-functions-for-excel-in-net.aspx</a></p>
<p>Thanks.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vinodsardar.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vinodsardar.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vinodsardar.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vinodsardar.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vinodsardar.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vinodsardar.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vinodsardar.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vinodsardar.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vinodsardar.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vinodsardar.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vinodsardar.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vinodsardar.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vinodsardar.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vinodsardar.wordpress.com/119/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinodsardar.wordpress.com&amp;blog=8879170&amp;post=119&amp;subd=vinodsardar&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vinodsardar.wordpress.com/2010/09/09/excel-add-in-start-up-link/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6d2e4cf5c599693fb5a252b5bbc9fad4?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">vinodsardar</media:title>
		</media:content>
	</item>
		<item>
		<title>Calling:  Java Script function and Silverlight function</title>
		<link>http://vinodsardar.wordpress.com/2010/05/21/calling-java-script-function-and-silverlight-function/</link>
		<comments>http://vinodsardar.wordpress.com/2010/05/21/calling-java-script-function-and-silverlight-function/#comments</comments>
		<pubDate>Fri, 21 May 2010 10:17:30 +0000</pubDate>
		<dc:creator>vinodsardar</dc:creator>
				<category><![CDATA[Java Script]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[calling java script function]]></category>
		<category><![CDATA[calling silverlight function from java script]]></category>
		<category><![CDATA[java scipt]]></category>
		<category><![CDATA[java script and silverlight communication]]></category>

		<guid isPermaLink="false">http://vinodsardar.wordpress.com/?p=110</guid>
		<description><![CDATA[ Calling:  Java Script function and Silverlight function 1.  Calling Java Script function from Silverlight Add Java script function in Java script area in ASPX or HTML or JSP Page function JavaScriptFucntion(data)                {                    alert(&#8220;Message received from Silverlight: &#8220;+data);          var control = document.getElementById(&#8220;slControl&#8221;);          control.Content.MainPage.SilverlightFunction(&#8220;Hello from Javascript!&#8221;);          }      Call java script function from Silverlight [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinodsardar.wordpress.com&amp;blog=8879170&amp;post=110&amp;subd=vinodsardar&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p> <strong><span style="color:#ff00ff;">Calling:  Java Script function and Silverlight function</span></strong></p>
<p><strong>1.  </strong><strong><span style="color:#ff00ff;">Calling Java Script function from Silverlight</span></strong></p>
<ol>
<li>Add Java script function in Java script area in ASPX or HTML or JSP Page</li>
</ol>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="616" valign="top">function JavaScriptFucntion(data)                {                    alert(&#8220;Message received from Silverlight: &#8220;+data);</p>
<p>         var control = document.getElementById(&#8220;slControl&#8221;);</p>
<p>         control.Content.MainPage.SilverlightFunction(&#8220;Hello from Javascript!&#8221;);</p>
<p>         }    <strong> </strong></td>
</tr>
</tbody>
</table>
<ol>
<li>Call java script function from Silverlight using following code:</li>
</ol>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="543" valign="top">        private void Button_Click(object sender, RoutedEventArgs e)        {            try{</p>
<p>System.Windows.Browser.HtmlPage.Window.Invoke(&#8220;JavaScriptFucntion&#8221;, &#8220;vinod callign from Silverlight!&#8221;);</p>
<p>}</p>
<p>catch (Exception ex)</p>
<p>{</p>
<p>MessageBox.Show(ex.Message.ToString());</p>
<p>}</p>
<p>}<strong> </strong></td>
</tr>
</tbody>
</table>
<p><strong> </strong></p>
<p><strong>2.  </strong><strong><span style="color:#ff00ff;">Calling Silverlight function from Java Script</span></strong></p>
<ol>
<li>Register the Page/User control of the Silverlight for Java script call as below:</li>
</ol>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="616" valign="top">public partial class MainPage : UserControl    {        public MainPage()</p>
<p>        {</p>
<p>            InitializeComponent();            System.Windows.Browser.HtmlPage.RegisterScriptableObject(&#8220;MainPage&#8221;, this);</p>
<p>}</p>
<p><strong> </strong></td>
</tr>
</tbody>
</table>
<p>“MainPage” is the identifier for the user Control. You can give your choice key name. that can be used to call the Silverlight function as: MainPage.SilverlightFunction(&#8220;Hello from Javascript!&#8221;);(See this in JavaScriptFucntion(data))</p>
<p><strong> </strong></p>
<ol>
<li>Add the function that can be called from Java script and decorate it with [ScriptableMember] as below :</li>
</ol>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="543" valign="top">        [System.Windows.Browser.ScriptableMember]        public void SilverlightFunction(string result) {            MessageBox.Show(&#8220;Data from Java Script:&#8221;+result);</p>
<p>        }</td>
</tr>
</tbody>
</table>
<p> </p>
<ol>
<li>Call Silverlight function from Java script as below:</li>
</ol>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="543" valign="top">function JavaScriptFucntion(data)                {                    alert(&#8220;Message received from Silverlight: &#8220;+data);</p>
<p>         var control = document.getElementById(&#8220;slControl&#8221;);</p>
<p>         control.Content.MainPage.SilverlightFunction(&#8220;Hello from Javascript!&#8221;);</p>
<p>         }    <strong> </strong></td>
</tr>
</tbody>
</table>
<p> </p>
<p> “slControl” is the id given to Silverlight control in ASPX/HTML/JSP Page:</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="543" valign="top">&lt;body&gt;    &lt;form id=&#8221;form1&#8243; runat=&#8221;server&#8221; style=&#8221;height:100%&#8221;&gt;    &lt;div id=&#8221;silverlightControlHost&#8221;&gt;</p>
<p>        &lt;object id=&#8221;slControl&#8221; data=&#8221;data:application/x-silverlight-2,&#8221; type=&#8221;application/x-silverlight-2&#8243; width=&#8221;100%&#8221; height=&#8221;100%&#8221;&gt;</p>
<p>              &lt;param name=&#8221;source&#8221; value=&#8221;ClientBin/SilverlightToJavaScript.xap&#8221;/&gt;</p>
<p>              &lt;param name=&#8221;onError&#8221; value=&#8221;onSilverlightError&#8221; /&gt;</p>
<p>              &lt;param name=&#8221;background&#8221; value=&#8221;white&#8221; /&gt;</p>
<p>              &lt;param name=&#8221;minRuntimeVersion&#8221; value=&#8221;3.0.40818.0&#8243; /&gt;</p>
<p>              &lt;param name=&#8221;autoUpgrade&#8221; value=&#8221;true&#8221; /&gt;</p>
<p>              &lt;a href=&#8221;http://go.microsoft.com/fwlink/?LinkID=149156&amp;v=3.0.40818.0&#8243; style=&#8221;text-decoration:none&#8221;&gt;</p>
<p>                    &lt;img src=&#8221;http://go.microsoft.com/fwlink/?LinkId=108181&#8243; alt=&#8221;Get Microsoft Silverlight&#8221; style=&#8221;border-style:none&#8221;/&gt;</p>
<p>              &lt;/a&gt;</p>
<p>          &lt;/object&gt;&lt;iframe id=&#8221;_sl_historyFrame&#8221; style=&#8221;visibility:hidden;height:0px;width:0px;border:0px&#8221;&gt;&lt;/iframe&gt;&lt;/div&gt;</p>
<p>    &lt;/form&gt;</p>
<p>&lt;/body&gt;<strong> </strong></td>
</tr>
</tbody>
</table>
<p><strong> </strong></p>
<p><strong>         <span style="color:#ff00ff;"> Complete code for both the scenario has follows:</span></strong></p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="543" valign="top">namespace SilverlightToJavaScript{    public partial class MainPage : UserControl</p>
<p>    {</p>
<p>        public MainPage()</p>
<p>        {</p>
<p>            InitializeComponent();</p>
<p>            System.Windows.Browser.HtmlPage.RegisterScriptableObject(&#8220;MainPage&#8221;, this);</p>
<p>        }</p>
<p>        private void Button_Click(object sender, RoutedEventArgs e)</p>
<p>        {</p>
<p>            try</p>
<p>            {</p>
<p>                System.Windows.Browser.HtmlPage.Window.Invoke(&#8220;JavaScriptFucntion&#8221;, &#8220;vinod callign from Silverlight!&#8221;);</p>
<p>            }</p>
<p>            catch (Exception ex)</p>
<p>            {</p>
<p>                MessageBox.Show(ex.Message.ToString());</p>
<p>            }</p>
<p>        }</p>
<p>        [System.Windows.Browser.ScriptableMember]</p>
<p>        public void SilverlightFunction(string result) {</p>
<p>            MessageBox.Show(&#8220;Data from Java Script:&#8221;+result);</p>
<p>        }</p>
<p>    }</p>
<p>}<strong> </strong></td>
</tr>
</tbody>
</table>
<p><strong> </strong></p>
<p><strong>           XAML:</strong></p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="543" valign="top">&lt;UserControl x:Class=&#8221;SilverlightToJavaScript.MainPage&#8221;    xmlns=&#8221;http://schemas.microsoft.com/winfx/2006/xaml/presentation&#8221;    xmlns:x=&#8221;http://schemas.microsoft.com/winfx/2006/xaml&#8221;</p>
<p>    xmlns:d=&#8221;http://schemas.microsoft.com/expression/blend/2008&#8243; xmlns:mc=&#8221;http://schemas.openxmlformats.org/markup-compatibility/2006&#8243;</p>
<p>    mc:Ignorable=&#8221;d&#8221; d:DesignWidth=&#8221;640&#8243; d:DesignHeight=&#8221;480&#8243;&gt;</p>
<p>  &lt;Grid x:Name=&#8221;LayoutRoot&#8221;&gt;</p>
<p>        &lt;Button Content=&#8221;Call java scipt&#8221; Width=&#8221;100&#8243;</p>
<p>                Click=&#8221;Button_Click&#8221;</p>
<p>                /&gt;</p>
<p>    &lt;/Grid&gt;</p>
<p>&lt;/UserControl&gt;<strong> </strong></td>
</tr>
</tbody>
</table>
<p><strong> </strong></p>
<p><strong>             ASPX:</strong></p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="543" valign="top">&lt;%@ Page Language=&#8221;C#&#8221; AutoEventWireup=&#8221;true&#8221; %&gt;&lt;!DOCTYPE html PUBLIC &#8220;-//W3C//DTD XHTML 1.0 Transitional//EN&#8221; &#8220;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&#8221;&gt;&lt;html xmlns=&#8221;http://www.w3.org/1999/xhtml&#8221; &gt;</p>
<p>&lt;head runat=&#8221;server&#8221;&gt;</p>
<p>    &lt;title&gt;SilverlightToJavaScript&lt;/title&gt;</p>
<p>    &lt;style type=&#8221;text/css&#8221;&gt;</p>
<p>    html, body {</p>
<p>          height: 100%;</p>
<p>          overflow: auto;</p>
<p>    }</p>
<p>    body {</p>
<p>          padding: 0;</p>
<p>          margin: 0;</p>
<p>    }</p>
<p>    #silverlightControlHost {</p>
<p>          height: 100%;</p>
<p>          text-align:center;</p>
<p>    }</p>
<p>    &lt;/style&gt;</p>
<p>    &lt;script type=&#8221;text/javascript&#8221; src=&#8221;Silverlight.js&#8221;&gt;&lt;/script&gt;</p>
<p>    &lt;script type=&#8221;text/javascript&#8221;&gt;</p>
<p>        function onSilverlightError(sender, args) {</p>
<p>            var appSource = &#8220;&#8221;;</p>
<p>            if (sender != null &amp;&amp; sender != 0) {</p>
<p>              appSource = sender.getHost().Source;</p>
<p>            }</p>
<p>            var errorType = args.ErrorType;</p>
<p>            var iErrorCode = args.ErrorCode;</p>
<p>            if (errorType == &#8220;ImageError&#8221; || errorType == &#8220;MediaError&#8221;) {</p>
<p>              return;</p>
<p>            }</p>
<p>            var errMsg = &#8220;Unhandled Error in Silverlight Application &#8221; +  appSource + &#8220;\n&#8221; ;</p>
<p>            errMsg += &#8220;Code: &#8220;+ iErrorCode + &#8220;    \n&#8221;;</p>
<p>            errMsg += &#8220;Category: &#8221; + errorType + &#8220;       \n&#8221;;</p>
<p>            errMsg += &#8220;Message: &#8221; + args.ErrorMessage + &#8220;     \n&#8221;;</p>
<p>            if (errorType == &#8220;ParserError&#8221;) {</p>
<p>                errMsg += &#8220;File: &#8221; + args.xamlFile + &#8220;     \n&#8221;;</p>
<p>                errMsg += &#8220;Line: &#8221; + args.lineNumber + &#8220;     \n&#8221;;</p>
<p>                errMsg += &#8220;Position: &#8221; + args.charPosition + &#8220;     \n&#8221;;</p>
<p>            }</p>
<p>            else if (errorType == &#8220;RuntimeError&#8221;) {          </p>
<p>                if (args.lineNumber != 0) {</p>
<p>                    errMsg += &#8220;Line: &#8221; + args.lineNumber + &#8220;     \n&#8221;;</p>
<p>                    errMsg += &#8220;Position: &#8221; +  args.charPosition + &#8220;     \n&#8221;;</p>
<p>                }</p>
<p>                errMsg += &#8220;MethodName: &#8221; + args.methodName + &#8220;     \n&#8221;;</p>
<p>            }</p>
<p>            throw new Error(errMsg);</p>
<p>        }</p>
<p>        function JavaScriptFucntion(data)       </p>
<p>         {           </p>
<p>         alert(&#8220;Message received from Silverlight: &#8220;+data);</p>
<p>         var control = document.getElementById(&#8220;slControl&#8221;);</p>
<p>         control.Content.MainPage.SilverlightFunction(&#8220;Hello from Javascript!&#8221;);</p>
<p>         }   </p>
<p>    &lt;/script&gt;</p>
<p>&lt;/head&gt;</p>
<p>&lt;body&gt;</p>
<p>    &lt;form id=&#8221;form1&#8243; runat=&#8221;server&#8221; style=&#8221;height:100%&#8221;&gt;</p>
<p>    &lt;div id=&#8221;silverlightControlHost&#8221;&gt;</p>
<p>        &lt;object id=&#8221;slControl&#8221; data=&#8221;data:application/x-silverlight-2,&#8221; type=&#8221;application/x-silverlight-2&#8243; width=&#8221;100%&#8221; height=&#8221;100%&#8221;&gt;</p>
<p>              &lt;param name=&#8221;source&#8221; value=&#8221;ClientBin/SilverlightToJavaScript.xap&#8221;/&gt;</p>
<p>              &lt;param name=&#8221;onError&#8221; value=&#8221;onSilverlightError&#8221; /&gt;</p>
<p>              &lt;param name=&#8221;background&#8221; value=&#8221;white&#8221; /&gt;</p>
<p>              &lt;param name=&#8221;minRuntimeVersion&#8221; value=&#8221;3.0.40818.0&#8243; /&gt;</p>
<p>              &lt;param name=&#8221;autoUpgrade&#8221; value=&#8221;true&#8221; /&gt;</p>
<p>              &lt;a href=&#8221;http://go.microsoft.com/fwlink/?LinkID=149156&amp;v=3.0.40818.0&#8243; style=&#8221;text-decoration:none&#8221;&gt;</p>
<p>                    &lt;img src=&#8221;http://go.microsoft.com/fwlink/?LinkId=108181&#8243; alt=&#8221;Get Microsoft Silverlight&#8221; style=&#8221;border-style:none&#8221;/&gt;</p>
<p>              &lt;/a&gt;</p>
<p>          &lt;/object&gt;&lt;iframe id=&#8221;_sl_historyFrame&#8221; style=&#8221;visibility:hidden;height:0px;width:0px;border:0px&#8221;&gt;&lt;/iframe&gt;&lt;/div&gt;</p>
<p>    &lt;/form&gt;</p>
<p>&lt;/body&gt;</p>
<p>&lt;/html&gt;<strong> </strong></td>
</tr>
</tbody>
</table>
<p><strong> </strong></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vinodsardar.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vinodsardar.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vinodsardar.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vinodsardar.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vinodsardar.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vinodsardar.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vinodsardar.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vinodsardar.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vinodsardar.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vinodsardar.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vinodsardar.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vinodsardar.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vinodsardar.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vinodsardar.wordpress.com/110/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinodsardar.wordpress.com&amp;blog=8879170&amp;post=110&amp;subd=vinodsardar&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vinodsardar.wordpress.com/2010/05/21/calling-java-script-function-and-silverlight-function/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6d2e4cf5c599693fb5a252b5bbc9fad4?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">vinodsardar</media:title>
		</media:content>
	</item>
		<item>
		<title>Hosting Silverlight content in JSP Page</title>
		<link>http://vinodsardar.wordpress.com/2010/05/18/hosting-silverlight-content-in-jsp-page/</link>
		<comments>http://vinodsardar.wordpress.com/2010/05/18/hosting-silverlight-content-in-jsp-page/#comments</comments>
		<pubDate>Tue, 18 May 2010 06:58:04 +0000</pubDate>
		<dc:creator>vinodsardar</dc:creator>
				<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[hosting silverlight in Java]]></category>
		<category><![CDATA[Hosting Silverlight in JSP]]></category>
		<category><![CDATA[Silverlight and Java]]></category>

		<guid isPermaLink="false">http://vinodsardar.wordpress.com/?p=99</guid>
		<description><![CDATA[Hosting Silverlight in JSP: (If Images are not visible, double click it for bigger view) Silverlght content can be hosted in HTML/ASPX/JSP etc. Those who has Visual Studio IDE installed must have seen the hosting project for the silverlight application.hosting projects has .ASPX and HTML page for hosting the silverlight application. both HTML and ASPX page [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinodsardar.wordpress.com&amp;blog=8879170&amp;post=99&amp;subd=vinodsardar&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><span style="color:#ff00ff;">Hosting Silverlight in JSP: </span></p>
<p><span style="color:#00ff00;"><em><span style="color:#993366;">(If Images are not visible, double click it for bigger view)</span></em></span></p>
<p>Silverlght content can be hosted in HTML/ASPX/JSP etc. Those who has Visual Studio IDE installed must have seen the hosting project for the silverlight application.hosting projects has .ASPX and HTML page for hosting the silverlight application.</p>
<p>both HTML and ASPX page has &lt;body&gt; tag. which includes the &lt;object&gt; tag for hosting the Silverlight content.</p>
<p>Following are the sample tags:</p>
<p> &lt;body&gt;</p>
<p>    &lt;form id=&#8221;form1&#8243; runat=&#8221;server&#8221;&gt;</p>
<p>   &lt;div id=&#8221;silverlightControlHost&#8221;&gt;</p>
<p>        &lt;object data=&#8221;data:application/x-silverlight-2,&#8221; type=&#8221;application/x-silverlight-2&#8243; width=&#8221;100%&#8221; height=&#8221;100%&#8221;&gt;</p>
<p>&lt;param name=&#8221;source&#8221; value=&#8221;ClientBin/Fir.Nomura.Shell.xap&#8221;/&gt;</p>
<p>&lt;param name=&#8221;onError&#8221; value=&#8221;onSilverlightError&#8221; /&gt;</p>
<p>&lt;param name=&#8221;background&#8221; value=&#8221;white&#8221; /&gt;</p>
<p>&lt;param name=&#8221;windowless&#8221; value=&#8221;true&#8221; /&gt;</p>
<p>&lt;param name=&#8221;minRuntimeVersion&#8221; value=&#8221;3.0.40624.0&#8243; /&gt;</p>
<p>&lt;param name=&#8221;autoUpgrade&#8221; value=&#8221;true&#8221; /&gt;</p>
<p>&lt;a href=&#8221;http://go.microsoft.com/fwlink/?LinkID=149156&amp;v=3.0.40624.0&#8243; style=&#8221;text-decoration:none&#8221;&gt;</p>
<p>&lt;img src=&#8221;http://go.microsoft.com/fwlink/?LinkId=108181&#8243; alt=&#8221;Get Microsoft Silverlight&#8221; style=&#8221;border-style:none&#8221;/&gt;</p>
<p>&lt;/a&gt;</p>
<p>&lt;/object&gt;&lt;iframe id=&#8221;_sl_historyFrame&#8221; style=&#8221;visibility:hidden;height:0px;width:0px;border:0px&#8221;&gt;&lt;/iframe&gt;&lt;/div&gt;</p>
<p> &lt;/form&gt;</p>
<p>&lt;/body&gt;</p>
<p>Steps:</p>
<ol>
<li>Above mentioned &lt;Object&gt; tag can be added in the JSP page.</li>
<li>Add Folder name – “ClientBin” in the Java project.</li>
<li>Add your project XAP files in ClientBin folder.</li>
<li>Build the java project and host the java project inside hosting server say JBOSS for instance.</li>
</ol>
<p>  </p>
<p> or follow below detailed steps</p>
<p><strong><span style="color:#ff00ff;">Hosting Silverlight Content in JSP Page.</span></strong></p>
<p> Tools : Visual Studio 2008,NetBeans IDE/Eclipse</p>
<p>Framework:  Silverlight 3.0, Java 1.6</p>
<p>Server:  JBoss Server 5.0.</p>
<p>Steps to follow:</p>
<ol>
<li>Create sample Silverlight Application using Visual Studio 2008 IDE.</li>
</ol>
<p>For more information on how to create the silverlight project ,please visit link : <a href="http://silverlight.net/">http://silverlight.net/</a> this is a official Microsoft site for silverlight.</p>
<p>Once new project is created silverlight adds two projects in the solution as shown in the screenshot:</p>
<div><strong> </strong></div>
<div><strong></strong></div>
<p><strong></p>
<div class="mceTemp mceIEcenter">
<div id="attachment_102" class="wp-caption aligncenter" style="width: 283px"><a href="http://vinodsardar.files.wordpress.com/2010/05/silverlight-twoprojects2.jpg"><img class="size-full wp-image-102" title="silverlight-TwoProjects" src="http://vinodsardar.files.wordpress.com/2010/05/silverlight-twoprojects2.jpg?w=540" alt=""   /></a><p class="wp-caption-text">Figure 1. Silverlight project Structure</p></div>
</div>
<p> </p>
<p></strong></p>
<p>2.Create sample Java Web site using NetBeans (or Eclipse).</p>
<p>3.Need to copy the “ClientBin” folder along with the required “.xap” file and paste it in the Java Web Site. Also we need to copy and paste the “Silverlight.jsp” file as shown below:</p>
<div class="mceTemp mceIEcenter">
<dl class="wp-caption aligncenter">
<dt class="wp-caption-dt"><a href="http://vinodsardar.files.wordpress.com/2010/05/jsp-silverlight-copypasteclientbinandsilverlightscript.jpg"><img class="size-full wp-image-103" title="JSP-Silverlight-copyPasteClientbinAndSilverlightScript" src="http://vinodsardar.files.wordpress.com/2010/05/jsp-silverlight-copypasteclientbinandsilverlightscript.jpg?w=540" alt=""   /></a></dt>
<dd class="wp-caption-dd">Figure 2. Add Client Bin and Silverlight.js</dd>
</dl>
<p>4.Now we need to reuse the HTML page content. We will reuse &lt;Head&gt; and &lt;Body&gt; of the HTML page as shown below:</p>
</div>
<p> <a href="http://vinodsardar.files.wordpress.com/2010/05/jsp-silverlight-copyhtml-details.jpg"><img class="aligncenter size-full wp-image-104" title="JSP-Silverlight-CopyHTML details" src="http://vinodsardar.files.wordpress.com/2010/05/jsp-silverlight-copyhtml-details.jpg?w=540" alt=""   /></a></p>
<p>5.Now we need to set the MIME types in the we.xml file as shown below:</p>
<p> <a href="http://vinodsardar.files.wordpress.com/2010/05/jsp-silverlight-mimetypes.jpg"><img class="aligncenter size-full wp-image-105" title="JSP-silverlight-MIMETypes" src="http://vinodsardar.files.wordpress.com/2010/05/jsp-silverlight-mimetypes.jpg?w=540" alt=""   /></a></p>
<ol>
<li>Build the Java site and deploy the application on JBoss Server.</li>
<li>If you want to deploy site manually:</li>
</ol>
<p>When you build the Java project in the NetBeans It will create the &lt;Project_Name&gt;.war file.</p>
<p>To deploy this java web site on Jboss we need to  copy this file at following location in JBoss:</p>
<p>“&lt;Installed_Location&gt;<a href="//jboss-5.0.1.ga/jboss-5.0.1.GA/server/default/deploy/%3CProject_Name%3E.war">\\jboss-5.0.1.GA\jboss-5.0.1.GA\server\default\deploy\&lt;Project_Name&gt;.war</a>”.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vinodsardar.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vinodsardar.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vinodsardar.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vinodsardar.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vinodsardar.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vinodsardar.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vinodsardar.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vinodsardar.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vinodsardar.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vinodsardar.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vinodsardar.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vinodsardar.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vinodsardar.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vinodsardar.wordpress.com/99/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinodsardar.wordpress.com&amp;blog=8879170&amp;post=99&amp;subd=vinodsardar&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vinodsardar.wordpress.com/2010/05/18/hosting-silverlight-content-in-jsp-page/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6d2e4cf5c599693fb5a252b5bbc9fad4?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">vinodsardar</media:title>
		</media:content>

		<media:content url="http://vinodsardar.files.wordpress.com/2010/05/silverlight-twoprojects2.jpg" medium="image">
			<media:title type="html">silverlight-TwoProjects</media:title>
		</media:content>

		<media:content url="http://vinodsardar.files.wordpress.com/2010/05/jsp-silverlight-copypasteclientbinandsilverlightscript.jpg" medium="image">
			<media:title type="html">JSP-Silverlight-copyPasteClientbinAndSilverlightScript</media:title>
		</media:content>

		<media:content url="http://vinodsardar.files.wordpress.com/2010/05/jsp-silverlight-copyhtml-details.jpg" medium="image">
			<media:title type="html">JSP-Silverlight-CopyHTML details</media:title>
		</media:content>

		<media:content url="http://vinodsardar.files.wordpress.com/2010/05/jsp-silverlight-mimetypes.jpg" medium="image">
			<media:title type="html">JSP-silverlight-MIMETypes</media:title>
		</media:content>
	</item>
		<item>
		<title>URL Encoding in Silverlight</title>
		<link>http://vinodsardar.wordpress.com/2010/05/10/url-encoding-in-silverlight/</link>
		<comments>http://vinodsardar.wordpress.com/2010/05/10/url-encoding-in-silverlight/#comments</comments>
		<pubDate>Mon, 10 May 2010 10:21:26 +0000</pubDate>
		<dc:creator>vinodsardar</dc:creator>
				<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[URL Encoding]]></category>

		<guid isPermaLink="false">http://vinodsardar.wordpress.com/?p=96</guid>
		<description><![CDATA[    URL Encoding in Silverlight I was working on JAVA + Silverlight. Where UI was in Silverlight and JAVA was the data provider. Silverlight application used to call Java Servlet for data. Silverlight was calling the Java servlet by using following code: WebClient webClient = new WebClient();            string url = &#60;ServletURL&#62; + &#60;ServletParameter&#62;;             webClient.DownloadStringCompleted += [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinodsardar.wordpress.com&amp;blog=8879170&amp;post=96&amp;subd=vinodsardar&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>    <strong><span style="color:#ff00ff;">URL Encoding in Silverlight</span></strong></p>
<p>I was working on JAVA + Silverlight. Where UI was in Silverlight and JAVA was the data provider.</p>
<p>Silverlight application used to call Java Servlet for data. Silverlight was calling the Java servlet by using following code:</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="616" valign="top">WebClient webClient = new WebClient();            string url = &lt;ServletURL&gt; + &lt;ServletParameter&gt;;</p>
<p>            webClient.DownloadStringCompleted += new DownloadStringCompletedEventHandler(&lt;CallbackMethod&gt;);</p>
<p>            webClient.DownloadStringAsync(new Uri(url, UriKind.Absolute)); </td>
</tr>
</tbody>
</table>
<p> </p>
<p>Java Servlet was using UTF-8 encoding.  Whenever we pass parameter it is received in UTF-8 encoding. So parameter: “Vinod Sardar” was received as “Vinod+Sardar”.</p>
<p>Now,(Problem) one of the parameter that I wanted to pass in the real application was containing the “+” sign. That was causing the issue. Whenever “+” was passed it was considered as a space as illustrated in previous example for “Vinod Sardar”.</p>
<p>By default Silverlight does not encode the URL. We need to do it implicitly. So we have two approaches for above code:</p>
<p>1.  string url = ENCODE(&lt;ServletURL&gt; + &lt;ServletParameter&gt;);</p>
<p>and</p>
<p>2.  string url = &lt;ServletURL&gt; + ENCODE(&lt;ServletParameter&gt;);</p>
<p>first approach will not work in Silverlight as Silverlight gives an Exception- Invalid URL. So used second approach of encoding only the parameter.</p>
<p>ENCODING is done using class HttpUtility and method UrlEncode as below</p>
<p>string url = &lt;ServletURL&gt; + HttpUtility.UrlEncode(&lt;ServletParameter&gt;);</p>
<p>then “+” will be converted to “%2b”.</p>
<p>For more information on the HttpUtility class and related method please visit following link:</p>
<p><a href="http://msdn.microsoft.com/en-us/library/system.windows.browser.httputility.urlencode(VS.95).aspx">http://msdn.microsoft.com/en-us/library/system.windows.browser.httputility.urlencode(VS.95).aspx</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vinodsardar.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vinodsardar.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vinodsardar.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vinodsardar.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vinodsardar.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vinodsardar.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vinodsardar.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vinodsardar.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vinodsardar.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vinodsardar.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vinodsardar.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vinodsardar.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vinodsardar.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vinodsardar.wordpress.com/96/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinodsardar.wordpress.com&amp;blog=8879170&amp;post=96&amp;subd=vinodsardar&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vinodsardar.wordpress.com/2010/05/10/url-encoding-in-silverlight/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6d2e4cf5c599693fb5a252b5bbc9fad4?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">vinodsardar</media:title>
		</media:content>
	</item>
		<item>
		<title>Custom Control in Silverlight</title>
		<link>http://vinodsardar.wordpress.com/2010/04/29/custom-control-in-silverlight/</link>
		<comments>http://vinodsardar.wordpress.com/2010/04/29/custom-control-in-silverlight/#comments</comments>
		<pubDate>Thu, 29 Apr 2010 07:48:46 +0000</pubDate>
		<dc:creator>vinodsardar</dc:creator>
				<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Custom Control in Silverlight]]></category>

		<guid isPermaLink="false">http://vinodsardar.wordpress.com/?p=87</guid>
		<description><![CDATA[ Custom Control in Silverlight Difference between User Control and Custom Control   User Control Custom Control UI UI Is fixed. UI Can’t be changed in referenced project. UI is not fixed. It is template. UI can be changed in referenced project   Steps to Design Custom Control in Silverlight: Add a Silverlight Class Library: Add [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinodsardar.wordpress.com&amp;blog=8879170&amp;post=87&amp;subd=vinodsardar&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><span style="color:#ff0000;"> <strong><span style="color:#ff00ff;">Custom Control in Silverlight</span></strong></span></p>
<p>Difference between User Control and Custom Control</p>
<table border="1" cellspacing="0" cellpadding="0" width="628">
<tbody>
<tr>
<td width="83" valign="top"> </td>
<td width="237" valign="top"><strong>User Control</strong></td>
<td width="308" valign="top"><strong>Custom Control</strong></td>
</tr>
<tr>
<td width="83" valign="top">UI</td>
<td width="237" valign="top">UI Is fixed. UI Can’t be changed in referenced project.</td>
<td width="308" valign="top">UI is not fixed. It is template. UI can be changed in referenced project</td>
</tr>
</tbody>
</table>
<p> </p>
<p>Steps to Design Custom Control in Silverlight:</p>
<ol>
<li>Add a Silverlight Class Library:<a href="http://vinodsardar.files.wordpress.com/2010/04/slclasslibrary.jpg"><img class="aligncenter size-medium wp-image-92" title="SLClassLibrary" src="http://vinodsardar.files.wordpress.com/2010/04/slclasslibrary.jpg?w=300&#038;h=192" alt="" width="300" height="192" /></a></li>
<li>Add the Class say – “LinkLabel.cs”. Inherit this class from Control as below:</li>
</ol>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="616" valign="top">using System;using System.Net;using System.Windows;</p>
<p>using System.Windows.Controls;</p>
<p>using System.Windows.Documents;</p>
<p>using System.Windows.Ink;</p>
<p>using System.Windows.Input;</p>
<p>using System.Windows.Media;</p>
<p>using System.Windows.Media.Animation;</p>
<p>using System.Windows.Shapes;</p>
<p>namespace CustomConntrol</p>
<p>{</p>
<p>    public class LinkLabel : Control</p>
<p>    { }</p>
<p>}</td>
</tr>
</tbody>
</table>
<p> </p>
<ol>
<li>Add folder by name –“themes” then add file –“generic.xaml” in to it.</li>
</ol>
<p><strong>(Note:Please keep the name of the folder as “themes” and file as –“generic.xaml” this is mandatory.SL framework will look for these things when applying the default template.) </strong></p>
<ol>
<li>Set the properties of the “generic.xaml” as shown in the below screenshot. Set Build Action to –“Resource” and empty the Custom Tool property.</li>
</ol>
<p><strong>(Note: “generic.xaml” can be added by adding the XML file. Rename it to “generic.xaml “ and change the properties as mentioned.)</strong></p>
<p><strong> </strong></p>
<p><strong> <a href="http://vinodsardar.files.wordpress.com/2010/04/genericproperties1.jpg"><img class="aligncenter size-medium wp-image-91" title="GenericProperties" src="http://vinodsardar.files.wordpress.com/2010/04/genericproperties1.jpg?w=230&#038;h=300" alt="" width="230" height="300" /></a></strong></p>
<p><strong> </strong></p>
<p>5.  Now need to add the Control Template for the custom control.Set the Content of the “generic.xaml”  as below: We added the reference to the control as :</p>
<p>xmlns:x=&#8221;http://schemas.microsoft.com/winfx/2006/xaml&#8221;</p>
<p>                    xmlns:local=&#8221;clr-namespace:CustomConntrol&#8221;                   </p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="616" valign="top">&lt;ResourceDictionary xmlns=&#8221;http://schemas.microsoft.com/winfx/2006/xaml/presentation&#8221;                      xmlns:x=&#8221;http://schemas.microsoft.com/winfx/2006/xaml&#8221;                    xmlns:local=&#8221;clr-namespace:CustomConntrol&#8221;                   </p>
<p>                    &gt;</p>
<p>    &lt;!&#8211; Default Control Template &#8211;&gt;</p>
<p>    &lt;Style TargetType=&#8221;local:LinkLabel&#8221;&gt;</p>
<p>        &lt;Setter Property=&#8221;Template&#8221;&gt;</p>
<p>            &lt;Setter.Value&gt;</p>
<p>                &lt;ControlTemplate TargetType=&#8221;local:LinkLabel&#8221;&gt;</p>
<p>                    &lt;StackPanel x:Name=&#8221;LayoutRoot&#8221;&gt;</p>
<p>                    &lt;ContentPresenter Content=&#8221;{TemplateBinding Text}&#8221;                                      TextOptions.TextHintingMode=&#8221;Animated&#8221;</p>
<p>                                      Cursor=&#8221;Hand&#8221;                                     </p>
<p>                                      /&gt;</p>
<p>                    &lt;/StackPanel&gt;</p>
<p>                &lt;/ControlTemplate&gt;               </p>
<p>            &lt;/Setter.Value&gt;</p>
<p>        &lt;/Setter&gt;</p>
<p>    &lt;/Style&gt;     </p>
<p> &lt;/ResourceDictionary&gt;</td>
</tr>
</tbody>
</table>
<p> </p>
<ol>
<li>Now to applying this template to the LinkLabel Control we need to override the OnApplyTemplate Method. Note that no control is directly available in LinkLabel. So we need to add the private variable and then get the required control from the Template as shown in the code.</li>
</ol>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="616" valign="top">using System;using System.Net;using System.Windows;</p>
<p>using System.Windows.Controls;</p>
<p>using System.Windows.Documents;</p>
<p>using System.Windows.Ink;</p>
<p>using System.Windows.Input;</p>
<p>using System.Windows.Media;</p>
<p>using System.Windows.Media.Animation;</p>
<p>using System.Windows.Shapes;</p>
<p>namespace CustomConntrol</p>
<p>{</p>
<p>    public class LinkLabel : Control</p>
<p>    {</p>
<p>        #region Private Members</p>
<p>        StackPanel _LayoutRoot = null;</p>
<p>        #endregion</p>
<p>        #region Constructor</p>
<p>        public LinkLabel() : base()</p>
<p>        {</p>
<p>            DefaultStyleKey = typeof(LinkLabel);</p>
<p>        }</p>
<p>        #endregion</p>
<p>        #region Dependency Property</p>
<p>        public static DependencyProperty TextProperty = DependencyProperty.Register(&#8220;Text&#8221;,</p>
<p>            typeof(string), typeof(LinkLabel), new PropertyMetadata(string.Empty));</p>
<p>        public string Text</p>
<p>        {</p>
<p>            get</p>
<p>            {</p>
<p>                return (string)GetValue(TextProperty);</p>
<p>            }</p>
<p>            set</p>
<p>            {</p>
<p>                SetValue(TextProperty, value);</p>
<p>            }</p>
<p>        }</p>
<p>        #endregion</p>
<p>        #region Override Properties</p>
<p>        public override void OnApplyTemplate()</p>
<p>        {</p>
<p>            _LayoutRoot = GetTemplateChild(&#8220;LayoutRoot&#8221;) as StackPanel;</p>
<p>            base.OnApplyTemplate();          </p>
<p>        }</p>
<p>        #endregion</p>
<p>    }</p>
<p>}</td>
</tr>
</tbody>
</table>
<ol>
<li> We can add Dependency properties to this control as added in above code. Text Property is added in above code.</li>
<li>That’s it we are done with the custom control. One can add custom logic for this code now.</li>
</ol>
<p>9.  We can test the custom control now. Add the Silverlight project. Add reference to the Custom control project. In main.Xaml add reference to the Custom Control as : xmlns:CustomControl=&#8221;clr-namespace:CustomConntrol;assembly=CustomConntrol&#8221;</p>
<p>Add Custom control as: &lt;CustomControl:LinkLabel Text=&#8221;Demo&#8221;</p>
<p>                               /&gt;</p>
<ol>
<li>Complete XAML code as below:</li>
</ol>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="616" valign="top">&lt;UserControl x:Class=&#8221;TestSearchBox.MainPage&#8221;    xmlns=&#8221;http://schemas.microsoft.com/winfx/2006/xaml/presentation&#8221;    xmlns:x=&#8221;http://schemas.microsoft.com/winfx/2006/xaml&#8221;</p>
<p>    xmlns:d=&#8221;http://schemas.microsoft.com/expression/blend/2008&#8243; xmlns:mc=&#8221;http://schemas.openxmlformats.org/markup-compatibility/2006&#8243;</p>
<p>    mc:Ignorable=&#8221;d&#8221; d:DesignWidth=&#8221;640&#8243; d:DesignHeight=&#8221;480&#8243;</p>
<p>    xmlns:CustomControl=&#8221;clr-namespace:CustomConntrol;assembly=CustomConntrol&#8221;</p>
<p>             &gt;</p>
<p>  &lt;Grid x:Name=&#8221;LayoutRoot&#8221;&gt;</p>
<p>        &lt;CustomControl:LinkLabel Text=&#8221;Demo&#8221;</p>
<p>                               /&gt;</p>
<p>    &lt;/Grid&gt;</p>
<p>&lt;/UserControl&gt;</td>
</tr>
</tbody>
</table>
<p> </p>
<ol>
<li>Run Silverlight application. You will see the link label control.</li>
</ol>
<p>This was just a scenario to create a simple Custom control. You can create a custom control as per your requirement.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vinodsardar.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vinodsardar.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vinodsardar.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vinodsardar.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vinodsardar.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vinodsardar.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vinodsardar.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vinodsardar.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vinodsardar.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vinodsardar.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vinodsardar.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vinodsardar.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vinodsardar.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vinodsardar.wordpress.com/87/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinodsardar.wordpress.com&amp;blog=8879170&amp;post=87&amp;subd=vinodsardar&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vinodsardar.wordpress.com/2010/04/29/custom-control-in-silverlight/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6d2e4cf5c599693fb5a252b5bbc9fad4?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">vinodsardar</media:title>
		</media:content>

		<media:content url="http://vinodsardar.files.wordpress.com/2010/04/slclasslibrary.jpg?w=300" medium="image">
			<media:title type="html">SLClassLibrary</media:title>
		</media:content>

		<media:content url="http://vinodsardar.files.wordpress.com/2010/04/genericproperties1.jpg?w=230" medium="image">
			<media:title type="html">GenericProperties</media:title>
		</media:content>
	</item>
	</channel>
</rss>
