<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-710790865187981786</id><updated>2011-07-31T01:16:51.741-07:00</updated><category term='Blend'/><category term='WCF'/><category term='NSIS'/><category term='WPF'/><category term='Cider'/><category term='Silverlight'/><category term='SQL Server'/><title type='text'>Code Hunt</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://codehunting.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/710790865187981786/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://codehunting.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Hari Nair</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_RlRSGdIaPg8/SLvfhjazbnI/AAAAAAAAAAU/m6PBpkis1q4/S220/DSC00793.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>10</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-710790865187981786.post-6925425087212119422</id><published>2009-07-23T22:52:00.001-07:00</published><updated>2009-07-23T22:53:04.814-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight'/><title type='text'>How to test the Assembly Caching feature in Silverlight 3.0?</title><content type='html'>&lt;p&gt;While trying out the various new features with Silverlight 3.0, i have decided to spent more time on the Assembly caching feature as i feel it is a really cool feature which can really help us to keep the common assemblies which are referenced in various xap files in a compressed file such as zip. By doing so we can reduce the size of the various xap files being downloaded to the client cache.&lt;/p&gt;  &lt;p&gt;I did all the &lt;a href="http://msdn.microsoft.com/en-us/library/dd833069(VS.95).aspx"&gt;steps&lt;/a&gt; required for Application Library Caching but could observe that these files are being downloaded every time i visit the site. I used the HTTP traffic monitor &lt;a href="https://webmail.hrblock.com/exchweb/bin/redir.asp?URL=http://go.microsoft.com/fwlink/?LinkId=154773"&gt;Fiddler&lt;/a&gt; to view HTTP requests and responses, to verify that cached files are not being downloaded. &lt;/p&gt;  &lt;p&gt;I figured out the &lt;strong&gt;issue&lt;/strong&gt; as with the test environment being the Visual Studio Development Server which does not enable caching in its HTTP response headers. The key point here is that we should either publish the site to an IIS or Configure the Web project to use IIS and enable local host monitoring from the HTTP traffic monitor&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/710790865187981786-6925425087212119422?l=codehunting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codehunting.blogspot.com/feeds/6925425087212119422/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codehunting.blogspot.com/2009/07/how-to-test-assembly-caching-feature-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/710790865187981786/posts/default/6925425087212119422'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/710790865187981786/posts/default/6925425087212119422'/><link rel='alternate' type='text/html' href='http://codehunting.blogspot.com/2009/07/how-to-test-assembly-caching-feature-in.html' title='How to test the Assembly Caching feature in Silverlight 3.0?'/><author><name>Hari Nair</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_RlRSGdIaPg8/SLvfhjazbnI/AAAAAAAAAAU/m6PBpkis1q4/S220/DSC00793.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-710790865187981786.post-7678462883829018422</id><published>2009-07-09T22:10:00.001-07:00</published><updated>2009-07-09T22:10:38.402-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight'/><category scheme='http://www.blogger.com/atom/ns#' term='WCF'/><title type='text'>WPF Presentation Foundation designer Missing for the visual Studio</title><content type='html'>&lt;p&gt;I could notice that the Intellisense for my xaml files are lost when i&amp;#160; opened a Silverlight UserControl in the default editor immediately after installing the Visual studio 2008,its SP1 and the Silverlight SDK 2.0. In fact, i was missing the&amp;#160; WPF Presentation Foundation designer in the “Open with” dialog Box.The default editor in place now then was the xml editor.&lt;/p&gt;  &lt;p&gt;Thanks to visual studio command line help. I could made it working with the following command&lt;/p&gt;  &lt;p&gt;Devenv /resetSkipPkgs&lt;/p&gt;  &lt;p&gt;This command clears all options to skip loading added to VSPackages by users wishing to avoid loading problem VSPackages, then starts Visual Studio.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/710790865187981786-7678462883829018422?l=codehunting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codehunting.blogspot.com/feeds/7678462883829018422/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codehunting.blogspot.com/2009/07/wpf-presentation-foundation-designer.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/710790865187981786/posts/default/7678462883829018422'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/710790865187981786/posts/default/7678462883829018422'/><link rel='alternate' type='text/html' href='http://codehunting.blogspot.com/2009/07/wpf-presentation-foundation-designer.html' title='WPF Presentation Foundation designer Missing for the visual Studio'/><author><name>Hari Nair</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_RlRSGdIaPg8/SLvfhjazbnI/AAAAAAAAAAU/m6PBpkis1q4/S220/DSC00793.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-710790865187981786.post-2104757675163304507</id><published>2009-06-11T05:12:00.001-07:00</published><updated>2011-02-18T05:39:12.179-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight'/><category scheme='http://www.blogger.com/atom/ns#' term='WCF'/><title type='text'>Retrieving domain users in a Silverlight application using a WCF Service</title><content type='html'>&lt;p&gt;When you need to get the domain users in a Silverlight application the best option is to go behind a WCF service.Create your WCF service and expose the end points . The proxy created in the Silverlight application can get the details of the domain users using the methods exposed in the WCF.&lt;/p&gt;  &lt;p&gt;WCF Class&lt;/p&gt;  &lt;div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; background-color: #f4f4f4"&gt;   &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;[ServiceContract]&lt;br /&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; UserDomain &lt;br /&gt; {&lt;br /&gt;     [OperationContract]&lt;br /&gt;     &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; List&amp;lt;DomainUser&amp;gt; getDomainUsers()&lt;br /&gt;     {&lt;br /&gt;             DirectorySearcher Search = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; DirectorySearcher();&lt;br /&gt;             Search.SearchRoot = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; DirectoryEntry(&lt;span style="color: #006080"&gt;&amp;quot;LDAP://dc=abc,dc=com&amp;quot;&lt;/span&gt;);&lt;span style="color: #008000"&gt;//here abc represents the domain name&lt;/span&gt;&lt;br /&gt;             Search.Filter = &lt;span style="color: #006080"&gt;&amp;quot;(&amp;amp;(objectclass=user)(objectcategory=person))&amp;quot;&lt;/span&gt;;&lt;br /&gt;             Search.SearchScope = SearchScope.Subtree;&lt;br /&gt;             Search.PropertiesToLoad.Add(&lt;span style="color: #006080"&gt;&amp;quot;userPrincipalName&amp;quot;&lt;/span&gt;);&lt;br /&gt;&lt;br /&gt;             SearchResultCollection colQueryResults = Search.FindAll();&lt;br /&gt;             List&amp;lt;DomainUser&amp;gt; users = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; List&amp;lt;DomainUser&amp;gt;();&lt;br /&gt;             &lt;span style="color: #0000ff"&gt;foreach&lt;/span&gt; (SearchResult Result &lt;span style="color: #0000ff"&gt;in&lt;/span&gt; colQueryResults)&lt;br /&gt;             {&lt;br /&gt;                 &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (Result.Properties[&lt;span style="color: #006080"&gt;&amp;quot;userPrincipalName&amp;quot;&lt;/span&gt;] != &lt;span style="color: #0000ff"&gt;null&lt;/span&gt;)&lt;br /&gt;                 {&lt;br /&gt;                     &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (Result.Properties[&lt;span style="color: #006080"&gt;&amp;quot;userPrincipalName&amp;quot;&lt;/span&gt;].Count &amp;gt; 0)&lt;br /&gt;                     {&lt;br /&gt;                         users.Add(&lt;span style="color: #0000ff"&gt;new&lt;/span&gt; DomainUser() { ID = Result.Properties[&lt;span style="color: #006080"&gt;&amp;quot;userPrincipalName&amp;quot;&lt;/span&gt;][0].ToString(), &lt;br /&gt;                             DisplayName = Result.Properties[&lt;span style="color: #006080"&gt;&amp;quot;name&amp;quot;&lt;/span&gt;][0].ToString() });&lt;br /&gt;                     }&lt;br /&gt;                 }&lt;br /&gt;             }&lt;br /&gt;             &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; users;&lt;br /&gt;      }&lt;br /&gt;   }&lt;br /&gt; [DataContract]&lt;br /&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; DomainUser&lt;br /&gt; {&lt;br /&gt;     [DataMember]&lt;br /&gt;     &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; ID { get; set; }&lt;br /&gt;     [DataMember]&lt;br /&gt;     &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; DisplayName { get; set; }&lt;br /&gt; }&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Silverlight Implementation&lt;br /&gt;&lt;p&gt;Create the Silverlight application and add a service reference to the above created WCF service.Create the client proxy with the added service and call the WCF method to retrieve the domain users. &lt;/p&gt;&lt;br /&gt;Code&lt;br /&gt;&lt;div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; background-color: #f4f4f4"&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; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;partial&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; MainPage : UserControl&lt;br /&gt;{&lt;br /&gt;    &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; MainPage()&lt;br /&gt;    {&lt;br /&gt;        &lt;span style="color: #0000ff"&gt;try&lt;/span&gt;&lt;br /&gt;        {&lt;br /&gt;            InitializeComponent();&lt;br /&gt;            UserDomainClient Proxy = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; UserDomainClient();&lt;br /&gt;            Proxy.getDomainUsersCompleted += &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; EventHandler&amp;lt;getDomainUsersCompletedEventArgs&amp;gt;(Proxy_getDomainUsersCompleted);&lt;br /&gt;            Proxy.getDomainUsersAsync();&lt;br /&gt;        }&lt;br /&gt;        &lt;span style="color: #0000ff"&gt;catch&lt;/span&gt; (Exception ex)&lt;br /&gt;        {&lt;br /&gt;&lt;br /&gt;            MessageBox.Show(ex.Message);&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; Proxy_getDomainUsersCompleted(&lt;span style="color: #0000ff"&gt;object&lt;/span&gt; sender, getDomainUsersCompletedEventArgs e)&lt;br /&gt;    {&lt;br /&gt;         List&amp;lt;DirectoryServiceExt.DomainUser&amp;gt; lstUsers=e.Result;&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Make sure that you use basicHttpbinding while deploying the WCF service &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/710790865187981786-2104757675163304507?l=codehunting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codehunting.blogspot.com/feeds/2104757675163304507/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codehunting.blogspot.com/2009/06/retrieving-domain-users-in-silverlight.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/710790865187981786/posts/default/2104757675163304507'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/710790865187981786/posts/default/2104757675163304507'/><link rel='alternate' type='text/html' href='http://codehunting.blogspot.com/2009/06/retrieving-domain-users-in-silverlight.html' title='Retrieving domain users in a Silverlight application using a WCF Service'/><author><name>Hari Nair</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_RlRSGdIaPg8/SLvfhjazbnI/AAAAAAAAAAU/m6PBpkis1q4/S220/DSC00793.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-710790865187981786.post-4663702207299095192</id><published>2009-06-11T00:19:00.001-07:00</published><updated>2009-06-11T05:13:33.657-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='NSIS'/><title type='text'>Getting Started with NSIS(Nullsoft Scriptable Install System)</title><content type='html'>&lt;p&gt;NSIS (Nullsoft Scriptable Install System) is a tool that allows programmers to create such installers for Windows.It is released under an open source license and is completely free for any use. &lt;/p&gt;  &lt;p&gt;NSIS creates installers that are capable of installing, uninstalling, setting system settings, extracting files, etc. Because it's based on script files, you can fully control every part of your installers. The script language supports variables, functions, string manipulation, just like a normal programming language - but designed for the creation of installers. Even with all these features, NSIS is still the smallest installer system available. With the default options, it has an overhead of only 34 KB. Let's now try a very simple installer with the NSIS as below &lt;/p&gt;  &lt;p&gt;1. Download latest NSIS and install &lt;/p&gt;  &lt;p&gt;2. Open any text editor and copy the following snippet. Save this file as &lt;filename&gt;.nsi &lt;/p&gt;  &lt;div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; height: 213px; background-color: #f4f4f4"&gt;   &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;;-----------------------------------------------------------------------&lt;span style="color: #008000"&gt;--&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008000"&gt;; Installer script for My Installer 1.0&lt;/span&gt;&lt;br /&gt;;-----------------------------------------------------------------------&lt;span style="color: #008000"&gt;--&lt;/span&gt;&lt;br /&gt;;------------------------------------------&lt;span style="color: #008000"&gt;--&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008000"&gt;; General definitions&lt;/span&gt;&lt;br /&gt;!define PRODUCT_NAME &amp;quot;My Installer&amp;quot;&lt;br /&gt;!define PRODUCT_VERSION_MAJOR 1&lt;br /&gt;!define PRODUCT_VERSION_MINOR 0&lt;br /&gt;!define PRODUCT_DISPLAY_VERSION &amp;quot;1.0&amp;quot;&lt;br /&gt;!define PRODUCT_PUBLISHER &amp;quot;XYZ, Inc.&amp;quot;&lt;br /&gt;!define PRODUCT_WEB_SITE &amp;quot;http://www.XYZ.com&amp;quot;&lt;br /&gt;!define PRODUCT_UNINST_KEY &amp;quot;Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME} 1.0&amp;quot;&lt;br /&gt;!define PRODUCT_UNINST_ROOT_KEY &amp;quot;HKLM&amp;quot;&lt;br /&gt;!define PRODUCT_INSTALL_DIR &amp;quot;$PROGRAMFILES\XYZ\${PRODUCT_NAME} 1.0&amp;quot;&lt;br /&gt;&lt;br /&gt;;------------------------------------------&lt;span style="color: #008000"&gt;--&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008000"&gt;; Maximum compression&lt;/span&gt;&lt;br /&gt;SetCompressor /SOLID lzma&lt;br /&gt;&lt;br /&gt;;------------------------------------------&lt;span style="color: #008000"&gt;--&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008000"&gt;; Modern UI (MUI 1.67 compatible) definitions&lt;/span&gt;&lt;br /&gt;!&lt;span style="color: #0000ff"&gt;include&lt;/span&gt; &amp;quot;MUI2.nsh&amp;quot;&lt;br /&gt;&lt;br /&gt;; MUI Settings&lt;br /&gt;!define MUI_ABORTWARNING&lt;br /&gt;!define MUI_ICON &amp;quot;resources\icon.ico&amp;quot;&lt;br /&gt;!define MUI_UNICON &amp;quot;resources\icon.ico&amp;quot;&lt;br /&gt;!define MUI_HEADERIMAGE&lt;br /&gt;!define MUI_HEADERIMAGE_BITMAP &amp;quot;resources\header.bmp&amp;quot;&lt;br /&gt;!define MUI_HEADERIMAGE_RIGHT&lt;br /&gt;!define MUI_HEADER_TRANSPARENT_TEXT&lt;br /&gt;!define MUI_WELCOMEFINISHPAGE_BITMAP &amp;quot;resources\welcome.bmp&amp;quot;&lt;br /&gt;!define MUI_WELCOMEFINISHPAGE_BITMAP_NOSTRETCH&lt;br /&gt;;!define MUI_FINISHPAGE_NOAUTOCLOSE&lt;br /&gt;&lt;br /&gt;; Welcome page&lt;br /&gt;!insertmacro MUI_PAGE_WELCOME&lt;br /&gt;&lt;br /&gt;; License page&lt;br /&gt;!define MUI_LICENSEPAGE_CHECKBOX&lt;br /&gt;!insertmacro MUI_PAGE_LICENSE &amp;quot;resources\license.rtf&amp;quot;&lt;br /&gt;&lt;br /&gt;; Instfiles page&lt;br /&gt;!insertmacro MUI_PAGE_INSTFILES&lt;br /&gt;&lt;br /&gt;; Finish page&lt;br /&gt;!define MUI_FINISHPAGE_SHOWREADME &amp;quot;$INSTDIR\README.txt&amp;quot;&lt;br /&gt;!define MUI_FINISHPAGE_NOREBOOTSUPPORT&lt;br /&gt;!insertmacro MUI_PAGE_FINISH&lt;br /&gt;&lt;br /&gt;; Uninstaller pages&lt;br /&gt;!insertmacro MUI_UNPAGE_INSTFILES&lt;br /&gt;&lt;br /&gt;; &lt;span style="color: #0000ff"&gt;Language&lt;/span&gt; files&lt;br /&gt;!insertmacro MUI_LANGUAGE &amp;quot;English&amp;quot;&lt;br /&gt;&lt;br /&gt;!&lt;span style="color: #0000ff"&gt;include&lt;/span&gt; &amp;quot;nsDialogs.nsh&amp;quot;&lt;br /&gt;!&lt;span style="color: #0000ff"&gt;include&lt;/span&gt; &amp;quot;LogicLib.nsh&amp;quot;&lt;br /&gt;!&lt;span style="color: #0000ff"&gt;include&lt;/span&gt; &amp;quot;StrFunc.nsh&amp;quot;&lt;br /&gt;${StrLoc}&lt;br /&gt;&lt;br /&gt;;------------------------------------------&lt;span style="color: #008000"&gt;--&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008000"&gt;; Installer Settings&lt;/span&gt;&lt;br /&gt;Name &amp;quot;${PRODUCT_NAME} v1.0&amp;quot;&lt;br /&gt;OutFile &amp;quot;XYZ_1.0.exe&amp;quot;&lt;br /&gt;InstallDir &amp;quot;${PRODUCT_INSTALL_DIR}&amp;quot;&lt;br /&gt;ShowInstDetails show&lt;br /&gt;ShowUnInstDetails show&lt;br /&gt;BrandingText &amp;quot;${PRODUCT_PUBLISHER}&amp;quot;&lt;br /&gt;RequestExecutionLevel &lt;span style="color: #0000ff"&gt;admin&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;;-----------------------------------------------------------------------&lt;span style="color: #008000"&gt;--&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008000"&gt;; Initialize Function&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;Function&lt;/span&gt; .onInit&lt;br /&gt;    &lt;br /&gt;    ; Determine &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; installed&lt;br /&gt;    ReadRegStr $R0 ${PRODUCT_UNINST_ROOT_KEY} &amp;quot;${PRODUCT_UNINST_KEY}&amp;quot; &amp;quot;UninstallString&amp;quot;&lt;br /&gt;    StrCmp $R0 &amp;quot;&amp;quot; Proceed EqualMinor&lt;br /&gt;&lt;br /&gt;    EqualMinor:&lt;br /&gt;    MessageBox MB_OKCANCEL|MB_ICONEXCLAMATION \&lt;br /&gt;    &amp;quot;${PRODUCT_NAME} &lt;span style="color: #0000ff"&gt;is&lt;/span&gt; already installed. $\n$\nClick `OK` &lt;span style="color: #0000ff"&gt;to&lt;/span&gt; remove the \&lt;br /&gt;    previous installation &lt;span style="color: #0000ff"&gt;or&lt;/span&gt; `Cancel` &lt;span style="color: #0000ff"&gt;to&lt;/span&gt; cancel.&amp;quot; \&lt;br /&gt;    IDOK UninstallPrevious&lt;br /&gt;    Abort&lt;br /&gt;&lt;br /&gt;    ;------------------------------------------&lt;span style="color: #008000"&gt;--&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008000"&gt;    ; Run the uninstaller&lt;/span&gt;&lt;br /&gt;    UninstallPrevious:&lt;br /&gt;    HideWindow&lt;br /&gt;    ClearErrors&lt;br /&gt;    ExecWait &lt;span style="color: #006080"&gt;'$R0 _?=$INSTDIR'&lt;/span&gt; ;Do &lt;span style="color: #0000ff"&gt;not&lt;/span&gt; copy the uninstaller &lt;span style="color: #0000ff"&gt;to&lt;/span&gt; a temp &lt;span style="color: #0000ff"&gt;file&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff"&gt;Delete&lt;/span&gt; &lt;span style="color: #006080"&gt;'$R0'&lt;/span&gt;&lt;br /&gt;    BringToFront&lt;br /&gt;    &lt;span style="color: #0000ff"&gt;Goto&lt;/span&gt; Proceed&lt;br /&gt;  &lt;br /&gt;    Proceed:&lt;br /&gt;    &lt;br /&gt;FunctionEnd&lt;br /&gt;&lt;br /&gt;;-----------------------------------------------------------------------&lt;span style="color: #008000"&gt;--&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008000"&gt;; Main Install Section&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;Section&lt;/span&gt; &amp;quot;MainSection&amp;quot; MainSection&lt;br /&gt;&lt;br /&gt;    DetailPrint &amp;quot;Installing Components...&amp;quot;&lt;br /&gt;    SetOutPath &amp;quot;${PRODUCT_INSTALL_DIR}&amp;quot;&lt;br /&gt;    SetOverwrite ifnewer&lt;br /&gt;    &lt;span style="color: #0000ff"&gt;File&lt;/span&gt; &amp;quot;/oname=abc.png&amp;quot; &amp;quot;Build\abc.png&amp;quot;&lt;br /&gt;    &lt;span style="color: #0000ff"&gt;File&lt;/span&gt; &amp;quot;/oname=icon.ico&amp;quot; &amp;quot;resources\blendables1.ico&amp;quot;&lt;br /&gt;&lt;br /&gt;SectionEnd&lt;br /&gt;&lt;br /&gt;;-----------------------------------------------------------------------&lt;span style="color: #008000"&gt;--&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008000"&gt;; Installer Finished callbacks&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;Function&lt;/span&gt; .onInstSuccess&lt;br /&gt;FunctionEnd&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;Function&lt;/span&gt; .onInstFailed&lt;br /&gt;FunctionEnd&lt;br /&gt;&lt;br /&gt;;-----------------------------------------------------------------------&lt;span style="color: #008000"&gt;--&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008000"&gt;; Post Install&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;Section&lt;/span&gt; -Post&lt;br /&gt;    WriteUninstaller &amp;quot;$INSTDIR\uninst.exe&amp;quot;&lt;br /&gt;&lt;br /&gt;    ;------------------------------------------&lt;span style="color: #008000"&gt;--&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008000"&gt;    ; Add/Remove registry settings&lt;/span&gt;&lt;br /&gt;    WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} &amp;quot;${PRODUCT_UNINST_KEY}&amp;quot; &amp;quot;DisplayName&amp;quot; &amp;quot;$(^Name)&amp;quot;&lt;br /&gt;    WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} &amp;quot;${PRODUCT_UNINST_KEY}&amp;quot; &amp;quot;UninstallString&amp;quot; &amp;quot;$INSTDIR\uninst.exe&amp;quot;&lt;br /&gt;    WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} &amp;quot;${PRODUCT_UNINST_KEY}&amp;quot; &amp;quot;DisplayIcon&amp;quot; &amp;quot;$INSTDIR\icon.ico&amp;quot;&lt;br /&gt;    WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} &amp;quot;${PRODUCT_UNINST_KEY}&amp;quot; &amp;quot;DisplayVersion&amp;quot; &amp;quot;${PRODUCT_DISPLAY_VERSION}&amp;quot;&lt;br /&gt;    WriteRegDWORD ${PRODUCT_UNINST_ROOT_KEY} &amp;quot;${PRODUCT_UNINST_KEY}&amp;quot; &amp;quot;VersionMajor&amp;quot; &amp;quot;${PRODUCT_VERSION_MAJOR}&amp;quot;&lt;br /&gt;    WriteRegDWORD ${PRODUCT_UNINST_ROOT_KEY} &amp;quot;${PRODUCT_UNINST_KEY}&amp;quot; &amp;quot;VersionMinor&amp;quot; &amp;quot;${PRODUCT_VERSION_MINOR}&amp;quot;&lt;br /&gt;    WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} &amp;quot;${PRODUCT_UNINST_KEY}&amp;quot; &amp;quot;URLInfoAbout&amp;quot; &amp;quot;${PRODUCT_WEB_SITE}&amp;quot;&lt;br /&gt;    WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} &amp;quot;${PRODUCT_UNINST_KEY}&amp;quot; &amp;quot;Publisher&amp;quot; &amp;quot;${PRODUCT_PUBLISHER}&amp;quot;&lt;br /&gt;SectionEnd&lt;br /&gt;&lt;br /&gt;;-----------------------------------------------------------------------&lt;span style="color: #008000"&gt;--&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008000"&gt;; Uninstaller&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;Function&lt;/span&gt; un.onUninstSuccess&lt;br /&gt;    HideWindow&lt;br /&gt;    MessageBox MB_ICONINFORMATION|MB_OK &amp;quot;$(^Name) was successfully removed &lt;span style="color: #0000ff"&gt;from&lt;/span&gt; your computer.&amp;quot;&lt;br /&gt;FunctionEnd&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;Function&lt;/span&gt; un.onInit&lt;br /&gt;    MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 &amp;quot;&lt;span style="color: #0000ff"&gt;Are&lt;/span&gt; you sure you want &lt;span style="color: #0000ff"&gt;to&lt;/span&gt; completely remove $(^Name) &lt;span style="color: #0000ff"&gt;and&lt;/span&gt; &lt;span style="color: #0000ff"&gt;all&lt;/span&gt; &lt;span style="color: #0000ff"&gt;of&lt;/span&gt; its components?&amp;quot; IDYES +2&lt;br /&gt;    Abort&lt;br /&gt;FunctionEnd&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;Section&lt;/span&gt; Uninstall&lt;br /&gt;&lt;br /&gt;    ;------------------------------------------&lt;span style="color: #008000"&gt;--&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008000"&gt;    ; Registry&lt;/span&gt;&lt;br /&gt;    DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} &amp;quot;${PRODUCT_UNINST_KEY}&amp;quot;&lt;br /&gt;    &lt;span style="color: #0000ff"&gt;Delete&lt;/span&gt; &amp;quot;$INSTDIR\icon.ico&amp;quot;&lt;br /&gt;    &lt;span style="color: #0000ff"&gt;Delete&lt;/span&gt; &amp;quot;$INSTDIR\uninst.exe&amp;quot;&lt;br /&gt;    &lt;span style="color: #0000ff"&gt;Delete&lt;/span&gt; &amp;quot;${PRODUCT_INSTALL_DIR}\abc.png&amp;quot;&lt;br /&gt;    RMDir /r &amp;quot;${PRODUCT_INSTALL_DIR}&amp;quot;&lt;br /&gt;    SetAutoClose &lt;span style="color: #0000ff"&gt;True&lt;/span&gt;&lt;br /&gt;    &lt;br /&gt;SectionEnd&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;3. Create a folder named Resources and copy/create the files like .ico and .rtf as mentioned in the script. This folder should be created in the same location where the .nsi file is saved &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;4. Right click the &amp;quot;.nsi&amp;quot; file and select &amp;quot;Compile NSIS Script&amp;quot; &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;5. A compilation window will pop up and will list the errors with line numbers if the compilation failed. I would recommend using Notepad++ as the editor for nsi script as it is very easy to navigate to the line number mentioned in the compiler window (for errors in the script) . If the compilation went with out any errors the installer will be ready and available at the same location as the .nsi file.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/710790865187981786-4663702207299095192?l=codehunting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codehunting.blogspot.com/feeds/4663702207299095192/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codehunting.blogspot.com/2009/06/getting-started-with-nsisnullsoft.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/710790865187981786/posts/default/4663702207299095192'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/710790865187981786/posts/default/4663702207299095192'/><link rel='alternate' type='text/html' href='http://codehunting.blogspot.com/2009/06/getting-started-with-nsisnullsoft.html' title='Getting Started with NSIS(Nullsoft Scriptable Install System)'/><author><name>Hari Nair</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_RlRSGdIaPg8/SLvfhjazbnI/AAAAAAAAAAU/m6PBpkis1q4/S220/DSC00793.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-710790865187981786.post-2589408364057197610</id><published>2009-06-10T05:05:00.001-07:00</published><updated>2009-06-10T05:50:52.979-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WPF'/><category scheme='http://www.blogger.com/atom/ns#' term='Cider'/><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight'/><category scheme='http://www.blogger.com/atom/ns#' term='Blend'/><title type='text'>Design time Experience for your WPF/Silverlight controls</title><content type='html'>&lt;p&gt;It is always a good practice to ship your WPF/Silverlight controls with its design time experience. Design time experience can be extended with the help of design assemblies supplies by Microsoft&lt;/p&gt;  &lt;p&gt;Steps :&lt;/p&gt;  &lt;p&gt;&lt;u&gt;&lt;strong&gt;Create your WPF/Silverlight control&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;Create a visual studio class library project and name it MyControls&lt;/p&gt;  &lt;p&gt;Subclass a control of your choice and add one dependency property. I did that for a button control in my sample. I used this control to demonstrate the property Editor in design time extensibility&lt;/p&gt;  &lt;div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; background-color: #f4f4f4"&gt;   &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; 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; MyButton : Button&lt;br /&gt;    {&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;double&lt;/span&gt; MyHeight&lt;br /&gt;        {&lt;br /&gt;            get { &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; (&lt;span style="color: #0000ff"&gt;double&lt;/span&gt;)GetValue(MyHeightProperty); }&lt;br /&gt;            set { SetValue(MyHeightProperty, &lt;span style="color: #0000ff"&gt;value&lt;/span&gt;); }&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: #008000"&gt;// Using a DependencyProperty as the backing store for MyHeight.  This enables animation, styling, binding, etc...&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff"&gt;readonly&lt;/span&gt; DependencyProperty MyHeightProperty =&lt;br /&gt;            DependencyProperty.Register(&lt;span style="color: #006080"&gt;&amp;quot;MyHeight&amp;quot;&lt;/span&gt;, &lt;span style="color: #0000ff"&gt;typeof&lt;/span&gt;(&lt;span style="color: #0000ff"&gt;double&lt;/span&gt;), &lt;span style="color: #0000ff"&gt;typeof&lt;/span&gt;(MyButton), &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; UIPropertyMetadata(0d));&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    }&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Create a second class as above to demonstrate the category Editor concept in design time Extensibility . My second class is as follows&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; background-color: #f4f4f4"&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; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; 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; MyTextBox : TextBox&lt;br /&gt; {&lt;br /&gt;     &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;double&lt;/span&gt; MyWidth&lt;br /&gt;     {&lt;br /&gt;         get { &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; (&lt;span style="color: #0000ff"&gt;double&lt;/span&gt;)GetValue(MyWidthProperty); }&lt;br /&gt;         set { SetValue(MyWidthProperty, &lt;span style="color: #0000ff"&gt;value&lt;/span&gt;); }&lt;br /&gt;     }&lt;br /&gt;&lt;br /&gt;     &lt;span style="color: #008000"&gt;// Using a DependencyProperty as the backing store for MyWidth.  This enables animation, styling, binding, etc...&lt;/span&gt;&lt;br /&gt;     &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff"&gt;readonly&lt;/span&gt; DependencyProperty MyWidthProperty =&lt;br /&gt;         DependencyProperty.Register(&lt;span style="color: #006080"&gt;&amp;quot;MyWidth&amp;quot;&lt;/span&gt;, &lt;span style="color: #0000ff"&gt;typeof&lt;/span&gt;(&lt;span style="color: #0000ff"&gt;double&lt;/span&gt;), &lt;span style="color: #0000ff"&gt;typeof&lt;/span&gt;(MyTextBox), &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; UIPropertyMetadata(20d));&lt;br /&gt; }&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;u&gt;Create the Design time project for the control&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Create a class library project named MyControls.design and add reference to the following assemblies &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Microsoft.Windows.Design.dll&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;MyControls.dll&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Create a class which inherit from the IRegisterMetadata interface and write necessary code to update the metadatstore (a container of custom design-time attributes).&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; background-color: #f4f4f4"&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; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; 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; DesignMetaDataMain : IRegisterMetadata&lt;br /&gt;{&lt;br /&gt;    &lt;span style="color: #cc6633"&gt;#region&lt;/span&gt; IRegisterMetadata Members&lt;br /&gt;    &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; Register()&lt;br /&gt;    {&lt;br /&gt;        AttributeTableBuilder builder = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; AttributeTableBuilder();&lt;br /&gt;        &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; MyButtonMetadata().AddMetadata(builder);&lt;br /&gt;        &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; MyTextBoxMetadata().AddMetadata(builder);&lt;br /&gt;        MetadataStore.AddAttributeTable(builder.CreateTable());&lt;br /&gt;    }&lt;br /&gt;    &lt;span style="color: #cc6633"&gt;#endregion&lt;/span&gt;&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; background-color: #f4f4f4"&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; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; 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; MyButtonMetadata&lt;br /&gt;   {&lt;br /&gt;       &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; AddMetadata(AttributeTableBuilder tableBuilder)&lt;br /&gt;       {&lt;br /&gt;           &lt;span style="color: #008000"&gt;//Property Editor&lt;/span&gt;&lt;br /&gt;           tableBuilder.AddCustomAttributes(&lt;br /&gt;                                           &lt;span style="color: #0000ff"&gt;typeof&lt;/span&gt;(MyButton), &lt;br /&gt;                                           MyButton.MyHeightProperty,&lt;br /&gt;                                           &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; MyButtonCategoryAttribute(), &lt;br /&gt;                                           &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; EditorAttribute(&lt;span style="color: #0000ff"&gt;typeof&lt;/span&gt;(TextExtendedEditor), &lt;br /&gt;                                               &lt;span style="color: #0000ff"&gt;typeof&lt;/span&gt;(TextExtendedEditor)));&lt;br /&gt;       }&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   &lt;span style="color: #0000ff"&gt;internal&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; MyButtonCategoryAttribute : CategoryAttribute&lt;br /&gt;   {&lt;br /&gt;       &lt;span style="color: #0000ff"&gt;protected&lt;/span&gt; &lt;span style="color: #0000ff"&gt;override&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; GetLocalizedString(&lt;span style="color: #0000ff"&gt;string&lt;/span&gt; &lt;span style="color: #0000ff"&gt;value&lt;/span&gt;)&lt;br /&gt;       {&lt;br /&gt;           &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; &lt;span style="color: #006080"&gt;&amp;quot;MyButton&amp;quot;&lt;/span&gt;;&lt;br /&gt;       }&lt;br /&gt;   }&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; background-color: #f4f4f4"&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; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; 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; MyTextBoxMetadata&lt;br /&gt; {&lt;br /&gt;     &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; AddMetadata(AttributeTableBuilder tableBuilder)&lt;br /&gt;     {&lt;br /&gt;         tableBuilder.AddCustomAttributes(&lt;span style="color: #0000ff"&gt;typeof&lt;/span&gt;(MyTextBox), MyTextBox.MyWidthProperty, &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; MyTextBoxCategoryAttribute());&lt;br /&gt;         tableBuilder.AddCustomAttributes(&lt;span style="color: #0000ff"&gt;typeof&lt;/span&gt;(MyTextBox), &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; EditorAttribute(&lt;span style="color: #0000ff"&gt;typeof&lt;/span&gt;(MyTextBoxCategoryEditor), &lt;span style="color: #0000ff"&gt;typeof&lt;/span&gt;(MyTextBoxCategoryEditor)));&lt;br /&gt;     }&lt;br /&gt; }&lt;br /&gt; &lt;span style="color: #0000ff"&gt;internal&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; MyTextBoxCategoryAttribute : CategoryAttribute&lt;br /&gt; {&lt;br /&gt;     &lt;span style="color: #0000ff"&gt;protected&lt;/span&gt; &lt;span style="color: #0000ff"&gt;override&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; GetLocalizedString(&lt;span style="color: #0000ff"&gt;string&lt;/span&gt; &lt;span style="color: #0000ff"&gt;value&lt;/span&gt;)&lt;br /&gt;     {&lt;br /&gt;         &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; &lt;span style="color: #006080"&gt;&amp;quot;MyTextBox&amp;quot;&lt;/span&gt;;&lt;br /&gt;     }&lt;br /&gt; }&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Category Editor definition&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; background-color: #f4f4f4"&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; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; 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; MyTextBoxCategoryEditor : CategoryEditor&lt;br /&gt;  {&lt;br /&gt;&lt;br /&gt;      &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;override&lt;/span&gt; &lt;span style="color: #0000ff"&gt;bool&lt;/span&gt; ConsumesProperty(PropertyEntry property)&lt;br /&gt;      {&lt;br /&gt;          &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff"&gt;true&lt;/span&gt;;&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;      &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;override&lt;/span&gt; System.Windows.DataTemplate EditorTemplate&lt;br /&gt;      {&lt;br /&gt;          get &lt;br /&gt;          {&lt;br /&gt;              &lt;span style="color: #0000ff"&gt;try&lt;/span&gt;&lt;br /&gt;              {&lt;br /&gt;                  Resources myresourcedictionary = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Resources();&lt;br /&gt;                  &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; myresourcedictionary[&lt;span style="color: #006080"&gt;&amp;quot;myTextBoxEditorTemplate&amp;quot;&lt;/span&gt;] &lt;span style="color: #0000ff"&gt;as&lt;/span&gt; DataTemplate;&lt;br /&gt;&lt;br /&gt;              }&lt;br /&gt;              &lt;span style="color: #0000ff"&gt;catch&lt;/span&gt; (Exception ex)&lt;br /&gt;              {&lt;br /&gt;                  &lt;br /&gt;                  MessageBox.Show(ex.Message);&lt;br /&gt;              }&lt;br /&gt;              &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff"&gt;null&lt;/span&gt;;&lt;br /&gt;          }&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;      &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;override&lt;/span&gt; &lt;span style="color: #0000ff"&gt;object&lt;/span&gt; GetImage(System.Windows.Size desiredSize)&lt;br /&gt;      {&lt;br /&gt;          &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff"&gt;null&lt;/span&gt;;&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;      &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;override&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; TargetCategory&lt;br /&gt;      {&lt;br /&gt;          get &lt;br /&gt;          {&lt;br /&gt;              &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; &lt;span style="color: #006080"&gt;&amp;quot;MyTextBox&amp;quot;&lt;/span&gt;;&lt;br /&gt;          }&lt;br /&gt;      }&lt;br /&gt;  }&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Property Editor definition&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; background-color: #f4f4f4"&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; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; 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; TextExtendedEditor : ExtendedPropertyValueEditor&lt;br /&gt; {&lt;br /&gt;     &lt;span style="color: #0000ff"&gt;private&lt;/span&gt; Resources res = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Resources();&lt;br /&gt;&lt;br /&gt;     &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; TextExtendedEditor()&lt;br /&gt;     {&lt;br /&gt;         &lt;span style="color: #0000ff"&gt;this&lt;/span&gt;.InlineEditorTemplate = res[&lt;span style="color: #006080"&gt;&amp;quot;myButtonEditorTemplate&amp;quot;&lt;/span&gt;] &lt;span style="color: #0000ff"&gt;as&lt;/span&gt; DataTemplate;&lt;br /&gt;     }&lt;br /&gt;&lt;br /&gt; }&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Resource Dictionary code&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; background-color: #f4f4f4"&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; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&amp;lt;ResourceDictionary xmlns=&lt;span style="color: #006080"&gt;&amp;quot;http://schemas.microsoft.com/winfx/2006/xaml/presentation&amp;quot;&lt;/span&gt;&lt;br /&gt;    xmlns:x=&lt;span style="color: #006080"&gt;&amp;quot;http://schemas.microsoft.com/winfx/2006/xaml&amp;quot;&lt;/span&gt;&lt;br /&gt;                    xmlns:PropertyEditing=&lt;span style="color: #006080"&gt;&amp;quot;clr-namespace:Microsoft.Windows.Design.PropertyEditing;assembly=Microsoft.Windows.Design&amp;quot;&lt;/span&gt;&lt;br /&gt;                    x:Class=&lt;span style="color: #006080"&gt;&amp;quot;MyControls.Design.Resources&amp;quot;&lt;/span&gt; &amp;gt;&lt;br /&gt;    &amp;lt;DataTemplate x:Key=&lt;span style="color: #006080"&gt;&amp;quot;myButtonEditorTemplate&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;        &amp;lt;Grid&amp;gt;&lt;br /&gt;            &amp;lt;Grid.ColumnDefinitions&amp;gt;&lt;br /&gt;                &amp;lt;ColumnDefinition Width=&lt;span style="color: #006080"&gt;&amp;quot;1*&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;                &amp;lt;ColumnDefinition Width=&lt;span style="color: #006080"&gt;&amp;quot;Auto&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;            &amp;lt;/Grid.ColumnDefinitions&amp;gt;&lt;br /&gt;            &amp;lt;Button  Grid.Column=&lt;span style="color: #006080"&gt;&amp;quot;0&amp;quot;&lt;/span&gt;&lt;br /&gt;                     Content=&lt;span style="color: #006080"&gt;&amp;quot;{Binding StringValue}&amp;quot;&lt;/span&gt; Click=&lt;span style="color: #006080"&gt;&amp;quot;Button_Click&amp;quot;&lt;/span&gt;/&amp;gt;&lt;br /&gt;            &amp;lt;TextBox Text=&lt;span style="color: #006080"&gt;&amp;quot;{Binding StringValue}&amp;quot;&lt;/span&gt;&lt;br /&gt;                     Grid.Column=&lt;span style="color: #006080"&gt;&amp;quot;1&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;            &amp;lt;!--&amp;lt;PropertyEditing:EditModeSwitchButton Grid.Column=&lt;span style="color: #006080"&gt;&amp;quot;1&amp;quot;&lt;/span&gt; /&amp;gt;--&amp;gt;&lt;br /&gt;        &amp;lt;/Grid&amp;gt;&lt;br /&gt;    &amp;lt;/DataTemplate&amp;gt;&lt;br /&gt;    &amp;lt;DataTemplate x:Key=&lt;span style="color: #006080"&gt;&amp;quot;myTextBoxEditorTemplate&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;        &amp;lt;Expander&amp;gt;&lt;br /&gt;            &amp;lt;ItemsControl ItemsSource=&lt;span style="color: #006080"&gt;&amp;quot;{Binding Path=Properties}&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;                &amp;lt;ItemsControl.ItemTemplate&amp;gt;&lt;br /&gt;                    &amp;lt;DataTemplate&amp;gt;&lt;br /&gt;                        &amp;lt;Grid&amp;gt;&lt;br /&gt;                            &amp;lt;Grid.ColumnDefinitions&amp;gt;&lt;br /&gt;                                &amp;lt;ColumnDefinition SharedSizeGroup=&lt;span style="color: #006080"&gt;&amp;quot;Left&amp;quot;&lt;/span&gt;&lt;br /&gt;                                                  Width=&lt;span style="color: #006080"&gt;&amp;quot;0.4*&amp;quot;&lt;/span&gt;&lt;br /&gt;                                                  MinWidth=&lt;span style="color: #006080"&gt;&amp;quot;100&amp;quot;&lt;/span&gt;&lt;br /&gt;                                                  MaxWidth=&lt;span style="color: #006080"&gt;&amp;quot;180&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;                                &amp;lt;ColumnDefinition SharedSizeGroup=&lt;span style="color: #006080"&gt;&amp;quot;Middle&amp;quot;&lt;/span&gt;&lt;br /&gt;                                                  Width=&lt;span style="color: #006080"&gt;&amp;quot;0.6*&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;                                &amp;lt;ColumnDefinition SharedSizeGroup=&lt;span style="color: #006080"&gt;&amp;quot;Right&amp;quot;&lt;/span&gt;&lt;br /&gt;                                                  Width=&lt;span style="color: #006080"&gt;&amp;quot;12&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;                            &amp;lt;/Grid.ColumnDefinitions&amp;gt;&lt;br /&gt;                            &amp;lt;PropertyEditing:PropertyContainer Grid.ColumnSpan=&lt;span style="color: #006080"&gt;&amp;quot;3&amp;quot;&lt;/span&gt;&lt;br /&gt;                                                              PropertyEntry=&lt;span style="color: #006080"&gt;&amp;quot;{Binding}&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;                        &amp;lt;/Grid&amp;gt;&lt;br /&gt;                    &amp;lt;/DataTemplate&amp;gt;&lt;br /&gt;                &amp;lt;/ItemsControl.ItemTemplate&amp;gt;&lt;br /&gt;            &amp;lt;/ItemsControl&amp;gt;&lt;br /&gt;        &amp;lt;/Expander&amp;gt;&lt;br /&gt;    &amp;lt;/DataTemplate&amp;gt;&lt;br /&gt;&amp;lt;/ResourceDictionary&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Build this project and copy the assembly to the bin\debug\design folder of the MyControls project. The design folder will not be there by default..you need to create a folder with that name. For deployment scenarios you must create a design folder on the location of the mycontrols.dll and place the design dll there.&amp;#160; &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;u&gt;Consume the control in a project&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Create a WPF application and use the two controls created in project MyControls &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; background-color: #f4f4f4"&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; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Window&lt;/span&gt; &lt;span style="color: #ff0000"&gt;x:Class&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;WPFHost.Window1&amp;quot;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #ff0000"&gt;xmlns&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;http://schemas.microsoft.com/winfx/2006/xaml/presentation&amp;quot;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #ff0000"&gt;xmlns:x&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;http://schemas.microsoft.com/winfx/2006/xaml&amp;quot;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #ff0000"&gt;xmlns:local&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;clr-namespace:MyControls;assembly=MyControls&amp;quot;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #ff0000"&gt;Title&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;Window1&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Height&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;300&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Width&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;300&amp;quot;&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;StackPanel&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;local:MyButton&lt;/span&gt; &lt;span style="color: #ff0000"&gt;MyHeight&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;100&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Content&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;MyButton&amp;quot;&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;local:MyTextBox&lt;/span&gt; &lt;span style="color: #ff0000"&gt;MyWidth&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;200&amp;quot;&lt;/span&gt;&lt;br /&gt;                         &lt;span style="color: #ff0000"&gt;Text&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;MyTextBox&amp;quot;&lt;/span&gt;&lt;br /&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;StackPanel&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;Window&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;You are done and you should be able to see a custom property editor in case of the myTextBox control and a custom property editor for myButton as shown below(Note that the dependency property we added for the controls are shown in a separate bucket in the property pages&lt;/p&gt;&lt;br /&gt;Design time in Cider &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;br /&gt;    &lt;tr&gt;&lt;br /&gt;      &lt;td&gt;&lt;img src="http://2.bp.blogspot.com/_RlRSGdIaPg8/Si-qHo--yvI/AAAAAAAAACk/LBneqVLWSpU/s320/myButtonCider.jpg" /&gt; &lt;/td&gt;&lt;br /&gt;&lt;br /&gt;      &lt;td&gt;&lt;img src="http://4.bp.blogspot.com/_RlRSGdIaPg8/Si-qH3ePVGI/AAAAAAAAACs/cheI06TG0Lo/s320/myTextBoxCider.jpg" /&gt; &lt;/td&gt;&lt;br /&gt;    &lt;/tr&gt;&lt;br /&gt;  &lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Design time in Blend &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;br /&gt;    &lt;tr&gt;&lt;br /&gt;      &lt;td&gt;&lt;img src="http://3.bp.blogspot.com/_RlRSGdIaPg8/Si-qHuIHQtI/AAAAAAAAACc/cN7k5ahiF5k/s320/MyButtonBlend.jpg" /&gt; &lt;/td&gt;&lt;br /&gt;&lt;br /&gt;      &lt;td&gt;&lt;img src="http://4.bp.blogspot.com/_RlRSGdIaPg8/Si-qHVBpqVI/AAAAAAAAACU/lh5-_JbcYbo/s320/MyTextBoxBlend.jpg" /&gt; &lt;/td&gt;&lt;br /&gt;    &lt;/tr&gt;&lt;br /&gt;  &lt;/tbody&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/710790865187981786-2589408364057197610?l=codehunting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codehunting.blogspot.com/feeds/2589408364057197610/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codehunting.blogspot.com/2009/06/design-time-experience-for-your.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/710790865187981786/posts/default/2589408364057197610'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/710790865187981786/posts/default/2589408364057197610'/><link rel='alternate' type='text/html' href='http://codehunting.blogspot.com/2009/06/design-time-experience-for-your.html' title='Design time Experience for your WPF/Silverlight controls'/><author><name>Hari Nair</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_RlRSGdIaPg8/SLvfhjazbnI/AAAAAAAAAAU/m6PBpkis1q4/S220/DSC00793.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_RlRSGdIaPg8/Si-qHo--yvI/AAAAAAAAACk/LBneqVLWSpU/s72-c/myButtonCider.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-710790865187981786.post-6058089472341297624</id><published>2009-05-27T04:19:00.001-07:00</published><updated>2009-05-27T04:25:31.573-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight'/><category scheme='http://www.blogger.com/atom/ns#' term='WCF'/><title type='text'>Windows authentication in Silverlight</title><content type='html'>&lt;p&gt;Authenticating a windows user from a Silverlight application is pretty simple with the following steps&lt;/p&gt;  &lt;p&gt;1.Create a WCF service with a method to Authenticate the windows user&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Interface&lt;/strong&gt; &lt;/p&gt;  &lt;div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; background-color: #f4f4f4"&gt;   &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;[ServiceContract]&lt;br /&gt;    &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;interface&lt;/span&gt; IUser&lt;br /&gt;    {&lt;br /&gt;        [OperationContract]&lt;br /&gt;        &lt;span style="color: #0000ff"&gt;bool&lt;/span&gt; AuthenticateUser(&lt;span style="color: #0000ff"&gt;string&lt;/span&gt; UserName, &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; Password);&lt;br /&gt;    }&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Class&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; background-color: #f4f4f4"&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; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; 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; User : IUser&lt;br /&gt;   {&lt;br /&gt;       &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;bool&lt;/span&gt; AuthenticateUser(&lt;span style="color: #0000ff"&gt;string&lt;/span&gt; UserName, &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; Password)&lt;br /&gt;       {&lt;br /&gt;           &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; (Helper.LogOnUser(UserName.Split(&lt;span style="color: #0000ff"&gt;new&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt;[] { &lt;span style="color: #006080"&gt;&amp;quot;@&amp;quot;&lt;/span&gt; }, StringSplitOptions.RemoveEmptyEntries)[0],&lt;br /&gt;                       &lt;span style="color: #006080"&gt;&amp;quot;microsoft.com&amp;quot;&lt;/span&gt;,&lt;br /&gt;                       Password&lt;br /&gt;                       ) != 0);&lt;br /&gt;       }&lt;br /&gt;&lt;br /&gt;   }&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Helper class&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; background-color: #f4f4f4"&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; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; Helper&lt;br /&gt;       {&lt;br /&gt;           &lt;span style="color: #cc6633"&gt;#region&lt;/span&gt; Properties&lt;br /&gt;           &lt;span style="color: #0000ff"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff"&gt;const&lt;/span&gt; &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; LOGON32_LOGON_INTERACTIVE = 2;&lt;br /&gt;           &lt;span style="color: #0000ff"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff"&gt;const&lt;/span&gt; &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; LOGON32_PROVIDER_DEFAULT = 0;&lt;br /&gt;           &lt;span style="color: #cc6633"&gt;#endregion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;           &lt;span style="color: #cc6633"&gt;#region&lt;/span&gt; Static&lt;br /&gt;&lt;br /&gt;           &lt;span style="color: #cc6633"&gt;#region&lt;/span&gt; NativeMethods&lt;br /&gt;           [DllImport(&lt;span style="color: #006080"&gt;&amp;quot;advapi32.dll&amp;quot;&lt;/span&gt;, CharSet = CharSet.Auto)]&lt;br /&gt;           &lt;span style="color: #0000ff"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff"&gt;extern&lt;/span&gt; &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; LogonUser(String UserName,&lt;br /&gt;                                              String Domain,&lt;br /&gt;                                              String Password,&lt;br /&gt;                                              &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; LogonType,&lt;br /&gt;                                              &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; LogonProvider,&lt;br /&gt;                                              &lt;span style="color: #0000ff"&gt;ref&lt;/span&gt; IntPtr Token);&lt;br /&gt;&lt;br /&gt;           &lt;span style="color: #cc6633"&gt;#endregion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;           &lt;span style="color: #cc6633"&gt;#region&lt;/span&gt; Methods&lt;br /&gt;           &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; LogOnUser(String userName, String domain, String password)&lt;br /&gt;           {&lt;br /&gt;               IntPtr token = IntPtr.Zero;&lt;br /&gt;               &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; LogonUser(userName, domain, password, LOGON32_LOGON_INTERACTIVE, LOGON32_PROVIDER_DEFAULT, &lt;span style="color: #0000ff"&gt;ref&lt;/span&gt; token);&lt;br /&gt;           }&lt;br /&gt;           &lt;span style="color: #cc6633"&gt;#endregion&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: #cc6633"&gt;#endregion&lt;/span&gt;&lt;br /&gt;       }&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;2.Create the service proxy from the Silverlight application and call the Authentication method described in the WCF service&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Silverlight Code behind&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; background-color: #f4f4f4"&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; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;UserService.UserClient Proxy = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; UserService.UserClient();&lt;br /&gt;Proxy.AuthenticateUserCompleted += &lt;br /&gt;    &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; EventHandler&amp;lt;UserService.AuthenticateUserCompletedEventArgs&amp;gt;(Proxy_AuthenticateUserCompleted);&lt;br /&gt;Proxy.AuthenticateUserAsync(txtUser.Text, txtPassword.Password);&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; background-color: #f4f4f4"&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; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt; Proxy_AuthenticateUserCompleted(&lt;span style="color: #0000ff"&gt;object&lt;/span&gt; sender, UserService.AuthenticateUserCompletedEventArgs e)&lt;br /&gt;       {&lt;br /&gt;           MessageBox.Show(e.Result.Equals(&lt;span style="color: #0000ff"&gt;true&lt;/span&gt;) ? &lt;span style="color: #006080"&gt;&amp;quot;login succeeded&amp;quot;&lt;/span&gt; : &lt;span style="color: #006080"&gt;&amp;quot;login failed&amp;quot;&lt;/span&gt;);&lt;br /&gt;       }&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/710790865187981786-6058089472341297624?l=codehunting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codehunting.blogspot.com/feeds/6058089472341297624/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codehunting.blogspot.com/2009/05/windows-authentication-in-silverlight.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/710790865187981786/posts/default/6058089472341297624'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/710790865187981786/posts/default/6058089472341297624'/><link rel='alternate' type='text/html' href='http://codehunting.blogspot.com/2009/05/windows-authentication-in-silverlight.html' title='Windows authentication in Silverlight'/><author><name>Hari Nair</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_RlRSGdIaPg8/SLvfhjazbnI/AAAAAAAAAAU/m6PBpkis1q4/S220/DSC00793.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-710790865187981786.post-5667122346117715464</id><published>2009-05-20T23:38:00.000-07:00</published><updated>2009-05-20T23:44:21.184-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WCF'/><title type='text'>Error 500.19 – Internal Server Error - While trying you run a WCF Service hosted on a Vista Machine</title><content type='html'>&lt;div&gt;When you are deploying a WCF service on a newly set up Vista machine chances are that you get the following error&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_RlRSGdIaPg8/ShT35kbdH8I/AAAAAAAAABs/y0C-5BgX7LA/s1600-h/WCF_Service_Error.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5338164026744315842" style="WIDTH: 320px; CURSOR: hand; HEIGHT: 156px" alt="" src="http://2.bp.blogspot.com/_RlRSGdIaPg8/ShT35kbdH8I/AAAAAAAAABs/y0C-5BgX7LA/s320/WCF_Service_Error.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;One possible option to get the service working is by resetting the registration of ServiceModel on your machine.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The &lt;a href="http://msdn.microsoft.com/en-us/library/ms732012.aspx"&gt;ServiceModel Registration Tool&lt;/a&gt; will help you in accomplishing this task.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The tool can be found in the following location:&lt;/p&gt;&lt;br /&gt;&lt;p&gt;%SystemRoot%\Microsoft.Net\Framework\v3.0\Windows Communication Foundation\&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Open Visual studio Command prompt and run the following command : ServiceModelReg.exe /i&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Other helpful links&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a title="http://support.microsoft.com/kb/942055" href="http://support.microsoft.com/kb/942055"&gt;http://support.microsoft.com/kb/942055&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/710790865187981786-5667122346117715464?l=codehunting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codehunting.blogspot.com/feeds/5667122346117715464/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codehunting.blogspot.com/2009/05/error-50019-internal-server-error-while_20.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/710790865187981786/posts/default/5667122346117715464'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/710790865187981786/posts/default/5667122346117715464'/><link rel='alternate' type='text/html' href='http://codehunting.blogspot.com/2009/05/error-50019-internal-server-error-while_20.html' title='Error 500.19 – Internal Server Error - While trying you run a WCF Service hosted on a Vista Machine'/><author><name>Hari Nair</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_RlRSGdIaPg8/SLvfhjazbnI/AAAAAAAAAAU/m6PBpkis1q4/S220/DSC00793.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_RlRSGdIaPg8/ShT35kbdH8I/AAAAAAAAABs/y0C-5BgX7LA/s72-c/WCF_Service_Error.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-710790865187981786.post-7396806292985731546</id><published>2009-02-09T03:46:00.001-08:00</published><updated>2009-02-09T04:02:09.336-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight'/><title type='text'>When IE Zoom Feature does not zoom in the silverlight plugin Islands.</title><content type='html'>&lt;p&gt;A silverlight pluggin area won't grow/shrink while zoom-IN/OUT the Internet Explorer window. This functionality can be achieved as follows&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;This is a straight forward approach and pretty simple&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;1. Register your Class&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;2. Create the Method to be called from IE Javascript with the ScriptableMember attribute&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; background-color: #f4f4f4"&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; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;partial&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; Page : UserControl&lt;br /&gt;    {&lt;br /&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; Page()&lt;br /&gt;        {&lt;br /&gt;            InitializeComponent();&lt;br /&gt;            HtmlPage.RegisterScriptableObject(&amp;quot;page&amp;quot;, this);&lt;br /&gt;&lt;br /&gt;        }&lt;br /&gt;        [ScriptableMember]&lt;br /&gt;        &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; void ResizePage(&lt;span style="color: #0000ff"&gt;double&lt;/span&gt; Height, &lt;span style="color: #0000ff"&gt;double&lt;/span&gt; Width)&lt;br /&gt;        {&lt;br /&gt;            LayoutRoot.Height = Height;&lt;br /&gt;            LayoutRoot.Width = Width;&lt;br /&gt;        }&lt;br /&gt;    }&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;3.Create a javascript function in the html page where in the silverlight pluggin is used&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; background-color: #f4f4f4"&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; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #0000ff"&gt;function&lt;/span&gt; onResize(sender, args) {&lt;br /&gt;           &lt;span style="color: #0000ff"&gt;var&lt;/span&gt; slControl = document.getElementById(&lt;span style="color: #006080"&gt;&amp;quot;slControl&amp;quot;&lt;/span&gt;);&lt;br /&gt;           &lt;span style="color: #0000ff"&gt;var&lt;/span&gt; height, width;&lt;br /&gt;           height = slControl.Content.ActualHeight;&lt;br /&gt;           width = slControl.Content.ActualWidth;&lt;br /&gt;           slControl.Content.page.ResizePage(height, width);&lt;br /&gt;       }&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;4.Call this method in the onresize method of the html object tag as &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; background-color: #f4f4f4"&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; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;object&lt;/span&gt; &lt;span style="color: #ff0000"&gt;id&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;slControl&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;data:application/x-silverlight-2,&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;application/x-silverlight-2&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;width&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;50%&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;height&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;50%&amp;quot;&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;param&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;source&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;ClientBin/SilverlightNet.xap&amp;quot;&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;param&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;onerror&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;onSilverlightError&amp;quot;&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;param&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;background&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;white&amp;quot;&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;param&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;minRuntimeVersion&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;2.0.31005.0&amp;quot;&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;param&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;autoUpgrade&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;true&amp;quot;&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;param&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;onresize&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;onResize&amp;quot;&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;a&lt;/span&gt; &lt;span style="color: #ff0000"&gt;href&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;http://go.microsoft.com/fwlink/?LinkID=124807&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;style&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;text-decoration: none;&amp;quot;&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;img&lt;/span&gt; &lt;span style="color: #ff0000"&gt;src&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;http://go.microsoft.com/fwlink/?LinkId=108181&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;alt&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;Get Microsoft Silverlight&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;style&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;border-style: none&amp;quot;&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;a&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;object&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;You are done. Now the Silverlight content will Grow/Shrink with the zoom in/out&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Reference : &lt;a title="http://www.microsoft.com/Web/content.aspx?id=browser-resize-zoom" href="http://www.microsoft.com/Web/content.aspx?id=browser-resize-zoom"&gt;http://www.microsoft.com/Web/content.aspx?id=browser-resize-zoom&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/710790865187981786-7396806292985731546?l=codehunting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codehunting.blogspot.com/feeds/7396806292985731546/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codehunting.blogspot.com/2009/02/when-ie-zoom-feature-does-not-zoom-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/710790865187981786/posts/default/7396806292985731546'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/710790865187981786/posts/default/7396806292985731546'/><link rel='alternate' type='text/html' href='http://codehunting.blogspot.com/2009/02/when-ie-zoom-feature-does-not-zoom-in.html' title='When IE Zoom Feature does not zoom in the silverlight plugin Islands.'/><author><name>Hari Nair</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_RlRSGdIaPg8/SLvfhjazbnI/AAAAAAAAAAU/m6PBpkis1q4/S220/DSC00793.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-710790865187981786.post-4029699724993655470</id><published>2009-02-06T04:58:00.001-08:00</published><updated>2009-02-06T05:14:33.536-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><title type='text'>Password Encryption and Decryption in SQL Server 2005</title><content type='html'>&lt;p&gt;Encryption of column data in SQL 2005 is a good approach while we think of some one tampering our database through some sql injection and methods like that&lt;/p&gt;  &lt;p&gt;Here are the steps involved&lt;/p&gt;  &lt;p&gt;1. Create a MASTER KEY ENCRYPTION for your database&lt;/p&gt;  &lt;div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; background-color: #f4f4f4"&gt;   &lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #0000ff"&gt;CREATE&lt;/span&gt; MASTER &lt;span style="color: #0000ff"&gt;KEY&lt;/span&gt; ENCRYPTION &lt;span style="color: #0000ff"&gt;BY&lt;/span&gt; PASSWORD = &lt;span style="color: #006080"&gt;'&amp;lt;Give a Password Here&amp;gt;'&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;2.Create a Certificate&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; background-color: #f4f4f4"&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; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #0000ff"&gt;CREATE&lt;/span&gt; CERTIFICATE SampleCertificate  &lt;br /&gt;&lt;span style="color: #0000ff"&gt;WITH&lt;/span&gt; SUBJECT = &lt;span style="color: #006080"&gt;'&amp;lt;Give some Description about the certificate&amp;gt;'&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;3.Create the symmetric Key (You'll use the certificate created above while creating a symmetric key)&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; background-color: #f4f4f4"&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; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #0000ff"&gt;CREATE&lt;/span&gt; SYMMETRIC &lt;span style="color: #0000ff"&gt;KEY&lt;/span&gt; SamplePassword    &lt;br /&gt;&lt;span style="color: #0000ff"&gt;WITH&lt;/span&gt; ALGORITHM = AES_256    ENCRYPTION &lt;span style="color: #0000ff"&gt;BY&lt;/span&gt; CERTIFICATE SampleCertificate&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;You can select an &lt;a href="http://msdn.microsoft.com/en-us/library/ms345262(SQL.90).aspx"&gt;encryption algorithm&lt;/a&gt; of your choice while creating a Symmetric key.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Your keys for the Encryption and Decryption are ready now. Open your keys and do the encryption or decryption as follows&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;u&gt;Encrypting the Password&lt;/u&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; background-color: #f4f4f4"&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; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #0000ff"&gt;OPEN&lt;/span&gt; SYMMETRIC &lt;span style="color: #0000ff"&gt;KEY&lt;/span&gt; IMCPSPassword   &lt;br /&gt;DECRYPTION  &lt;span style="color: #0000ff"&gt;BY&lt;/span&gt; CERTIFICATE IMCPSCert;   &lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;UPDATE&lt;/span&gt; [dbo].[Users]   &lt;br /&gt;&lt;span style="color: #0000ff"&gt;SET&lt;/span&gt; [Password] =  EncryptByKey(Key_GUID(&lt;span style="color: #006080"&gt;'IMCPSPassword'&lt;/span&gt;),Password)&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;u&gt;Decrypting the Password&lt;/u&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; background-color: #f4f4f4"&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; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #0000ff"&gt;SELECT&lt;/span&gt; &lt;br /&gt;         [UserID],&lt;br /&gt;         &lt;span style="color: #0000ff"&gt;CONVERT&lt;/span&gt;(&lt;span style="color: #0000ff"&gt;varchar&lt;/span&gt;, DecryptByKey(Password)) &lt;span style="color: #0000ff"&gt;as&lt;/span&gt; Decryptedpassword      &lt;br /&gt;&lt;span style="color: #0000ff"&gt;FROM&lt;/span&gt;     [dbo].[Users]&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/710790865187981786-4029699724993655470?l=codehunting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codehunting.blogspot.com/feeds/4029699724993655470/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codehunting.blogspot.com/2009/02/password-encryption-and-decryption-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/710790865187981786/posts/default/4029699724993655470'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/710790865187981786/posts/default/4029699724993655470'/><link rel='alternate' type='text/html' href='http://codehunting.blogspot.com/2009/02/password-encryption-and-decryption-in.html' title='Password Encryption and Decryption in SQL Server 2005'/><author><name>Hari Nair</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_RlRSGdIaPg8/SLvfhjazbnI/AAAAAAAAAAU/m6PBpkis1q4/S220/DSC00793.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-710790865187981786.post-1751428857999650579</id><published>2009-02-06T04:23:00.001-08:00</published><updated>2009-02-06T05:04:03.093-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight'/><title type='text'>Simple Colour Animation in Silverlight 2.0 using inline XAML</title><content type='html'>&lt;p&gt;If you do not want your Silverlight pluggin to look for the xap file in its relative path ..go for the inline XAML concept. Its pretty simple and easy &lt;/p&gt;&lt;p&gt;A sample code which do the colour animation is as follows &lt;/p&gt;&lt;div style="BORDER-RIGHT: gray 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: gray 1px solid; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; MARGIN: 20px 0px 10px; OVERFLOW: auto; BORDER-LEFT: gray 1px solid; WIDTH: 97.5%; CURSOR: text; MAX-HEIGHT: 200px; LINE-HEIGHT: 12pt; PADDING-TOP: 4px; BORDER-BOTTOM: gray 1px solidfont-family:consolas, 'Courier New', courier, monospace;font-size:8pt;color:#f4f4f4;"   &gt;&lt;pre style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-: nonefont-family:consolas, '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;html&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;xmlns&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;="http://www.w3.org/1999/xhtml"&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;head&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;title&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;BugRepro&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;title&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;SCRIPT&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;type&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;="text/xaml"&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;id&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;="xaml1"&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;pre style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-: nonefont-family:consolas, 'Courier New', courier, monospace;font-size:8pt;color:white;"   &gt;&lt;span style="color:#606060;"&gt;   1:&lt;/span&gt;  &lt;/pre&gt;&lt;pre style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-: nonefont-family:consolas, 'Courier New', courier, monospace;font-size:8pt;color:#f4f4f4;"   &gt;&lt;span style="color:#606060;"&gt;   2:&lt;/span&gt;     &amp;lt;Canvas&lt;/pre&gt;&lt;pre style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-: nonefont-family:consolas, 'Courier New', courier, monospace;font-size:8pt;color:white;"   &gt;&lt;span style="color:#606060;"&gt;   3:&lt;/span&gt;     xmlns=&lt;span style="color:#006080;"&gt;"http://schemas.microsoft.com/winfx/2006/xaml/presentation"&lt;/span&gt;&lt;/pre&gt;&lt;pre style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-: nonefont-family:consolas, 'Courier New', courier, monospace;font-size:8pt;color:#f4f4f4;"   &gt;&lt;span style="color:#606060;"&gt;   4:&lt;/span&gt;     xmlns:x=&lt;span style="color:#006080;"&gt;"http://schemas.microsoft.com/winfx/2006/xaml"&lt;/span&gt;&amp;gt;&lt;/pre&gt;&lt;pre style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-: nonefont-family:consolas, 'Courier New', courier, monospace;font-size:8pt;color:white;"   &gt;&lt;span style="color:#606060;"&gt;   5:&lt;/span&gt;     &amp;lt;Canvas.Triggers&amp;gt;&lt;/pre&gt;&lt;pre style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-: nonefont-family:consolas, 'Courier New', courier, monospace;font-size:8pt;color:#f4f4f4;"   &gt;&lt;span style="color:#606060;"&gt;   6:&lt;/span&gt;       &amp;lt;EventTrigger  RoutedEvent=&lt;span style="color:#006080;"&gt;"Canvas.Loaded"&lt;/span&gt; &amp;gt;&lt;/pre&gt;&lt;pre style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-: nonefont-family:consolas, 'Courier New', courier, monospace;font-size:8pt;color:white;"   &gt;&lt;span style="color:#606060;"&gt;   7:&lt;/span&gt;       &amp;lt;BeginStoryboard &amp;gt;&lt;/pre&gt;&lt;pre style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-: nonefont-family:consolas, 'Courier New', courier, monospace;font-size:8pt;color:#f4f4f4;"   &gt;&lt;span style="color:#606060;"&gt;   8:&lt;/span&gt;     &amp;lt;Storyboard x:Name=&lt;span style="color:#006080;"&gt;"myAnimation"&lt;/span&gt; RepeatBehavior=&lt;span style="color:#006080;"&gt;'Forever'&lt;/span&gt;&amp;gt;&lt;/pre&gt;&lt;pre style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-: nonefont-family:consolas, 'Courier New', courier, monospace;font-size:8pt;color:white;"   &gt;&lt;span style="color:#606060;"&gt;   9:&lt;/span&gt;     &amp;lt;ColorAnimation    &lt;/pre&gt;&lt;pre style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-: nonefont-family:consolas, 'Courier New', courier, monospace;font-size:8pt;color:#f4f4f4;"   &gt;&lt;span style="color:#606060;"&gt;  10:&lt;/span&gt;               Storyboard.TargetName=&lt;span style="color:#006080;"&gt;"myRectangle"&lt;/span&gt;     &lt;/pre&gt;&lt;pre style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-: nonefont-family:consolas, 'Courier New', courier, monospace;font-size:8pt;color:white;"   &gt;&lt;span style="color:#606060;"&gt;  11:&lt;/span&gt;               Storyboard.TargetProperty=&lt;span style="color:#006080;"&gt;'(Shape.Fill).(SolidColorBrush.Color)'&lt;/span&gt;    &lt;/pre&gt;&lt;pre style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-: nonefont-family:consolas, 'Courier New', courier, monospace;font-size:8pt;color:#f4f4f4;"   &gt;&lt;span style="color:#606060;"&gt;  12:&lt;/span&gt;               From=&lt;span style="color:#006080;"&gt;"Red"&lt;/span&gt;    &lt;/pre&gt;&lt;pre style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-: nonefont-family:consolas, 'Courier New', courier, monospace;font-size:8pt;color:white;"   &gt;&lt;span style="color:#606060;"&gt;  13:&lt;/span&gt;               To=&lt;span style="color:#006080;"&gt;"Green"&lt;/span&gt;                  &lt;/pre&gt;&lt;pre style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-: nonefont-family:consolas, 'Courier New', courier, monospace;font-size:8pt;color:#f4f4f4;"   &gt;&lt;span style="color:#606060;"&gt;  14:&lt;/span&gt;               Duration=&lt;span style="color:#006080;"&gt;"0:0:0.5"&lt;/span&gt;    &lt;/pre&gt;&lt;pre style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-: nonefont-family:consolas, 'Courier New', courier, monospace;font-size:8pt;color:white;"   &gt;&lt;span style="color:#606060;"&gt;  15:&lt;/span&gt;               AutoReverse=&lt;span style="color:#006080;"&gt;"True"&lt;/span&gt;/&amp;gt;  &lt;/pre&gt;&lt;pre style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-: nonefont-family:consolas, 'Courier New', courier, monospace;font-size:8pt;color:#f4f4f4;"   &gt;&lt;span style="color:#606060;"&gt;  16:&lt;/span&gt;     &amp;lt;/Storyboard&amp;gt;&lt;/pre&gt;&lt;pre style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-: nonefont-family:consolas, 'Courier New', courier, monospace;font-size:8pt;color:white;"   &gt;&lt;span style="color:#606060;"&gt;  17:&lt;/span&gt;       &amp;lt;/BeginStoryboard&amp;gt;&lt;/pre&gt;&lt;pre style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-: nonefont-family:consolas, 'Courier New', courier, monospace;font-size:8pt;color:#f4f4f4;"   &gt;&lt;span style="color:#606060;"&gt;  18:&lt;/span&gt;       &amp;lt;/EventTrigger&amp;gt;&lt;/pre&gt;&lt;pre style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-: nonefont-family:consolas, 'Courier New', courier, monospace;font-size:8pt;color:white;"   &gt;&lt;span style="color:#606060;"&gt;  19:&lt;/span&gt;     &amp;lt;/Canvas.Triggers&amp;gt;&lt;/pre&gt;&lt;pre style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-: nonefont-family:consolas, 'Courier New', courier, monospace;font-size:8pt;color:#f4f4f4;"   &gt;&lt;span style="color:#606060;"&gt;  20:&lt;/span&gt;     &amp;lt;Canvas Background=&lt;span style="color:#006080;"&gt;"White"&lt;/span&gt; Width=&lt;span style="color:#006080;"&gt;"100"&lt;/span&gt; Height=&lt;span style="color:#006080;"&gt;"100"&lt;/span&gt;&amp;gt;&lt;/pre&gt;&lt;pre style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-: nonefont-family:consolas, 'Courier New', courier, monospace;font-size:8pt;color:white;"   &gt;&lt;span style="color:#606060;"&gt;  21:&lt;/span&gt;     &amp;lt;Rectangle x:Name=&lt;span style="color:#006080;"&gt;"myRectangle"&lt;/span&gt; Fill=&lt;span style="color:#006080;"&gt;'Red'&lt;/span&gt; Height=&lt;span style="color:#006080;"&gt;'100'&lt;/span&gt; Width=&lt;span style="color:#006080;"&gt;'100'&lt;/span&gt;/&amp;gt;&lt;/pre&gt;&lt;pre style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-: nonefont-family:consolas, 'Courier New', courier, monospace;font-size:8pt;color:#f4f4f4;"   &gt;&lt;span style="color:#606060;"&gt;  22:&lt;/span&gt;     &amp;lt;/Canvas&amp;gt;&lt;/pre&gt;&lt;pre style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-: nonefont-family:consolas, 'Courier New', courier, monospace;font-size:8pt;color:white;"   &gt;&lt;span style="color:#606060;"&gt;  23:&lt;/span&gt;     &amp;lt;/Canvas&amp;gt;&lt;/pre&gt;&lt;pre style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-: nonefont-family:consolas, 'Courier New', courier, monospace;font-size:8pt;color:#f4f4f4;"   &gt;&lt;span style="color:#606060;"&gt;  24:&lt;/span&gt;     &lt;/pre&gt;&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;SCRIPT&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;head&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;body&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;div&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;object&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;data&lt;/span&gt;=&lt;span style="color:#ff0000;"&gt;data:application&lt;/span&gt;/&lt;span style="color:#ff0000;"&gt;x-silverlight&lt;/span&gt;, &lt;span style="color:#ff0000;"&gt;type&lt;/span&gt;=&lt;span style="color:#ff0000;"&gt;application&lt;/span&gt;/&lt;span style="color:#ff0000;"&gt;x-silverlight-2&lt;/span&gt;&lt;br /&gt; &lt;span style="color:#ff0000;"&gt;width&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;="100"&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;height&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;="100"&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;id&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;="Ag1"&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;param&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;name&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;="Source"&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;value&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;="#xaml1"&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;object&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;div&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;body&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;html&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/710790865187981786-1751428857999650579?l=codehunting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codehunting.blogspot.com/feeds/1751428857999650579/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codehunting.blogspot.com/2009/02/simple-colour-animation-in-silverlight.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/710790865187981786/posts/default/1751428857999650579'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/710790865187981786/posts/default/1751428857999650579'/><link rel='alternate' type='text/html' href='http://codehunting.blogspot.com/2009/02/simple-colour-animation-in-silverlight.html' title='Simple Colour Animation in Silverlight 2.0 using inline XAML'/><author><name>Hari Nair</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_RlRSGdIaPg8/SLvfhjazbnI/AAAAAAAAAAU/m6PBpkis1q4/S220/DSC00793.JPG'/></author><thr:total>0</thr:total></entry></feed>
