<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
  <channel>
    <title>SilverlightShow: Silverlight Community</title>
    <link>http://www.silverlightshow.net/</link>
    <description>Silverlight articles, Silverlight tutorials, Silverlight videos, Silverlight samples</description>
    <language>en-us</language>
    <copyright>SilverlightShow.net</copyright>
    <managingEditor>estoychev@completit.com (Emil Stoychev)</managingEditor>
    <generator>Argotic Syndication Framework, http://www.codeplex.com/Argotic</generator>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/silverlightshow" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
      <title>Implementing CoverFlow in Silverlight 3</title>
      <link>http://feedproxy.google.com/~r/silverlightshow/~3/eG_Up43nhDY/Implementing-CoverFlow-in-Silverlight-3-.aspx</link>
      <description>Jeff Prosise used Darick's open-source CoverFlow control to build &lt;a href="http://www.wintellect.com/CS/blogs/jprosise/archive/2009/11/05/implementing-coverflow-in-silverlight-3.aspx"&gt;a demo that lets you flip through his collection of Fantastic Four comic books&lt;/a&gt;.&lt;img style="margin-top: 2px; float: left; margin-right: 4px;" alt="Image" src="http://www.silverlightshow.net/Storage/JeffDemo.bmp" /&gt; &lt;blockquote class="quote"&gt;
&lt;p&gt;I recently set out to build a control that encapsulates all the features needed to build CoverFlow interfaces in Silverlight. But then a funny thing happened: I found out that someone else had already done it and published the code on &lt;a href="http://silverlightcoverflow.codeplex.com/" title="CoverFlow for Silverlight" target="_blank"&gt;CodePlex&lt;/a&gt;. I don't often use code written by others in the samples that I create, but I was so impressed with Darick's open-source CoverFlow control that I made an exception. It includes some nice touches from a UI perspective, including the use of animation easing to decelerate as you come to a stop after flipping through the items, as well as support for data binding, data templates, and more.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/nToruugmH55-yYcVyAWC812zuA8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/nToruugmH55-yYcVyAWC812zuA8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/nToruugmH55-yYcVyAWC812zuA8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/nToruugmH55-yYcVyAWC812zuA8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=eG_Up43nhDY:3eVXpFouR58:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=eG_Up43nhDY:3eVXpFouR58:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?i=eG_Up43nhDY:3eVXpFouR58:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=eG_Up43nhDY:3eVXpFouR58:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=eG_Up43nhDY:3eVXpFouR58:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=eG_Up43nhDY:3eVXpFouR58:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=eG_Up43nhDY:3eVXpFouR58:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <author>editorial@silverlightshow.net ( Silverlight Show)</author>
      <comments>http://www.silverlightshow.net/news/Implementing-CoverFlow-in-Silverlight-3-.aspx#comments</comments>
      <guid isPermaLink="false">http://www.silverlightshow.net/news/Implementing-CoverFlow-in-Silverlight-3-.aspx</guid>
      <pubDate>Fri, 06 Nov 2009 11:14:00 +0200</pubDate>
    <feedburner:origLink>http://www.silverlightshow.net/news/Implementing-CoverFlow-in-Silverlight-3-.aspx</feedburner:origLink></item>
    <item>
      <title>Creating a Silverlight video player in Microsoft Expression Blend 3</title>
      <link>http://feedproxy.google.com/~r/silverlightshow/~3/Zw37Wn5jk88/Creating-a-Silverlight-video-player-in-Microsoft-Expression-Blend-3.aspx</link>
      <description>This video posted by Paul Yanez will show you &lt;a href="http://paulyanez.com/interactive/index.php/2009/10/creating-a-silverlight-video-player-in-microsoft-expression-blend-3/"&gt;how to add a video player in Microsoft Expression Blend 3&lt;/a&gt;.&lt;img style="margin-top: 2px; float: left; margin-right: 4px;" alt="Image" src="http://www.silverlightshow.net/Storage/MSSLVId.png" /&gt; &lt;blockquote class="quote"&gt;
&lt;p&gt;Adding video to Silverlight projects ia as simple as placing a media element control from the assets panel on the stage and setting the media element’s source to a video file. &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/W1Ylhk9U0o0Y2_q6KxI3_dGl634/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/W1Ylhk9U0o0Y2_q6KxI3_dGl634/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/W1Ylhk9U0o0Y2_q6KxI3_dGl634/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/W1Ylhk9U0o0Y2_q6KxI3_dGl634/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=Zw37Wn5jk88:BBaJCcfloqw:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=Zw37Wn5jk88:BBaJCcfloqw:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?i=Zw37Wn5jk88:BBaJCcfloqw:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=Zw37Wn5jk88:BBaJCcfloqw:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=Zw37Wn5jk88:BBaJCcfloqw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=Zw37Wn5jk88:BBaJCcfloqw:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=Zw37Wn5jk88:BBaJCcfloqw:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <author>editorial@silverlightshow.net ( Paul Yanez)</author>
      <comments>http://www.silverlightshow.net/news/Creating-a-Silverlight-video-player-in-Microsoft-Expression-Blend-3.aspx#comments</comments>
      <guid isPermaLink="false">http://www.silverlightshow.net/news/Creating-a-Silverlight-video-player-in-Microsoft-Expression-Blend-3.aspx</guid>
      <pubDate>Fri, 06 Nov 2009 10:33:00 +0200</pubDate>
    <feedburner:origLink>http://www.silverlightshow.net/news/Creating-a-Silverlight-video-player-in-Microsoft-Expression-Blend-3.aspx</feedburner:origLink></item>
    <item>
      <title>Developer-friendly Virtual File Implementation for .NET Improved</title>
      <link>http://feedproxy.google.com/~r/silverlightshow/~3/39FyGwc_Dzk/Developer-friendly-Virtual-File-Implementation-for-.NET-Improved.aspx</link>
      <description>&lt;p&gt;In his last article David Anson posted &lt;a href="http://blogs.msdn.com/delay/archive/2009/10/26/creating-something-from-nothing-developer-friendly-virtual-file-implementation-for-net.aspx"&gt;the code for VirtualFileDataObject&lt;/a&gt;, an easy-to-use implementation of virtual files for .NET and WPF, and now he has made &lt;a href="http://blogs.msdn.com/delay/archive/2009/11/04/creating-something-from-nothing-asynchronously-developer-friendly-virtual-file-implementation-for-net-improved.aspx"&gt;a little improvement&lt;/a&gt; that he decided to share with you.&lt;/p&gt;
&lt;blockquote class="quote"&gt;
&lt;p&gt;If you read my previous post, you may recall there was an issue with the last scenario of the sample: the application became unresponsive while data for the virtual file was downloading from the web. While this unresponsiveness won't be a noticeable for scenarios involving local data, scenarios that create large files or hit the network are at risk. Well, it's time to find a solution!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/LKHjP3_-EaW9eLxck5njetcF8o0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LKHjP3_-EaW9eLxck5njetcF8o0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/LKHjP3_-EaW9eLxck5njetcF8o0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LKHjP3_-EaW9eLxck5njetcF8o0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=39FyGwc_Dzk:cJ7C-ob5sLk:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=39FyGwc_Dzk:cJ7C-ob5sLk:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?i=39FyGwc_Dzk:cJ7C-ob5sLk:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=39FyGwc_Dzk:cJ7C-ob5sLk:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=39FyGwc_Dzk:cJ7C-ob5sLk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=39FyGwc_Dzk:cJ7C-ob5sLk:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=39FyGwc_Dzk:cJ7C-ob5sLk:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <author>editorial@silverlightshow.net ( Silverlight Show)</author>
      <comments>http://www.silverlightshow.net/news/Developer-friendly-Virtual-File-Implementation-for-.NET-Improved.aspx#comments</comments>
      <guid isPermaLink="false">http://www.silverlightshow.net/news/Developer-friendly-Virtual-File-Implementation-for-.NET-Improved.aspx</guid>
      <pubDate>Fri, 06 Nov 2009 09:54:00 +0200</pubDate>
    <feedburner:origLink>http://www.silverlightshow.net/news/Developer-friendly-Virtual-File-Implementation-for-.NET-Improved.aspx</feedburner:origLink></item>
    <item>
      <title>MVVM Light Toolkit V3 Alpha 2: EventToCommand Behavior</title>
      <link>http://feedproxy.google.com/~r/silverlightshow/~3/D1BtuCOW8g8/MVVM-Light-Toolkit-V3-Alpha-2-EventToCommand-Behavior-.aspx</link>
      <description>&lt;p&gt;Laurent Bugnion has published another &lt;a href="http://geekswithblogs.net/lbugnion/archive/2009/11/05/mvvm-light-toolkit-v3-alpha-2-eventtocommand-behavior.aspx"&gt;early release of the MVVM Light Toolkit V3 (Alpha 2)&lt;/a&gt;. &lt;/p&gt;
&lt;blockquote class="quote"&gt;
&lt;p&gt;I decided to release gradually and early as soon as a new part of this new version is ready, to allow advanced users to install, test and give feedback about the new features. If you haven’t seen it yet, the features available in &lt;a href="http://blog.galasoft.ch/archive/2009/10/27/mvvm-light-toolkit-v3-alpha-1.aspx"&gt;V3 Alpha 1 are described in a previous article&lt;/a&gt;. There will be a few more alphas before I make a V3 release, which means more good things are a-coming ;)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/YIG9Dd5hJFqDVamby3cxQXnZ1U8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/YIG9Dd5hJFqDVamby3cxQXnZ1U8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/YIG9Dd5hJFqDVamby3cxQXnZ1U8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/YIG9Dd5hJFqDVamby3cxQXnZ1U8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=D1BtuCOW8g8:CKSpbwALQpc:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=D1BtuCOW8g8:CKSpbwALQpc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?i=D1BtuCOW8g8:CKSpbwALQpc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=D1BtuCOW8g8:CKSpbwALQpc:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=D1BtuCOW8g8:CKSpbwALQpc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=D1BtuCOW8g8:CKSpbwALQpc:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=D1BtuCOW8g8:CKSpbwALQpc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <author>editorial@silverlightshow.net ( Silverlight Show)</author>
      <comments>http://www.silverlightshow.net/news/MVVM-Light-Toolkit-V3-Alpha-2-EventToCommand-Behavior-.aspx#comments</comments>
      <guid isPermaLink="false">http://www.silverlightshow.net/news/MVVM-Light-Toolkit-V3-Alpha-2-EventToCommand-Behavior-.aspx</guid>
      <pubDate>Fri, 06 Nov 2009 09:19:00 +0200</pubDate>
    <feedburner:origLink>http://www.silverlightshow.net/news/MVVM-Light-Toolkit-V3-Alpha-2-EventToCommand-Behavior-.aspx</feedburner:origLink></item>
    <item>
      <title>Silverlight 3's New {RelativeSource} Markup Extension</title>
      <link>http://feedproxy.google.com/~r/silverlightshow/~3/ZFa6IbNF580/Silverlight-3-s-New-RelativeSource-Markup-Extension-.aspx</link>
      <description>&lt;p&gt;In this blog post Jeff Prosise talks about one of the more obscure features introduced in Silverlight 3 - &lt;a href="http://www.wintellect.com/CS/blogs/jprosise/archive/2009/11/06/silverlight-3-s-new-relativesource-markup-extension.aspx"&gt;the {RelativeSource} markup extension&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote class="quote"&gt;
&lt;p&gt; It's poorer than its counterpart in WPF because the Silverlight version supports only two modes: Self and TemplatedParent. There are precious few examples out there demonstrating why you'd ever need {RelativeSource} in Silverlight. Here's one example.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/-J7i6ddaV8zktKZLbcmozTDPe8I/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-J7i6ddaV8zktKZLbcmozTDPe8I/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/-J7i6ddaV8zktKZLbcmozTDPe8I/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-J7i6ddaV8zktKZLbcmozTDPe8I/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=ZFa6IbNF580:dutHEpH1Lfw:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=ZFa6IbNF580:dutHEpH1Lfw:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?i=ZFa6IbNF580:dutHEpH1Lfw:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=ZFa6IbNF580:dutHEpH1Lfw:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=ZFa6IbNF580:dutHEpH1Lfw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=ZFa6IbNF580:dutHEpH1Lfw:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=ZFa6IbNF580:dutHEpH1Lfw:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <author>editorial@silverlightshow.net ( Silverlight Show)</author>
      <comments>http://www.silverlightshow.net/news/Silverlight-3-s-New-RelativeSource-Markup-Extension-.aspx#comments</comments>
      <guid isPermaLink="false">http://www.silverlightshow.net/news/Silverlight-3-s-New-RelativeSource-Markup-Extension-.aspx</guid>
      <pubDate>Fri, 06 Nov 2009 08:58:00 +0200</pubDate>
    <feedburner:origLink>http://www.silverlightshow.net/news/Silverlight-3-s-New-RelativeSource-Markup-Extension-.aspx</feedburner:origLink></item>
    <item>
      <title>Introduction to WPF 4 Multitouch</title>
      <link>http://feedproxy.google.com/~r/silverlightshow/~3/wz59EOcdeVI/Introduction-to-WPF-4-Multitouch-.aspx</link>
      <description>This tutorial of Jaime Rodriguez recaps &lt;a href="http://blogs.msdn.com/jaimer/archive/2009/11/04/introduction-to-wpf-4-multitouch.aspx"&gt;the multitouch features in WPF 4&lt;/a&gt;, as of the Beta 2 release. &lt;blockquote class="quote"&gt;
&lt;p&gt;Multitouch is simply an abstraction from the OS (or a platform) that routes touch input to an application.  &lt;br /&gt;
The OS exposes multitouch input with different levels of control and/or detail.  For example, Windows 7 exposes multitouch data in three modes: &lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Raw touch [...] &lt;/li&gt;
    &lt;li&gt;Gestures [...] &lt;/li&gt;
    &lt;li&gt;Manipulation and inertia.[...] &lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Aho6FZBFUJ45-a2uW832J20bsPA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Aho6FZBFUJ45-a2uW832J20bsPA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Aho6FZBFUJ45-a2uW832J20bsPA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Aho6FZBFUJ45-a2uW832J20bsPA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=wz59EOcdeVI:0kE0czWcMtA:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=wz59EOcdeVI:0kE0czWcMtA:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?i=wz59EOcdeVI:0kE0czWcMtA:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=wz59EOcdeVI:0kE0czWcMtA:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=wz59EOcdeVI:0kE0czWcMtA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=wz59EOcdeVI:0kE0czWcMtA:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=wz59EOcdeVI:0kE0czWcMtA:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <author>editorial@silverlightshow.net ( Silverlight Show)</author>
      <comments>http://www.silverlightshow.net/news/Introduction-to-WPF-4-Multitouch-.aspx#comments</comments>
      <guid isPermaLink="false">http://www.silverlightshow.net/news/Introduction-to-WPF-4-Multitouch-.aspx</guid>
      <pubDate>Thu, 05 Nov 2009 10:42:00 +0200</pubDate>
    <feedburner:origLink>http://www.silverlightshow.net/news/Introduction-to-WPF-4-Multitouch-.aspx</feedburner:origLink></item>
    <item>
      <title>Databinding Shapes with the Bing Maps Control for Silverlight</title>
      <link>http://feedproxy.google.com/~r/silverlightshow/~3/5JZIjlTDuaI/Databinding-Shapes-with-the-Bing-Maps-Control-for-Silverlight.aspx</link>
      <description>In this post David Burela explains &lt;a href="http://davidburela.wordpress.com/2009/11/02/databinding-shapes-with-the-bing-maps-control-for-silverlight/"&gt;how to use the Bing Maps control for databinding&lt;/a&gt;.&lt;img style="float: left; width: 202px; height: 149px;" alt="Image" src="http://www.silverlightshow.net/Storage/DataBBB.png" /&gt; &lt;blockquote class="quote"&gt;
&lt;p&gt;There is code available on the Microsoft website that adds dependency properties to the Bing Maps control which expose ItemsCollection, ready for you to databind to. If you combine this with some custom datatemplates, you are able to databind directly to the map as you would expect.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/HhALWHFAr1InFN4LfM7xiDaay5A/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/HhALWHFAr1InFN4LfM7xiDaay5A/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/HhALWHFAr1InFN4LfM7xiDaay5A/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/HhALWHFAr1InFN4LfM7xiDaay5A/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=5JZIjlTDuaI:fIDPVVNg1a8:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=5JZIjlTDuaI:fIDPVVNg1a8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?i=5JZIjlTDuaI:fIDPVVNg1a8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=5JZIjlTDuaI:fIDPVVNg1a8:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=5JZIjlTDuaI:fIDPVVNg1a8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=5JZIjlTDuaI:fIDPVVNg1a8:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=5JZIjlTDuaI:fIDPVVNg1a8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <author>editorial@silverlightshow.net ( Silverlight Show)</author>
      <comments>http://www.silverlightshow.net/news/Databinding-Shapes-with-the-Bing-Maps-Control-for-Silverlight.aspx#comments</comments>
      <guid isPermaLink="false">http://www.silverlightshow.net/news/Databinding-Shapes-with-the-Bing-Maps-Control-for-Silverlight.aspx</guid>
      <pubDate>Thu, 05 Nov 2009 10:13:00 +0200</pubDate>
    <feedburner:origLink>http://www.silverlightshow.net/news/Databinding-Shapes-with-the-Bing-Maps-Control-for-Silverlight.aspx</feedburner:origLink></item>
    <item>
      <title>Silverlight Communication: Three Ways to Connect</title>
      <link>http://feedproxy.google.com/~r/silverlightshow/~3/7oSnqFtAOsM/Silverlight-Communication-Three-Ways-to-Connect.aspx</link>
      <description>The purpose of this project of Jeremy Likness is to demonstrate &lt;a href="http://csharperimage.jeremylikness.com/2009/11/silverlight-communication-three-ways-to.html"&gt;three sample methods for communication in Silverlight 3&lt;/a&gt;.&lt;blockquote class="quote"&gt;
&lt;p&gt;Silverlight has myriad ways to connect to other systems and retrieve information for your applications. It is a common question people ask ("How do I get my data from the database to Silverlight?") and each method has its own pros and cons. The purpose of this project, "Silverlight Communicator," is to provide a simple, easy reference project that demonstrates three sample methods for communication in Silverlight 3. While these certainly aren't all of the ways Silverlight can obtain data, it does summarize more commonly used methods. &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/HHgeW_Yzqtka1eDGEdaX9yIrEmg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/HHgeW_Yzqtka1eDGEdaX9yIrEmg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/HHgeW_Yzqtka1eDGEdaX9yIrEmg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/HHgeW_Yzqtka1eDGEdaX9yIrEmg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=7oSnqFtAOsM:2WFHfC2Y-Rk:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=7oSnqFtAOsM:2WFHfC2Y-Rk:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?i=7oSnqFtAOsM:2WFHfC2Y-Rk:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=7oSnqFtAOsM:2WFHfC2Y-Rk:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=7oSnqFtAOsM:2WFHfC2Y-Rk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=7oSnqFtAOsM:2WFHfC2Y-Rk:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=7oSnqFtAOsM:2WFHfC2Y-Rk:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <author>editorial@silverlightshow.net ( Silverlight Show)</author>
      <comments>http://www.silverlightshow.net/news/Silverlight-Communication-Three-Ways-to-Connect.aspx#comments</comments>
      <guid isPermaLink="false">http://www.silverlightshow.net/news/Silverlight-Communication-Three-Ways-to-Connect.aspx</guid>
      <pubDate>Thu, 05 Nov 2009 09:47:00 +0200</pubDate>
    <feedburner:origLink>http://www.silverlightshow.net/news/Silverlight-Communication-Three-Ways-to-Connect.aspx</feedburner:origLink></item>
    <item>
      <title>Grouping Data in a Silverlight DataGrid</title>
      <link>http://feedproxy.google.com/~r/silverlightshow/~3/ImsH6a4_Kc8/Grouping-Data-in-a-Silverlight-DataGrid-.aspx</link>
      <description>In this post Tim Heuer discusses &lt;a href="http://timheuer.com/blog/archive/2009/11/04/updated-silverlight-3-datagrid-grouping-data-pagedcollectionview.aspx"&gt;DataGrid grouping&lt;/a&gt;.&lt;blockquote class="quote"&gt;
&lt;p&gt; In Silverlight 3 you have access to PagedCollectionView (add a reference to System.Windows.Data to get it).  This is a view that enables you to add sort and group descriptors.  In my initial loading code I instantiate a new PagedCollectionView passing in my List&amp;lt;Person&amp;gt; as the enumerable type. &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Ml6esNT8OuyJ7v1X01GUETa1fzM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Ml6esNT8OuyJ7v1X01GUETa1fzM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Ml6esNT8OuyJ7v1X01GUETa1fzM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Ml6esNT8OuyJ7v1X01GUETa1fzM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=ImsH6a4_Kc8:OmpJaB59c-I:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=ImsH6a4_Kc8:OmpJaB59c-I:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?i=ImsH6a4_Kc8:OmpJaB59c-I:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=ImsH6a4_Kc8:OmpJaB59c-I:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=ImsH6a4_Kc8:OmpJaB59c-I:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=ImsH6a4_Kc8:OmpJaB59c-I:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=ImsH6a4_Kc8:OmpJaB59c-I:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <author>editorial@silverlightshow.net ( Silverlight Show)</author>
      <comments>http://www.silverlightshow.net/news/Grouping-Data-in-a-Silverlight-DataGrid-.aspx#comments</comments>
      <guid isPermaLink="false">http://www.silverlightshow.net/news/Grouping-Data-in-a-Silverlight-DataGrid-.aspx</guid>
      <pubDate>Thu, 05 Nov 2009 09:34:00 +0200</pubDate>
    <feedburner:origLink>http://www.silverlightshow.net/news/Grouping-Data-in-a-Silverlight-DataGrid-.aspx</feedburner:origLink></item>
    <item>
      <title>Creating Custom Easing Functions in WPF 4 (and Silverlight)</title>
      <link>http://feedproxy.google.com/~r/silverlightshow/~3/P7rGwV-CW-A/Creating-Custom-Easing-Functions-in-WPF-4-and-Silverlight-.aspx</link>
      <description>Pete Brown shows you &lt;a href="http://community.irritatedvowel.com/blogs/pete_browns_blog/archive/2009/11/04/Creating-Custom-Easing-Functions-in-WPF-4-_2800_and-Silverlight_2900_.aspx"&gt;how to create your own easing functions&lt;/a&gt;.&lt;blockquote class="quote"&gt;
&lt;p&gt;In a &lt;a href="http://community.irritatedvowel.com/blogs/pete_browns_blog/archive/2009/10/27/Easing-Functions-in-WPF-4-_2800_and-Silverlight_2900_.aspx" target="_blank"&gt;previous post&lt;/a&gt; and video, I went through how to use the stock easing functions in your &lt;a href="http://windowsclient.net/" target="_blank"&gt;WPF&lt;/a&gt; 4 applications.&lt;/p&gt;
&lt;p&gt;Once you know the formula you want to use, the mechanics of creating custom easing functions is pretty simple.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/bbSUK_jIOGHwciNn5vK3J6XLMCs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bbSUK_jIOGHwciNn5vK3J6XLMCs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/bbSUK_jIOGHwciNn5vK3J6XLMCs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bbSUK_jIOGHwciNn5vK3J6XLMCs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=P7rGwV-CW-A:tnI0fWCSbWA:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=P7rGwV-CW-A:tnI0fWCSbWA:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?i=P7rGwV-CW-A:tnI0fWCSbWA:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=P7rGwV-CW-A:tnI0fWCSbWA:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=P7rGwV-CW-A:tnI0fWCSbWA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=P7rGwV-CW-A:tnI0fWCSbWA:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=P7rGwV-CW-A:tnI0fWCSbWA:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <author>editorial@silverlightshow.net ( Silverlight Show)</author>
      <comments>http://www.silverlightshow.net/news/Creating-Custom-Easing-Functions-in-WPF-4-and-Silverlight-.aspx#comments</comments>
      <guid isPermaLink="false">http://www.silverlightshow.net/news/Creating-Custom-Easing-Functions-in-WPF-4-and-Silverlight-.aspx</guid>
      <pubDate>Thu, 05 Nov 2009 09:19:00 +0200</pubDate>
    <feedburner:origLink>http://www.silverlightshow.net/news/Creating-Custom-Easing-Functions-in-WPF-4-and-Silverlight-.aspx</feedburner:origLink></item>
    <item>
      <title>Easing into Prism</title>
      <link>http://feedproxy.google.com/~r/silverlightshow/~3/aD1updp0tgo/Easing-into-Prism.aspx</link>
      <description>&lt;p&gt;In this post Ward Bell answer some questions that people wanted to know about &lt;a href="http://neverindoubtnet.blogspot.com/2009/11/easing-into-prism.html"&gt;learning Prism&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote class="quote"&gt;
&lt;p&gt;Is it possible to start slowly with this Prism stuff and work my way into it gradually. Can I get something running quickly with &lt;a href="http://www.ideablade.com/"&gt;DevForce&lt;/a&gt; as I know it now? My client has seen a prototype and I need to construct it soon. Then can I come back later and modularize the whole thing behind the scenes?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/zVtBRnB_reAuqPZIbH0emfKyqZk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zVtBRnB_reAuqPZIbH0emfKyqZk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/zVtBRnB_reAuqPZIbH0emfKyqZk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zVtBRnB_reAuqPZIbH0emfKyqZk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=aD1updp0tgo:6uO8xH-8zag:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=aD1updp0tgo:6uO8xH-8zag:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?i=aD1updp0tgo:6uO8xH-8zag:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=aD1updp0tgo:6uO8xH-8zag:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=aD1updp0tgo:6uO8xH-8zag:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=aD1updp0tgo:6uO8xH-8zag:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=aD1updp0tgo:6uO8xH-8zag:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <author>editorial@silverlightshow.net ( Silverlight Show)</author>
      <comments>http://www.silverlightshow.net/news/Easing-into-Prism.aspx#comments</comments>
      <guid isPermaLink="false">http://www.silverlightshow.net/news/Easing-into-Prism.aspx</guid>
      <pubDate>Thu, 05 Nov 2009 09:00:00 +0200</pubDate>
    <feedburner:origLink>http://www.silverlightshow.net/news/Easing-into-Prism.aspx</feedburner:origLink></item>
    <item>
      <title>The Silverlight Toolkit – Now in the Microsoft Web Platform Installer</title>
      <link>http://feedproxy.google.com/~r/silverlightshow/~3/m3rLzVYZER0/The-Silverlight-Toolkit-Now-in-the-Microsoft-Web-Platform-Installer-.aspx</link>
      <description>Jeff Wilcox announces that &lt;a href="http://www.jeff.wilcox.name/2009/11/toolkit-webpi/"&gt;the latest Silverlight 3 release of the Silverlight Toolkit&lt;/a&gt; is now available on the Web PI and he gives you some useful links and installation tips.&lt;blockquote class="quote"&gt;
&lt;p&gt;In case you’ve never used the &lt;a href="http://silverlight.codeplex.com/"&gt;Silverlight Toolkit&lt;/a&gt;, it’s never too late to start. The following controls have been part of the Silverlight Toolkit development process. You can find out more about the &lt;a href="http://silverlight.codeplex.com/wikipage?title=Quality%20Bands&amp;amp;referringTitle=Home"&gt;quality bands here&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/PfAJ_h0ZPxp9DjcQcRkwkZLjruQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/PfAJ_h0ZPxp9DjcQcRkwkZLjruQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/PfAJ_h0ZPxp9DjcQcRkwkZLjruQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/PfAJ_h0ZPxp9DjcQcRkwkZLjruQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=m3rLzVYZER0:CEXiSLn5Xl4:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=m3rLzVYZER0:CEXiSLn5Xl4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?i=m3rLzVYZER0:CEXiSLn5Xl4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=m3rLzVYZER0:CEXiSLn5Xl4:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=m3rLzVYZER0:CEXiSLn5Xl4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=m3rLzVYZER0:CEXiSLn5Xl4:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=m3rLzVYZER0:CEXiSLn5Xl4:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <author>editorial@silverlightshow.net ( Silverlight Show)</author>
      <comments>http://www.silverlightshow.net/news/The-Silverlight-Toolkit-Now-in-the-Microsoft-Web-Platform-Installer-.aspx#comments</comments>
      <guid isPermaLink="false">http://www.silverlightshow.net/news/The-Silverlight-Toolkit-Now-in-the-Microsoft-Web-Platform-Installer-.aspx</guid>
      <pubDate>Thu, 05 Nov 2009 08:38:00 +0200</pubDate>
    <feedburner:origLink>http://www.silverlightshow.net/news/The-Silverlight-Toolkit-Now-in-the-Microsoft-Web-Platform-Installer-.aspx</feedburner:origLink></item>
    <item>
      <title>Building N-Tier business applications with .NET RIA Services – Part I</title>
      <link>http://feedproxy.google.com/~r/silverlightshow/~3/vAZUNfqOXgg/Building-N-Tier-business-applications-with-.NET-RIA-Services-Part-I.aspx</link>
      <description>&lt;h3&gt;Introduction&lt;/h3&gt;
&lt;p&gt;In this series of articles we will talk about building N-Tier Silverlight business application, why we want to use multiple tiers, what problems we have to face and how .NET RIA Services can help us solve our issues. &lt;/p&gt;
&lt;h3&gt;Going N-Tier&lt;/h3&gt;
&lt;p&gt;If you develop complex business applications with a large codebase that can easily adapt to changing environments you introduce multiple tiers or layers. For example, you create a Data Access Layer that communicates with your data source whatever that is and passes the requested data to the layer above in object oriented form. The layers above don’t know and don’t want to know anything about how persistence actually happens. All that they want to do is: &lt;i&gt;GetProducts, SaveChanges or PersistChanges&lt;/i&gt;. You can have many different layers like Business Logic Layer, Service Layer or Presentation Layer to ensure your code is flexible, well-structured and strictly separated. &lt;/p&gt;
&lt;p&gt;So you decided going n-tier which is not a really big surprise since you don’t have a choice. If you work with Silverlight you have at least 3 layers. You don’t have ADO.NET libraries in Silverlight so you can’t interact with a database directly (and you shouldn’t do that anyway). So here is what you should have (at least): &lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;Your Silverlight Application - &lt;b&gt;Presentation layer&lt;/b&gt; &lt;/li&gt;
    &lt;li&gt;A WCF Service – &lt;b&gt;Service Layer&lt;/b&gt; &lt;/li&gt;
    &lt;li&gt;Your Database / additional ADO.NET logic to interact with your database – &lt;b&gt;Persistence Layer&lt;/b&gt; &lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;Issues with N-Tier development&lt;/h3&gt;
&lt;p&gt;You have a nice architecture now but it introduces new problems. Now let’s think about how you want to code against these layers. In your Presentation Layer you would like to call a GetProducts method and retrieve your Product list from your Service Layer. You do whatever you want with this list. You modify Product instances in it, add new ones or delete old ones. After you’re done all you want to do is “SaveChanges” back to the database. But you can’t. This would mean that you have client-side change tracking and identity management. Even if you had this on the server side you had lost it as soon as your data has left the server. Solving this problem by yourself would mean a lot of code. &lt;/p&gt;
&lt;h4&gt;Building a Service Layer Manually for CRUD Support&lt;/h4&gt;
&lt;p&gt;If you have several entities mapped to tables on the server side you probably want to enable CRUD operations on them. In this case you’d have to write all these operations by yourself. For example, CRUD operations for the Product entity would look something like this: &lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;GetProducts &lt;/li&gt;
    &lt;li&gt;InsertProduct(Product p) &lt;/li&gt;
    &lt;li&gt;DeleteProduct(Product p) &lt;/li&gt;
    &lt;li&gt;UpdateProduct(Product p) &lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Validation issues&lt;/h4&gt;
&lt;p&gt;Now, if you want to save changes created by user input back to the database you need validation. When you use technologies like Entity Framework or LinqToSql you may notice that the entities setters contain a call to a partial method where you can handle validation. And we know that Silverlight validation mechanism is based on throwing exceptions in property setters. So this is pretty much the place where you should write this logic. Validation needs to happen on both client and server side. Server-side validation ensures that invalid data sent by hacked clients won’t cause any problems. Client-side validation will save us round-trips back to the server. &lt;/p&gt;
&lt;p&gt;So you have to write the logic on server-side… but serialization mechanisms serialize only data, not logic, so on the client-side you won’t have the validation logic that you implemented on server-side. That means that you have to duplicate your code and maintain the synchronization of validation logic between the client and the server manually. &lt;/p&gt;
&lt;h4&gt;Restrictions based on Authentication and Authorization&lt;/h4&gt;
&lt;p&gt;You support full CRUD and custom operations but maybe only authenticated users are capable of submitting an order or only administrators are allowed to delete or insert a new product. You want to define custom operations that can be executed only by certain users or by users in certain roles. Which means that you’ll have to implement authentication and authorization almost from scratch. &lt;/p&gt;
&lt;h3&gt;Introducing .NET RIA Services&lt;/h3&gt;
&lt;p&gt;As we discussed earlier, going N-Tier is inevitable but certainly necessary even if it means writing a lot of code. Fortunately, there is a technology called .Net RIA services that can help you out with these issues. .NET RIA Services can offer you out of the box solutions for the issues mentioned above. &lt;/p&gt;
&lt;p&gt;If you install .NET RIA Services you’ll get new Silverlight application templates in Visual Studio. One of the new templates is the &lt;i&gt;Silverlight Business Application&lt;/i&gt; template. This template generates a solution structure that provides a lot of functionality out of the box. If you run the empty project you’ll see that you have an application that supports navigation. You already have a home and an about page, it has a nice error window to display error messages (just try to navigate to a page that does not exist yet to see it) and it has a login and a register window as well. If you take a closer look at the project structure in the ASP.NET project you’ll see a Services folder where you can find prepared services for supporting user related operations like registration or login. &lt;/p&gt;
&lt;h4&gt;The structure of a DomainService&lt;/h4&gt;
&lt;p&gt;.NET RIA Services defines a class called &lt;i&gt;DomainService&lt;/i&gt; which services as a base class to your Domain Services. A domain service contains different operations like CRUD or custom operations and is completely independent of the underlying layers. Let’s take a look at how a domain service implementation looks like:&lt;/p&gt;
&lt;div id="codeSnippetWrapper" style="border: silver 1px solid; font-family: 'courier new', courier, monospace; background-color: #f4f4f4; text-align: left;"&gt;
&lt;div id="codeSnippet" style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none;"&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum1" style="color: #606060;"&gt; 1:&lt;/span&gt; [EnableClientAccess()]&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum2" style="color: #606060;"&gt; 2:&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;class&lt;/span&gt; SampleDomainService : DomainService&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum3" style="color: #606060;"&gt; 3:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum4" style="color: #606060;"&gt; 4:&lt;/span&gt;     &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; IQueryable&amp;lt;Products&amp;gt; GetProducts()&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum5" style="color: #606060;"&gt; 5:&lt;/span&gt;     {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum6" style="color: #606060;"&gt; 6:&lt;/span&gt;         &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; DataAccessLayer.ProductRepository.GetProducts();&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum7" style="color: #606060;"&gt; 7:&lt;/span&gt;     }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum8" style="color: #606060;"&gt; 8:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Our SampleDomainService inherits from the &lt;i&gt;DomainService&lt;/i&gt; abstract base class and it is decorated with the &lt;i&gt;EnableClientAccessAttribute&lt;/i&gt;. This attribute means that the service will be visible from the client-side and static code generation will create the necessary client-side proxy objects. &lt;/p&gt;
&lt;p&gt;Now we have a GetProducts method. The method returns an &lt;i&gt;IQueryable&amp;lt;T&amp;gt;&lt;/i&gt; which means that this operation can be part of a more complex query. GetProducts will be the source of the complex query and any additional query methods can be appended to it. The actual implementation of the method could be anything. In this case it forwards the request to a custom data access layer. A “select” method must meet the following requirements: &lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;returns &lt;em&gt;IQuerable&amp;lt;T&amp;gt;, IEnumerable&amp;lt;T&amp;gt;&lt;/em&gt; or a singleton instance of type T &lt;/li&gt;
    &lt;li&gt;It should take 0 or more parameters &lt;/li&gt;
    &lt;li&gt;It may be decorated with the &lt;em&gt;QueryAttribute&lt;/em&gt; to explicitly indicate the method as a query method &lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;The structure of a Domain Context&lt;/h4&gt;
&lt;p&gt;Now if you build the project and you click &lt;i&gt;show all files&lt;/i&gt; on the Silverlight Project you’ll get an [&lt;i&gt;ApplicationName]&lt;/i&gt;.Web.g.cs file in the &lt;i&gt;Generated_Code&lt;/i&gt; folder. Let’s see what’s inside:&lt;/p&gt;
&lt;div id="codeSnippetWrapper" style="border: silver 1px solid; font-family: 'courier new', courier, monospace; background-color: #f4f4f4; text-align: left;"&gt;
&lt;div id="codeSnippet" style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none;"&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum1" style="color: #606060;"&gt; 1:&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;sealed&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;partial&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;class&lt;/span&gt; SampleDomainContext : DomainContext&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum2" style="color: #606060;"&gt; 2:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum3" style="color: #606060;"&gt; 3:&lt;/span&gt;     &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; EntityList&amp;lt;Products&amp;gt; Products&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum4" style="color: #606060;"&gt; 4:&lt;/span&gt;     {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum5" style="color: #606060;"&gt; 5:&lt;/span&gt;         get&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum6" style="color: #606060;"&gt; 6:&lt;/span&gt;         {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum7" style="color: #606060;"&gt; 7:&lt;/span&gt;             &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;base&lt;/span&gt;.Entities.GetEntityList&amp;lt;Products&amp;gt;();&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum8" style="color: #606060;"&gt; 8:&lt;/span&gt;         }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum9" style="color: #606060;"&gt; 9:&lt;/span&gt;     }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum10" style="color: #606060;"&gt; 10:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum11" style="color: #606060;"&gt; 11:&lt;/span&gt;     &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; EntityQuery&amp;lt;Products&amp;gt; GetProductsQuery()&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum12" style="color: #606060;"&gt; 12:&lt;/span&gt;     {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum13" style="color: #606060;"&gt; 13:&lt;/span&gt;         &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;base&lt;/span&gt;.CreateQuery&amp;lt;Products&amp;gt;(&lt;span style="color: #006080;"&gt;"GetProducts"&lt;/span&gt;, &lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;, &lt;span style="color: #0000ff;"&gt;false&lt;/span&gt;, &lt;span style="color: #0000ff;"&gt;true&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum14" style="color: #606060;"&gt; 14:&lt;/span&gt;     }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum15" style="color: #606060;"&gt; 15:&lt;/span&gt; ...&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;As you can see with static code generation without using &lt;i&gt;Add Service Reference…,&lt;/i&gt; a &lt;i&gt;DomainContext&lt;/i&gt; was created for you. Domain Context provides identity management, change tracking and operation invocation. This is the client context for your server-side domain service. You can compose complex queries using the &lt;i&gt;GetProductsQuery&lt;/i&gt; method. As you can see it creates an &lt;i&gt;EntityQuery&lt;/i&gt; that calls GetProducts on the server-side. The results of the query will be loaded into the exposed Products property of type &lt;i&gt;EntityList&amp;lt;Product&amp;gt;.&lt;/i&gt; EntityList is a very friendly collection with rich data binding support. &lt;/p&gt;
&lt;p&gt;So what happened? Static code generation happened based on conventions. We exposed a DomainService and defined a method that met some requirements in order to be identified as a query operation. A domain context was created on the client-side with access to our domain service and to our domain operation. &lt;/p&gt;
&lt;h4&gt;Writing a Simple Query using DomainContext&lt;/h4&gt;
&lt;p&gt;Now all you have to do is to create a query, run it and load the results into a DataGrid for example. Creating a query can be done in code-behind using a domain context instance:&lt;/p&gt;
&lt;div id="codeSnippetWrapper" style="border: silver 1px solid; font-family: 'courier new', courier, monospace; background-color: #f4f4f4; text-align: left;"&gt;
&lt;div id="codeSnippet" style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none;"&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum1" style="color: #606060;"&gt; 1:&lt;/span&gt; SampleDomainContext ctx = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; SampleDomainContext();&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum2" style="color: #606060;"&gt; 2:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum3" style="color: #606060;"&gt; 3:&lt;/span&gt; var query = from p &lt;span style="color: #0000ff;"&gt;in&lt;/span&gt; ctx.GetProductsQuery()&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum4" style="color: #606060;"&gt; 4:&lt;/span&gt;             &lt;span style="color: #0000ff;"&gt;where&lt;/span&gt; p.Discontinued == &lt;span style="color: #0000ff;"&gt;false&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum5" style="color: #606060;"&gt; 5:&lt;/span&gt;             select p;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum6" style="color: #606060;"&gt; 6:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum7" style="color: #606060;"&gt; 7:&lt;/span&gt; dataGrid.ItemsSource = ctx.Products;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum8" style="color: #606060;"&gt; 8:&lt;/span&gt; ctx.Load(query);&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;We used the GetProductsQuery() to serve as the source of the query composition. The DataGrid’s ItemsSource property is assigned to the domain context’s Products property of type Entity List which implements &lt;i&gt;INotifyCollectionChanged&lt;/i&gt; so as soon as the data is loaded into the property it will be displayed on the UI. &lt;/p&gt;
&lt;p&gt;Finally we have to explicitly call the Load method passing the composed &lt;i&gt;EntityQuery&lt;/i&gt; as a parameter. This operation calls the domain service and fills up our local EntityList and of course it is done asynchronously. &lt;/p&gt;
&lt;h3&gt;Summary&lt;/h3&gt;
&lt;p&gt;In this introduction article we learned why using n-tier architecture is necessary and what kind of issues do we have to face. .NET RIA services aims to solve most of our problems using convention based static code generation. We got to know two important objects - the DomainService and the DomainContext. &lt;/p&gt;
&lt;p&gt;Later we will see that more complex queries can be written and they can also be composed declaratively in XAML using a &lt;i&gt;DomainDataSource&lt;/i&gt; object.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Lc2WnetklwmEhK6IoXX0DbixKHI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Lc2WnetklwmEhK6IoXX0DbixKHI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Lc2WnetklwmEhK6IoXX0DbixKHI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Lc2WnetklwmEhK6IoXX0DbixKHI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=vAZUNfqOXgg:igPkLFnwu_c:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=vAZUNfqOXgg:igPkLFnwu_c:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?i=vAZUNfqOXgg:igPkLFnwu_c:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=vAZUNfqOXgg:igPkLFnwu_c:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=vAZUNfqOXgg:igPkLFnwu_c:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=vAZUNfqOXgg:igPkLFnwu_c:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=vAZUNfqOXgg:igPkLFnwu_c:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <author>editorial@silverlightshow.net ( Zoltan Arvai)</author>
      <comments>http://www.silverlightshow.net/items/Building-N-Tier-business-applications-with-.NET-RIA-Services-Part-I.aspx#comments</comments>
      <guid isPermaLink="false">http://www.silverlightshow.net/items/Building-N-Tier-business-applications-with-.NET-RIA-Services-Part-I.aspx</guid>
      <pubDate>Thu, 05 Nov 2009 05:17:00 +0200</pubDate>
    <feedburner:origLink>http://www.silverlightshow.net/items/Building-N-Tier-business-applications-with-.NET-RIA-Services-Part-I.aspx</feedburner:origLink></item>
    <item>
      <title>Using Programatic Animations in Silverlight</title>
      <link>http://feedproxy.google.com/~r/silverlightshow/~3/KGmDnduc-Gg/Using-Programatic-Animations-in-Silverlight.aspx</link>
      <description>&lt;p&gt;In this post SmartyP demonstrates how to add &lt;a href="http://www.smartypantscoding.com/content/thinking-outside-box-using-programatic-animations-silverlight"&gt;programatic animations in Silverlight&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote class="quote"&gt;
&lt;p&gt;At the Atlanta Silverlight Firestarter a few months ago myself and &lt;a href="http://maysundays.net/blog"&gt;Mason Brown&lt;/a&gt; did a talk 'Lighting Up the UI'. At the end of the talk I ranted a bit trying to encourage developers to think outside of the box when approaching UI's in Silverlight - to be open to creative ways in tackling new UI challenges. (You can find more on this talk in &lt;a href="http://www.silverlightatlanta.net/?p=156"&gt;these&lt;/a&gt; &lt;a href="http://www.silverlightatlanta.net/?p=197"&gt;posts&lt;/a&gt; on &lt;a href="http://www.silverlightatlanta.net/"&gt;SilverlightAtlanta.net&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;The example I went over in my example was a simple example of how to move an item from one ListBox to another. Most developers would look at this task the same way - they would remove the item being moved from the 'from' ListBox, and they would add the item to the 'to' ListBox. &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/uokkOe4A6p_QQ_oVSKCJe2oJ63M/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/uokkOe4A6p_QQ_oVSKCJe2oJ63M/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/uokkOe4A6p_QQ_oVSKCJe2oJ63M/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/uokkOe4A6p_QQ_oVSKCJe2oJ63M/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=KGmDnduc-Gg:EOtX-p847Pw:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=KGmDnduc-Gg:EOtX-p847Pw:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?i=KGmDnduc-Gg:EOtX-p847Pw:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=KGmDnduc-Gg:EOtX-p847Pw:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=KGmDnduc-Gg:EOtX-p847Pw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=KGmDnduc-Gg:EOtX-p847Pw:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=KGmDnduc-Gg:EOtX-p847Pw:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <author>editorial@silverlightshow.net ( Silverlight Show)</author>
      <comments>http://www.silverlightshow.net/news/Using-Programatic-Animations-in-Silverlight.aspx#comments</comments>
      <guid isPermaLink="false">http://www.silverlightshow.net/news/Using-Programatic-Animations-in-Silverlight.aspx</guid>
      <pubDate>Wed, 04 Nov 2009 11:05:00 +0200</pubDate>
    <feedburner:origLink>http://www.silverlightshow.net/news/Using-Programatic-Animations-in-Silverlight.aspx</feedburner:origLink></item>
    <item>
      <title>Writing WPF/Silverlight Compatible Code. Part 1: The Big Picture</title>
      <link>http://feedproxy.google.com/~r/silverlightshow/~3/dSJijWVFL7s/Writing-WPF-Silverlight-Compatible-Code.-Part-1-The-Big-Picture.aspx</link>
      <description>In this series Alan Mendelevich concentrates on the subject of &lt;a href="http://devblog.ailon.org/devblog/post/2009/11/02/Writing-WPFSilverlight-compatible-code-Part-1-The-Big-Picture.aspx"&gt;WPF/Silverlight compatibility&lt;/a&gt;.&lt;blockquote class="quote"&gt;
&lt;p&gt;Silverlight is a subset of WPF. This is the short official version. In reality this might be close to true featurewise, but as developers of cross-platform (here and later in these series "platform" should mean WPF or Silverlight) solutions we care not only about what benefits some feature provides to the end user, but about it's API for us (developers) and quite often even about it's internal implementation.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/mPtb93LCUvjBB2RQSQGCWdT-7Rw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/mPtb93LCUvjBB2RQSQGCWdT-7Rw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/mPtb93LCUvjBB2RQSQGCWdT-7Rw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/mPtb93LCUvjBB2RQSQGCWdT-7Rw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=dSJijWVFL7s:qM3jJB8iE_M:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=dSJijWVFL7s:qM3jJB8iE_M:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?i=dSJijWVFL7s:qM3jJB8iE_M:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=dSJijWVFL7s:qM3jJB8iE_M:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=dSJijWVFL7s:qM3jJB8iE_M:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=dSJijWVFL7s:qM3jJB8iE_M:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=dSJijWVFL7s:qM3jJB8iE_M:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <author>editorial@silverlightshow.net ( Silverlight Show)</author>
      <comments>http://www.silverlightshow.net/news/Writing-WPF-Silverlight-Compatible-Code.-Part-1-The-Big-Picture.aspx#comments</comments>
      <guid isPermaLink="false">http://www.silverlightshow.net/news/Writing-WPF-Silverlight-Compatible-Code.-Part-1-The-Big-Picture.aspx</guid>
      <pubDate>Wed, 04 Nov 2009 10:36:00 +0200</pubDate>
    <feedburner:origLink>http://www.silverlightshow.net/news/Writing-WPF-Silverlight-Compatible-Code.-Part-1-The-Big-Picture.aspx</feedburner:origLink></item>
    <item>
      <title>Tracking Events in Silverlight with Google Analytics</title>
      <link>http://feedproxy.google.com/~r/silverlightshow/~3/-OKLK_KxHOk/Tracking-Events-in-Silverlight-with-Google-Analytics.aspx</link>
      <description>SmartyP explains how &lt;a href="http://www.smartypantscoding.com/content/tracking-events-silverlight-google-analytics"&gt;Google Analytics has support for event tracking&lt;/a&gt; in Silverlight.&lt;blockquote class="quote"&gt;
&lt;p&gt;One of the things I wanted in &lt;a href="http://www.imagewind.net/"&gt;ImageWind.Net&lt;/a&gt; before releasing it in beta was some basic analytics baked in. I wanted to try and use &lt;a href="http://www.google.com/analytics/"&gt;Google Analytics&lt;/a&gt; and I wanted to do more than just track page views - something which tells us little in a Silverlight application.&lt;/p&gt;
&lt;p&gt;Google Analytics has support for event tracking, what that means is that instead of just tracking how many hits your site gets, you can track when users take certain actions or when events occur in your application. I did a quick search of the web and was happy to find &lt;a href="http://silverlightanalytics.codeplex.com/"&gt;Silverlight Analytics&lt;/a&gt; on CodePlex - a library which makes event tracking in Silverlight with Google Analytics easy. &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Eu-Z25piUTGs7YEmONOEJbg3Oec/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Eu-Z25piUTGs7YEmONOEJbg3Oec/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Eu-Z25piUTGs7YEmONOEJbg3Oec/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Eu-Z25piUTGs7YEmONOEJbg3Oec/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=-OKLK_KxHOk:3bf5Wtsy7Ik:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=-OKLK_KxHOk:3bf5Wtsy7Ik:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?i=-OKLK_KxHOk:3bf5Wtsy7Ik:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=-OKLK_KxHOk:3bf5Wtsy7Ik:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=-OKLK_KxHOk:3bf5Wtsy7Ik:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=-OKLK_KxHOk:3bf5Wtsy7Ik:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=-OKLK_KxHOk:3bf5Wtsy7Ik:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <author>editorial@silverlightshow.net ( Silverlight Show)</author>
      <comments>http://www.silverlightshow.net/news/Tracking-Events-in-Silverlight-with-Google-Analytics.aspx#comments</comments>
      <guid isPermaLink="false">http://www.silverlightshow.net/news/Tracking-Events-in-Silverlight-with-Google-Analytics.aspx</guid>
      <pubDate>Wed, 04 Nov 2009 10:17:00 +0200</pubDate>
    <feedburner:origLink>http://www.silverlightshow.net/news/Tracking-Events-in-Silverlight-with-Google-Analytics.aspx</feedburner:origLink></item>
    <item>
      <title>Silverlight 3 Sorting and Paging</title>
      <link>http://feedproxy.google.com/~r/silverlightshow/~3/njcUc8-GOZo/Silverlight-3-Sorting-and-Paging.aspx</link>
      <description>Vincent Leung suggests you some ways to do &lt;a href="http://vincenthomedev.wordpress.com/2009/11/03/a-better-way-to-do-silverlight-3-sorting-paging-using-domaindatasource-datapager/"&gt;sorting and paging in Silverlight 3 using DomainDataSource and DataPager&lt;/a&gt;.&lt;blockquote class="quote"&gt;
&lt;p&gt;Silverlight 3 includes PagedCollectionView class, which provides UI-level grouping, sorting and paging functionality for any data source that implements the IEnumerable interface. This works as long as all the data that you need to sort, page are already fetched to the client which could be a slow process and can potentially consumed lots of memory on the client-side. A better solution is to provide Server-side sorting &amp;amp; paging. &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/3QSt_18WOhB_dXU3LltIWS-OmIs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3QSt_18WOhB_dXU3LltIWS-OmIs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/3QSt_18WOhB_dXU3LltIWS-OmIs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3QSt_18WOhB_dXU3LltIWS-OmIs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=njcUc8-GOZo:-g_CmXsxqxY:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=njcUc8-GOZo:-g_CmXsxqxY:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?i=njcUc8-GOZo:-g_CmXsxqxY:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=njcUc8-GOZo:-g_CmXsxqxY:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=njcUc8-GOZo:-g_CmXsxqxY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=njcUc8-GOZo:-g_CmXsxqxY:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=njcUc8-GOZo:-g_CmXsxqxY:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <author>editorial@silverlightshow.net ( Silverlight Show)</author>
      <comments>http://www.silverlightshow.net/news/Silverlight-3-Sorting-and-Paging.aspx#comments</comments>
      <guid isPermaLink="false">http://www.silverlightshow.net/news/Silverlight-3-Sorting-and-Paging.aspx</guid>
      <pubDate>Wed, 04 Nov 2009 09:56:00 +0200</pubDate>
    <feedburner:origLink>http://www.silverlightshow.net/news/Silverlight-3-Sorting-and-Paging.aspx</feedburner:origLink></item>
    <item>
      <title>Update Out Of Browser (OOB) Silverlight Apps</title>
      <link>http://feedproxy.google.com/~r/silverlightshow/~3/wupMqG8woUA/Update-Out-Of-Browser-OOB-Silverlight-Apps.aspx</link>
      <description>If you wander &lt;a href="http://weblogs.asp.net/lduveau/archive/2009/11/03/update-out-of-browser-oob-silverlight-apps.aspx"&gt;what happens with your Silverlight application if there is an update&lt;/a&gt; after you have installed it on the local computer, read this post of Laurent Duveau and find the answer.&lt;blockquote class="quote"&gt;
&lt;p&gt;The local application is not updated automatically but you can check that in your code. The CheckAndDownloadUpdateAsync() method downloads the updated application if available and you can notify the user.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/LARLkOTUDI-ozpAw-KS5VqR3cMs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LARLkOTUDI-ozpAw-KS5VqR3cMs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/LARLkOTUDI-ozpAw-KS5VqR3cMs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LARLkOTUDI-ozpAw-KS5VqR3cMs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=wupMqG8woUA:YRV_DGGJwIE:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=wupMqG8woUA:YRV_DGGJwIE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?i=wupMqG8woUA:YRV_DGGJwIE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=wupMqG8woUA:YRV_DGGJwIE:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=wupMqG8woUA:YRV_DGGJwIE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=wupMqG8woUA:YRV_DGGJwIE:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=wupMqG8woUA:YRV_DGGJwIE:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <author>editorial@silverlightshow.net ( Silverlight Show)</author>
      <comments>http://www.silverlightshow.net/news/Update-Out-Of-Browser-OOB-Silverlight-Apps.aspx#comments</comments>
      <guid isPermaLink="false">http://www.silverlightshow.net/news/Update-Out-Of-Browser-OOB-Silverlight-Apps.aspx</guid>
      <pubDate>Wed, 04 Nov 2009 09:32:00 +0200</pubDate>
    <feedburner:origLink>http://www.silverlightshow.net/news/Update-Out-Of-Browser-OOB-Silverlight-Apps.aspx</feedburner:origLink></item>
    <item>
      <title>Creating Silverlight Animations with Code</title>
      <link>http://feedproxy.google.com/~r/silverlightshow/~3/QpYhhy8jVv8/Creating-Silverlight-Animations-with-Code.aspx</link>
      <description>&lt;p&gt;Goncalo Chaves demostrates &lt;a href="http://blogs.fullsix.pt/2009/11/02/silverlight-creating-silverlight-animations-with-code/"&gt;how to create an animation dynamically in code&lt;/a&gt;. &lt;/p&gt;
&lt;blockquote class="quote"&gt;
&lt;p&gt;Last week I was developing a Silverlight application for a customer, and after a few modifications it was necessary to make an dynamic animation … so no storyboards with Blend… get in the code and do everything with C#.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/NWONl6XDONaO_JglZFWtRTO89fY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/NWONl6XDONaO_JglZFWtRTO89fY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/NWONl6XDONaO_JglZFWtRTO89fY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/NWONl6XDONaO_JglZFWtRTO89fY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=QpYhhy8jVv8:BsXhYD-ixDY:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=QpYhhy8jVv8:BsXhYD-ixDY:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?i=QpYhhy8jVv8:BsXhYD-ixDY:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=QpYhhy8jVv8:BsXhYD-ixDY:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=QpYhhy8jVv8:BsXhYD-ixDY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=QpYhhy8jVv8:BsXhYD-ixDY:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=QpYhhy8jVv8:BsXhYD-ixDY:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <author>editorial@silverlightshow.net ( Silverlight Show)</author>
      <comments>http://www.silverlightshow.net/news/Creating-Silverlight-Animations-with-Code.aspx#comments</comments>
      <guid isPermaLink="false">http://www.silverlightshow.net/news/Creating-Silverlight-Animations-with-Code.aspx</guid>
      <pubDate>Wed, 04 Nov 2009 09:17:00 +0200</pubDate>
    <feedburner:origLink>http://www.silverlightshow.net/news/Creating-Silverlight-Animations-with-Code.aspx</feedburner:origLink></item>
    <item>
      <title>Snooping WPF Application with Elevated Permissions</title>
      <link>http://feedproxy.google.com/~r/silverlightshow/~3/Zq2MPnfBFTw/Snooping-WPF-Application-with-Elevated-Permissions.aspx</link>
      <description>&lt;p&gt;Laurent Bugnion has posted this quick tip for those of you who want to &lt;a href="http://geekswithblogs.net/lbugnion/archive/2009/11/03/quick-tip-snooping-wpf-application-with-elevated-permissions.aspx"&gt;use Snoop on a WPF application running with elevated permissions&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote class="quote"&gt;
&lt;p&gt;If you do develop WPF applications, and don’t use Snoop yet, well you have to try it. It is like wanting to develop .NET without &lt;a href="http://www.red-gate.com/products/reflector/"&gt;using Reflector&lt;/a&gt;. It’s possible, but it is painful. &lt;/p&gt;
&lt;p&gt;&lt;a href="http://blois.us/Snoop"&gt;Snoop is a great tool developed by Pete Blois&lt;/a&gt; (of the Expression team). It is a must have in every WPF developer’s toolbox.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/fXFIpYh7GQMnIthSUz9wMVz1a5k/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/fXFIpYh7GQMnIthSUz9wMVz1a5k/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/fXFIpYh7GQMnIthSUz9wMVz1a5k/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/fXFIpYh7GQMnIthSUz9wMVz1a5k/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=Zq2MPnfBFTw:m76uvEw35ZM:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=Zq2MPnfBFTw:m76uvEw35ZM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?i=Zq2MPnfBFTw:m76uvEw35ZM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=Zq2MPnfBFTw:m76uvEw35ZM:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=Zq2MPnfBFTw:m76uvEw35ZM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=Zq2MPnfBFTw:m76uvEw35ZM:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=Zq2MPnfBFTw:m76uvEw35ZM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <author>editorial@silverlightshow.net ( Silverlight Show)</author>
      <comments>http://www.silverlightshow.net/news/Snooping-WPF-Application-with-Elevated-Permissions.aspx#comments</comments>
      <guid isPermaLink="false">http://www.silverlightshow.net/news/Snooping-WPF-Application-with-Elevated-Permissions.aspx</guid>
      <pubDate>Wed, 04 Nov 2009 09:01:00 +0200</pubDate>
    <feedburner:origLink>http://www.silverlightshow.net/news/Snooping-WPF-Application-with-Elevated-Permissions.aspx</feedburner:origLink></item>
    <item>
      <title>LINQ Shortcut When Using Silverlight and ADO .NET Data Services</title>
      <link>http://feedproxy.google.com/~r/silverlightshow/~3/IR5jH6C7fIA/LINQ-Shortcut-When-Using-Silverlight-and-ADO-.NET-Data-Services.aspx</link>
      <description>&lt;p&gt;In this post Stephen Forte demonstrates &lt;a href="http://www.stephenforte.net/PermaLink,guid,3a085b0c-defa-4eea-88a4-09607696b0c9.aspx"&gt;how to use the code from his AsyncLINQManager&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote class="quote"&gt;
&lt;p&gt;I have a simple demo application that uses &lt;a href="http://www.stephenforte.net/ct.ashx?id=3a085b0c-defa-4eea-88a4-09607696b0c9&amp;amp;url=http%3a%2f%2fmsdn.microsoft.com%2fen-us%2fdata%2fbb931106.aspx"&gt;ADO.NET Data Services&lt;/a&gt; as a data service back end for a Silverlight application.  My ADO.NET Data Service uses the Entity Framework to map the Northwind database tables of Customers, Orders, and Order Details. Once the Silverlight applications sets a service reference to the ADO.NET Data Service, you can use the client side LINQ libraries to build your application. My application looks like this, it has a drop down filled with customers, a grid with Order and a grid with Order Details. As you click on each one, it will filter the rest. &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/WlSRwAL9qfhwX8nBWOf8u3F_h8c/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/WlSRwAL9qfhwX8nBWOf8u3F_h8c/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/WlSRwAL9qfhwX8nBWOf8u3F_h8c/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/WlSRwAL9qfhwX8nBWOf8u3F_h8c/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=IR5jH6C7fIA:GLiiwPd4MPs:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=IR5jH6C7fIA:GLiiwPd4MPs:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?i=IR5jH6C7fIA:GLiiwPd4MPs:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=IR5jH6C7fIA:GLiiwPd4MPs:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=IR5jH6C7fIA:GLiiwPd4MPs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=IR5jH6C7fIA:GLiiwPd4MPs:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=IR5jH6C7fIA:GLiiwPd4MPs:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <author>editorial@silverlightshow.net ( Silverlight Show)</author>
      <comments>http://www.silverlightshow.net/news/LINQ-Shortcut-When-Using-Silverlight-and-ADO-.NET-Data-Services.aspx#comments</comments>
      <guid isPermaLink="false">http://www.silverlightshow.net/news/LINQ-Shortcut-When-Using-Silverlight-and-ADO-.NET-Data-Services.aspx</guid>
      <pubDate>Wed, 04 Nov 2009 08:40:00 +0200</pubDate>
    <feedburner:origLink>http://www.silverlightshow.net/news/LINQ-Shortcut-When-Using-Silverlight-and-ADO-.NET-Data-Services.aspx</feedburner:origLink></item>
    <item>
      <title>Sociotoco Search</title>
      <link>http://feedproxy.google.com/~r/silverlightshow/~3/iAw4dM2O6To/Sociotoco-Search.aspx</link>
      <description>&lt;a href="http://sociotoco.com/search/"&gt;Sociotoco Search&lt;/a&gt; helps you find online profiles in most commonly used social networks like Twitter, LinkedIn, and Facebook - all on one place.
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/AW3qb1LS_yJlWE3wVvqUA8cS7bU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/AW3qb1LS_yJlWE3wVvqUA8cS7bU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/AW3qb1LS_yJlWE3wVvqUA8cS7bU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/AW3qb1LS_yJlWE3wVvqUA8cS7bU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=iAw4dM2O6To:aya_t8oIRto:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=iAw4dM2O6To:aya_t8oIRto:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?i=iAw4dM2O6To:aya_t8oIRto:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=iAw4dM2O6To:aya_t8oIRto:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=iAw4dM2O6To:aya_t8oIRto:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=iAw4dM2O6To:aya_t8oIRto:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=iAw4dM2O6To:aya_t8oIRto:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <author>editorial@silverlightshow.net ( Arno Ham)</author>
      <comments>http://www.silverlightshow.net/showcase/Sociotoco-Search.aspx#comments</comments>
      <guid isPermaLink="false">http://www.silverlightshow.net/showcase/Sociotoco-Search.aspx</guid>
      <pubDate>Wed, 04 Nov 2009 00:19:00 +0200</pubDate>
    <feedburner:origLink>http://www.silverlightshow.net/showcase/Sociotoco-Search.aspx</feedburner:origLink></item>
    <item>
      <title>Connecting to the SqlMembership model through Silverlight and WCF</title>
      <link>http://feedproxy.google.com/~r/silverlightshow/~3/6_HI7HNW0no/Connecting-to-the-SqlMembership-model-through-Silverlight-and-WCF.aspx</link>
      <description>&lt;h3&gt;Introduction&lt;/h3&gt;
&lt;p&gt;So what is this about? To those of you who are not familiar with the SqlMembership model, this is basically a Microsoft's default implementation of an authentication and authorization model, in this case storing its information in Sql Server. In this article we will look into the steps of setting up a database, creating a WCF service to actually work with the SqlMembershipProvider and then will create some Silverlight UI to interact with that. It may seem like a lot of work, but stay with me here. Here is how it should look like when we are done:&lt;/p&gt;
&lt;p&gt;&lt;img width="327" height="121" title="CreateUser" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px;" alt="CreateUser" src="http://www.silverlightshow.net/Storage/Users/emil/CreateUser_thumb.png" /&gt;&lt;/p&gt;
&lt;p&gt;You can download the source code to go with this article &lt;a href="http://dl.getdropbox.com/u/1543185/SilverlightShow/WcfMembershipService.zip" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Step 1: Setting up the database&lt;/h3&gt;
&lt;p&gt;You can do this in two ways. You can use an existing database (or create one up front, with your own preferred settings) or you can have the tools create one for you. The process is pretty similar. Open the Visual Studio 2008 Command Prompt (under Visual Studio Tools in the Visual Studio 2008 start menu folder) and type: &lt;/p&gt;
&lt;p&gt;aspnet_regsql&lt;/p&gt;
&lt;p&gt;This will open up a wizard that takes you through the steps of setting up a membership database. If you want to create a database through the wizard, all you have to do is to type the name you want for your new database on the third screen, instead of selecting an existing database. Once the wizard has completed your database is ready to go.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.silverlightshow.net/$aspnetregsqlnewdatabase3.png"&gt;&lt;img width="305" height="237" title="aspnetregsqlnewdatabase" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px;" alt="aspnetregsqlnewdatabase" src="http://www.silverlightshow.net/Storage/Users/emil/aspnetregsqlnewdatabase_thumb.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;h3&gt;Step 2: Building a WCF service around SqlMembershipProvider&lt;/h3&gt;
&lt;p&gt;One of the first things I always do when starting a new WCF Service application is renaming the Service class to something a little more useful. One tip I’d like to give on that is to always use the Refactor tools to rename your service class. This will ensure that your services markup is updated as well.&lt;/p&gt;
&lt;h4&gt;Step 2.1: Configuration&lt;/h4&gt;
&lt;p&gt;The second thing to do on a WCF service is its configuration in web.config. As we plan to use this service for Silverlight, we obviously need to update the binding of the service from wsHttpBinding to basicHttpBinding in the default endpoint. There are a lot of examples on that, so I won’t discuss it here.&lt;/p&gt;
&lt;p&gt;In this case we also need to put in some configuration for our SqlMembershipProvider. To make it all work, we need three things:&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;A connection string to point to our membership database &lt;/li&gt;
    &lt;li&gt;Tell ASP.NET we want to use Forms authentication &lt;/li&gt;
    &lt;li&gt;Add the SqlMembershipProvider as a provider to our membership configuration and make it the default &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Adding a connection string to the web.config is easy:&lt;/p&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;div id="codeSnippet" style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum1" style="color: #606060;"&gt; 1:&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;connectionStrings&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum2" style="color: #606060;"&gt; 2:&lt;/span&gt;   &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;add&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="MembershipConnection"&lt;/span&gt; &lt;/pre&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span style="color: #ff0000;"&gt;connectionString&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Data Source=localhost;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span style="color: #0000ff;"&gt;Initial Catalog=MyMembershipDatabase;Integrated Security=True"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum3" style="color: #606060;"&gt; 3:&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;connectionStrings&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;The next step is to change the authentication mode from Windows to Forms:&lt;/p&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;div id="codeSnippet" style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum1" style="color: #606060;"&gt; 1:&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;authentication&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;mode&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Forms"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;And finally we can add the SqlMembershipProvider:&lt;/p&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;div id="codeSnippet" style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum1" style="color: #606060;"&gt; 1:&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;membership&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;defaultProvider&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="SqlProvider"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;userIsOnlineTimeWindow&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="60"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum2" style="color: #606060;"&gt; 2:&lt;/span&gt;   &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;providers&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum3" style="color: #606060;"&gt; 3:&lt;/span&gt;     &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;add&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="SqlProvider"&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum4" style="color: #606060;"&gt; 4:&lt;/span&gt;          &lt;span style="color: #ff0000;"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="System.Web.Security.SqlMembershipProvider"&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum5" style="color: #606060;"&gt; 5:&lt;/span&gt;          &lt;span style="color: #ff0000;"&gt;connectionStringName&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="MembershipConnection"&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum6" style="color: #606060;"&gt; 6:&lt;/span&gt;          &lt;span style="color: #ff0000;"&gt;applicationName&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="MyApplication"&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum7" style="color: #606060;"&gt; 7:&lt;/span&gt;          &lt;span style="color: #ff0000;"&gt;enablePasswordRetrieval&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="false"&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum8" style="color: #606060;"&gt; 8:&lt;/span&gt;          &lt;span style="color: #ff0000;"&gt;enablePasswordReset&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="true"&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum9" style="color: #606060;"&gt; 9:&lt;/span&gt;          &lt;span style="color: #ff0000;"&gt;requiresQuestionAndAnswer&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="false"&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum10" style="color: #606060;"&gt; 10:&lt;/span&gt;          &lt;span style="color: #ff0000;"&gt;requiresUniqueEmail&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="true"&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum11" style="color: #606060;"&gt; 11:&lt;/span&gt;          &lt;span style="color: #ff0000;"&gt;passwordFormat&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Hashed"&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum12" style="color: #606060;"&gt; 12:&lt;/span&gt;          &lt;span style="color: #ff0000;"&gt;maxInvalidPasswordAttempts&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="5"&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum13" style="color: #606060;"&gt; 13:&lt;/span&gt;          &lt;span style="color: #ff0000;"&gt;passwordAttemptWindow&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="10"&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum14" style="color: #606060;"&gt; 14:&lt;/span&gt;          &lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum15" style="color: #606060;"&gt; 15:&lt;/span&gt;   &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;providers&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum16" style="color: #606060;"&gt; 16:&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;membership&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Note that the authentication and membership configuration are placed inside the system.web element. The SqlMembershipProvider has extensive configuration options, which are described in the &lt;a href="http://msdn.microsoft.com/en-us/library/system.web.security.sqlmembershipprovider.aspx" target="_blank"&gt;MSDN documentation&lt;/a&gt;.&lt;/p&gt;
&lt;h4&gt;Step 2.2: Defining the service contract&lt;/h4&gt;
&lt;p&gt;To keep things simple, we will focus on a single operation. In this case creating a new user sounds like the right starting point. So we need an operation that allows us to create a new user. Look at the SqlMembershipProvider documentation. It has a CreateUser method that we want to use, which takes some parameters:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;A Username &lt;/li&gt;
    &lt;li&gt;A Password &lt;/li&gt;
    &lt;li&gt;An Email address &lt;/li&gt;
    &lt;li&gt;A Password question &lt;/li&gt;
    &lt;li&gt;A Password answer &lt;/li&gt;
    &lt;li&gt;A flag indicating whether or not this user is approved right away &lt;/li&gt;
    &lt;li&gt;A unique key to identify the user &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;As we have configured our SqlMembershipProvider to not require a Password question and answer, we don’t need these in the contract. In this case we want the user to be able to login right after the account has been created. That is why we simply set the flag for that to true all the time and this will generate a unique key for the user in the service, so we don’t need those in the contract.&lt;/p&gt;
&lt;p&gt;That leaves us with a username, a password and an email address as parameters for our operation. The CreateUser method also has an out parameter of the enum type MembershipCreateStatus, which we would like to return. This gives us the following interface:&lt;/p&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;div id="codeSnippet" style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum1" style="color: #606060;"&gt; 1:&lt;/span&gt; [ServiceContract]&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum2" style="color: #606060;"&gt; 2:&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;interface&lt;/span&gt; IMembershipService&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum3" style="color: #606060;"&gt; 3:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum4" style="color: #606060;"&gt; 4:&lt;/span&gt;     [OperationContract]&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum5" style="color: #606060;"&gt; 5:&lt;/span&gt;     MembershipCreateStatus CreateUser(&lt;span style="color: #0000ff;"&gt;string&lt;/span&gt; username, &lt;span style="color: #0000ff;"&gt;string&lt;/span&gt; password, &lt;span style="color: #0000ff;"&gt;string&lt;/span&gt; email);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum6" style="color: #606060;"&gt; 6:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h4&gt;Step 2.3: Implementing the services functionality&lt;/h4&gt;
&lt;p&gt;To make everything work, we obviously need to implement the CreateUser operation in the service. All it has to do is to get the default MembershipProvider in the application and call the CreateUser method on it with the parameters provided (and some defaults), catch the status output and return that to the client. So here is the implementation:&lt;/p&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;div id="codeSnippet" style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum1" style="color: #606060;"&gt; 1:&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;class&lt;/span&gt; MembershipService : IMembershipService&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum2" style="color: #606060;"&gt; 2:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum3" style="color: #606060;"&gt; 3:&lt;/span&gt;     &lt;span style="color: #cc6633;"&gt;#region&lt;/span&gt; IMembershipService Members&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum4" style="color: #606060;"&gt; 4:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum5" style="color: #606060;"&gt; 5:&lt;/span&gt;     &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; System.Web.Security.MembershipCreateStatus CreateUser(&lt;span style="color: #0000ff;"&gt;string&lt;/span&gt; username, &lt;span style="color: #0000ff;"&gt;string&lt;/span&gt; password, &lt;span style="color: #0000ff;"&gt;string&lt;/span&gt; email)&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum6" style="color: #606060;"&gt; 6:&lt;/span&gt;     {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum7" style="color: #606060;"&gt; 7:&lt;/span&gt;         MembershipCreateStatus status;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum8" style="color: #606060;"&gt; 8:&lt;/span&gt;         Membership.Provider.CreateUser(username, password, email, &lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;, &lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;, &lt;span style="color: #0000ff;"&gt;true&lt;/span&gt;, &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; Guid(), &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum9" style="color: #606060;"&gt; 9:&lt;/span&gt;             &lt;span style="color: #0000ff;"&gt;out&lt;/span&gt; status);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum10" style="color: #606060;"&gt; 10:&lt;/span&gt;         &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; status;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum11" style="color: #606060;"&gt; 11:&lt;/span&gt;     }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum12" style="color: #606060;"&gt; 12:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum13" style="color: #606060;"&gt; 13:&lt;/span&gt;     &lt;span style="color: #cc6633;"&gt;#endregion&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum14" style="color: #606060;"&gt; 14:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Note that after the username, the password and the email we pass two null values for the password question and answer, followed by true for the approval and a new Guid as the provider key.&lt;/p&gt;
&lt;p&gt;I’ve included a small console app to test the services functionality in the solution for the service. To prevent running into cross domain issues, I tend to deploy my services to my local IIS as soon as I start using them in Silverlight. In this case I did the same, so the reference in the Silverlight client points to a different URL from the console app.&lt;/p&gt;
&lt;h3&gt;Step 3: Building the Silverlight client UI&lt;/h3&gt;
&lt;p&gt;It's time to actually build something that we can see. First I added a Silverlight Application project to the solution and I let Visual Studio create a new Web project for me to host the Silverlight project in. Next I added a service reference to my newly deployed service in IIS. So what do we need to provide to the user when creating a new account? We need the user to give us a username, a password and an email address. To make sure the user knows what he or she typed for a password, we want to ask for a password confirmation as well. To make getting and checking the input a lot easier, I wrote a class to which we can bind from the UI:&lt;/p&gt;
&lt;div id="codeSnippetWrapper" style="border: silver 1px solid; font-family: 'courier new', courier, monospace; background-color: rgb(244,244,244); text-align: left;"&gt;
&lt;div id="codeSnippet" style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum1" style="color: #606060;"&gt; 1:&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; System;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum2" style="color: #606060;"&gt; 2:&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; System.Net;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum3" style="color: #606060;"&gt; 3:&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; System.Windows;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum4" style="color: #606060;"&gt; 4:&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; System.Windows.Controls;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum5" style="color: #606060;"&gt; 5:&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; System.Windows.Documents;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum6" style="color: #606060;"&gt; 6:&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; System.Windows.Ink;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum7" style="color: #606060;"&gt; 7:&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; System.Windows.Input;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum8" style="color: #606060;"&gt; 8:&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; System.Windows.Media;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum9" style="color: #606060;"&gt; 9:&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; System.Windows.Media.Animation;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum10" style="color: #606060;"&gt; 10:&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; System.Windows.Shapes;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum11" style="color: #606060;"&gt; 11:&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; System.ComponentModel;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum12" style="color: #606060;"&gt; 12:&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; System.ComponentModel.DataAnnotations;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum13" style="color: #606060;"&gt; 13:&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; System.Text.RegularExpressions;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum14" style="color: #606060;"&gt; 14:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum15" style="color: #606060;"&gt; 15:&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;namespace&lt;/span&gt; SLMembershipClient&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum16" style="color: #606060;"&gt; 16:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum17" style="color: #606060;"&gt; 17:&lt;/span&gt;     &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;class&lt;/span&gt; User : INotifyPropertyChanged&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum18" style="color: #606060;"&gt; 18:&lt;/span&gt;     {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum19" style="color: #606060;"&gt; 19:&lt;/span&gt;         &lt;span style="color: #0000ff;"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;string&lt;/span&gt; _username;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum20" style="color: #606060;"&gt; 20:&lt;/span&gt;         &lt;span style="color: #0000ff;"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;string&lt;/span&gt; _password;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum21" style="color: #606060;"&gt; 21:&lt;/span&gt;         &lt;span style="color: #0000ff;"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;string&lt;/span&gt; _passwordConfirmation;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum22" style="color: #606060;"&gt; 22:&lt;/span&gt;         &lt;span style="color: #0000ff;"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;string&lt;/span&gt; _emailAddress;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum23" style="color: #606060;"&gt; 23:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum24" style="color: #606060;"&gt; 24:&lt;/span&gt;         &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;string&lt;/span&gt; Username&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum25" style="color: #606060;"&gt; 25:&lt;/span&gt;         {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum26" style="color: #606060;"&gt; 26:&lt;/span&gt;             get&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum27" style="color: #606060;"&gt; 27:&lt;/span&gt;             {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum28" style="color: #606060;"&gt; 28:&lt;/span&gt;                 &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; _username;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum29" style="color: #606060;"&gt; 29:&lt;/span&gt;             }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum30" style="color: #606060;"&gt; 30:&lt;/span&gt;             set&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum31" style="color: #606060;"&gt; 31:&lt;/span&gt;             {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum32" style="color: #606060;"&gt; 32:&lt;/span&gt;                 _username = &lt;span style="color: #0000ff;"&gt;value&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum33" style="color: #606060;"&gt; 33:&lt;/span&gt;                 DoPropertyChanged(&lt;span style="color: #006080;"&gt;"Username"&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum34" style="color: #606060;"&gt; 34:&lt;/span&gt;             }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum35" style="color: #606060;"&gt; 35:&lt;/span&gt;         }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum36" style="color: #606060;"&gt; 36:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum37" style="color: #606060;"&gt; 37:&lt;/span&gt;         &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;string&lt;/span&gt; Password&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum38" style="color: #606060;"&gt; 38:&lt;/span&gt;         {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum39" style="color: #606060;"&gt; 39:&lt;/span&gt;             get&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum40" style="color: #606060;"&gt; 40:&lt;/span&gt;             {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum41" style="color: #606060;"&gt; 41:&lt;/span&gt;                 &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; _password;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum42" style="color: #606060;"&gt; 42:&lt;/span&gt;             }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum43" style="color: #606060;"&gt; 43:&lt;/span&gt;             set&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum44" style="color: #606060;"&gt; 44:&lt;/span&gt;             {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum45" style="color: #606060;"&gt; 45:&lt;/span&gt;                 _password = &lt;span style="color: #0000ff;"&gt;value&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum46" style="color: #606060;"&gt; 46:&lt;/span&gt;                 DoPropertyChanged(&lt;span style="color: #006080;"&gt;"Password"&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum47" style="color: #606060;"&gt; 47:&lt;/span&gt;             }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum48" style="color: #606060;"&gt; 48:&lt;/span&gt;         }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum49" style="color: #606060;"&gt; 49:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum50" style="color: #606060;"&gt; 50:&lt;/span&gt;         &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;string&lt;/span&gt; PasswordConfirmation&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum51" style="color: #606060;"&gt; 51:&lt;/span&gt;         {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum52" style="color: #606060;"&gt; 52:&lt;/span&gt;             get&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum53" style="color: #606060;"&gt; 53:&lt;/span&gt;             {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum54" style="color: #606060;"&gt; 54:&lt;/span&gt;                 &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; _passwordConfirmation;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum55" style="color: #606060;"&gt; 55:&lt;/span&gt;             }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum56" style="color: #606060;"&gt; 56:&lt;/span&gt;             set&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum57" style="color: #606060;"&gt; 57:&lt;/span&gt;             {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum58" style="color: #606060;"&gt; 58:&lt;/span&gt;                 CheckPasswordConfirmation();&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum59" style="color: #606060;"&gt; 59:&lt;/span&gt;                 _passwordConfirmation = &lt;span style="color: #0000ff;"&gt;value&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum60" style="color: #606060;"&gt; 60:&lt;/span&gt;                 DoPropertyChanged(&lt;span style="color: #006080;"&gt;"PasswordConfirmation"&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum61" style="color: #606060;"&gt; 61:&lt;/span&gt;             }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum62" style="color: #606060;"&gt; 62:&lt;/span&gt;         }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum63" style="color: #606060;"&gt; 63:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum64" style="color: #606060;"&gt; 64:&lt;/span&gt;         &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;string&lt;/span&gt; EmailAddress&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum65" style="color: #606060;"&gt; 65:&lt;/span&gt;         {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum66" style="color: #606060;"&gt; 66:&lt;/span&gt;             get&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum67" style="color: #606060;"&gt; 67:&lt;/span&gt;             {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum68" style="color: #606060;"&gt; 68:&lt;/span&gt;                 &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; _emailAddress;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum69" style="color: #606060;"&gt; 69:&lt;/span&gt;             }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum70" style="color: #606060;"&gt; 70:&lt;/span&gt;             set&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum71" style="color: #606060;"&gt; 71:&lt;/span&gt;             {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum72" style="color: #606060;"&gt; 72:&lt;/span&gt;                 CheckEmail(&lt;span style="color: #0000ff;"&gt;value&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum73" style="color: #606060;"&gt; 73:&lt;/span&gt;                 _emailAddress = &lt;span style="color: #0000ff;"&gt;value&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum74" style="color: #606060;"&gt; 74:&lt;/span&gt;                 DoPropertyChanged(&lt;span style="color: #006080;"&gt;"EmailAddress"&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum75" style="color: #606060;"&gt; 75:&lt;/span&gt;             }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum76" style="color: #606060;"&gt; 76:&lt;/span&gt;         }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum77" style="color: #606060;"&gt; 77:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum78" style="color: #606060;"&gt; 78:&lt;/span&gt;         &lt;span style="color: #0000ff;"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;void&lt;/span&gt; CheckPasswordConfirmation()&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum79" style="color: #606060;"&gt; 79:&lt;/span&gt;         {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum80" style="color: #606060;"&gt; 80:&lt;/span&gt;             &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (!Password.Equals(PasswordConfirmation))&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum81" style="color: #606060;"&gt; 81:&lt;/span&gt;             {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum82" style="color: #606060;"&gt; 82:&lt;/span&gt;                 &lt;span style="color: #0000ff;"&gt;throw&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; ArgumentException(&lt;span style="color: #006080;"&gt;"Password and password confirmation don't match."&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum83" style="color: #606060;"&gt; 83:&lt;/span&gt;             }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum84" style="color: #606060;"&gt; 84:&lt;/span&gt;         }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum85" style="color: #606060;"&gt; 85:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum86" style="color: #606060;"&gt; 86:&lt;/span&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;void&lt;/span&gt; CheckEmail(&lt;span style="color: #0000ff;"&gt;string&lt;/span&gt; email)&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum87" style="color: #606060;"&gt; 87:&lt;/span&gt;         {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum88" style="color: #606060;"&gt; 88:&lt;/span&gt;             &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (!Regex.IsMatch(email, &lt;span style="color: #006080;"&gt;@"^\w+?@\w+?\.\w+?$"&lt;/span&gt;))&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum89" style="color: #606060;"&gt; 89:&lt;/span&gt;             {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum90" style="color: #606060;"&gt; 90:&lt;/span&gt;                 &lt;span style="color: #0000ff;"&gt;throw&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; ArgumentException(&lt;span style="color: #006080;"&gt;"Email address has an invalid format"&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum91" style="color: #606060;"&gt; 91:&lt;/span&gt;             }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum92" style="color: #606060;"&gt; 92:&lt;/span&gt;         }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum93" style="color: #606060;"&gt; 93:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum94" style="color: #606060;"&gt; 94:&lt;/span&gt;         &lt;span style="color: #cc6633;"&gt;#region&lt;/span&gt; INotifyPropertyChanged Members&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum95" style="color: #606060;"&gt; 95:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum96" style="color: #606060;"&gt; 96:&lt;/span&gt;         &lt;span style="color: #0000ff;"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;void&lt;/span&gt; DoPropertyChanged(&lt;span style="color: #0000ff;"&gt;string&lt;/span&gt; propertyName)&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum97" style="color: #606060;"&gt; 97:&lt;/span&gt;         {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum98" style="color: #606060;"&gt; 98:&lt;/span&gt;             &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (PropertyChanged != &lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;)&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum99" style="color: #606060;"&gt; 99:&lt;/span&gt;             {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum100" style="color: #606060;"&gt; 100:&lt;/span&gt;                 PropertyChanged.Invoke(&lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;, &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; PropertyChangedEventArgs(propertyName));&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum101" style="color: #606060;"&gt; 101:&lt;/span&gt;             }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum102" style="color: #606060;"&gt; 102:&lt;/span&gt;         }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum103" style="color: #606060;"&gt; 103:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum104" style="color: #606060;"&gt; 104:&lt;/span&gt;         &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;event&lt;/span&gt; PropertyChangedEventHandler PropertyChanged;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum105" style="color: #606060;"&gt; 105:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum106" style="color: #606060;"&gt; 106:&lt;/span&gt;         &lt;span style="color: #cc6633;"&gt;#endregion&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum107" style="color: #606060;"&gt; 107:&lt;/span&gt;     }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum108" style="color: #606060;"&gt; 108:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;To make all this work, I’ve added a reference to System.ComponentModel.DataAnnotations. As you can see I’ve implemented INotifyPropertyChanged to provide an event for databinding and I’ve implemented some check methods that are called in property setters to do validation. They throw exceptions which can be catched by the validation engine in Silverlight 3.&lt;/p&gt;
&lt;p&gt;Next I’ve defined a user interface to input the four properties of the User object and I have two buttons, one to clear the fields and one to create the user. Finally I’ve added a textblock to display a message based on the returned status:&lt;/p&gt;
&lt;div id="codeSnippetWrapper" style="border: silver 1px solid; font-family: 'courier new', courier, monospace; background-color: rgb(244,244,244); text-align: left;"&gt;
&lt;div id="codeSnippet" style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum1" style="color: #606060;"&gt; 1:&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;TextBlock&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Text&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Username:"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum2" style="color: #606060;"&gt; 2:&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;TextBox&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;x:Name&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="usernameTextBox"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Text&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="{Binding Username, Mode=TwoWay, ValidatesOnExceptions=True}"&lt;/span&gt; &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum3" style="color: #606060;"&gt; 3:&lt;/span&gt;          &lt;span style="color: #ff0000;"&gt;Grid&lt;/span&gt;.&lt;span style="color: #ff0000;"&gt;Column&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="1"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum4" style="color: #606060;"&gt; 4:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum5" style="color: #606060;"&gt; 5:&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;TextBlock&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Text&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Email address:"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Grid&lt;/span&gt;.&lt;span style="color: #ff0000;"&gt;Row&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="1"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum6" style="color: #606060;"&gt; 6:&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;TextBox&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;x:Name&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="emailTextBox"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Text&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="{Binding EmailAddress, Mode=TwoWay, ValidatesOnExceptions=True}"&lt;/span&gt; &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum7" style="color: #606060;"&gt; 7:&lt;/span&gt;          &lt;span style="color: #ff0000;"&gt;Grid&lt;/span&gt;.&lt;span style="color: #ff0000;"&gt;Column&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="1"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Grid&lt;/span&gt;.&lt;span style="color: #ff0000;"&gt;Row&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="1"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum8" style="color: #606060;"&gt; 8:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum9" style="color: #606060;"&gt; 9:&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;TextBlock&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Text&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Password:"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Grid&lt;/span&gt;.&lt;span style="color: #ff0000;"&gt;Row&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="2"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum10" style="color: #606060;"&gt; 10:&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;PasswordBox&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;x:Name&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="passwordPasswordBox"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Password&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="{Binding Password, Mode=TwoWay, ValidatesOnExceptions=True}"&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum11" style="color: #606060;"&gt; 11:&lt;/span&gt;              &lt;span style="color: #ff0000;"&gt;Grid&lt;/span&gt;.&lt;span style="color: #ff0000;"&gt;Column&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="1"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Grid&lt;/span&gt;.&lt;span style="color: #ff0000;"&gt;Row&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="2"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum12" style="color: #606060;"&gt; 12:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum13" style="color: #606060;"&gt; 13:&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;TextBlock&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Text&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Password confirumation:"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Grid&lt;/span&gt;.&lt;span style="color: #ff0000;"&gt;Row&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="3"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum14" style="color: #606060;"&gt; 14:&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;PasswordBox&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;x:Name&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="passwordConfirmationPasswordBox"&lt;/span&gt; &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum15" style="color: #606060;"&gt; 15:&lt;/span&gt;              &lt;span style="color: #ff0000;"&gt;Password&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="{Binding PasswordConfirmation, Mode=TwoWay, ValidatesOnExceptions=True}"&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum16" style="color: #606060;"&gt; 16:&lt;/span&gt;              &lt;span style="color: #ff0000;"&gt;Grid&lt;/span&gt;.&lt;span style="color: #ff0000;"&gt;Column&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="1"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Grid&lt;/span&gt;.&lt;span style="color: #ff0000;"&gt;Row&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="3"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum17" style="color: #606060;"&gt; 17:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum18" style="color: #606060;"&gt; 18:&lt;/span&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: #ff0000;"&gt;Grid&lt;/span&gt;.&lt;span style="color: #ff0000;"&gt;Row&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="4"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Grid&lt;/span&gt;.&lt;span style="color: #ff0000;"&gt;ColumnSpan&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="2"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Orientation&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Horizontal"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum19" style="color: #606060;"&gt; 19:&lt;/span&gt;     &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Button&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;x:Name&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="clearButton"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Content&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Clear"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Click&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="clearButton_Click"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum20" style="color: #606060;"&gt; 20:&lt;/span&gt;     &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Button&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;x:Name&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="createButton"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Content&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Create account"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Click&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="createButton_Click"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum21" style="color: #606060;"&gt; 21:&lt;/span&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;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum22" style="color: #606060;"&gt; 22:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum23" style="color: #606060;"&gt; 23:&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;TextBlock&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;x:Name&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="resultTextBox"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Grid&lt;/span&gt;.&lt;span style="color: #ff0000;"&gt;Row&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="5"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;Grid&lt;/span&gt;.&lt;span style="color: #ff0000;"&gt;ColumnSpan&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="2"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;And finally I’ve implemented some code to tie it all together:&lt;/p&gt;
&lt;div id="codeSnippetWrapper" style="border: silver 1px solid; font-family: 'courier new', courier, monospace; background-color: rgb(244,244,244); text-align: left;"&gt;
&lt;div id="codeSnippet" style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum1" style="color: #606060;"&gt; 1:&lt;/span&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;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum2" style="color: #606060;"&gt; 2:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum3" style="color: #606060;"&gt; 3:&lt;/span&gt;     MembershipServiceClient _client;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum4" style="color: #606060;"&gt; 4:&lt;/span&gt;     User _user;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum5" style="color: #606060;"&gt; 5:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum6" style="color: #606060;"&gt; 6:&lt;/span&gt;     &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; MainPage()&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum7" style="color: #606060;"&gt; 7:&lt;/span&gt;     {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum8" style="color: #606060;"&gt; 8:&lt;/span&gt;         InitializeComponent();&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum9" style="color: #606060;"&gt; 9:&lt;/span&gt;         &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.Loaded += &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; RoutedEventHandler(MainPage_Loaded);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum10" style="color: #606060;"&gt; 10:&lt;/span&gt;     }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum11" style="color: #606060;"&gt; 11:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum12" style="color: #606060;"&gt; 12:&lt;/span&gt;     &lt;span style="color: #0000ff;"&gt;void&lt;/span&gt; MainPage_Loaded(&lt;span style="color: #0000ff;"&gt;object&lt;/span&gt; sender, RoutedEventArgs e)&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum13" style="color: #606060;"&gt; 13:&lt;/span&gt;     {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum14" style="color: #606060;"&gt; 14:&lt;/span&gt;         CreateNewUser();&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum15" style="color: #606060;"&gt; 15:&lt;/span&gt;         _client = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; MembershipServiceClient();&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum16" style="color: #606060;"&gt; 16:&lt;/span&gt;         _client.CreateUserCompleted += &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; EventHandler&amp;lt;CreateUserCompletedEventArgs&amp;gt;(_client_CreateUserCompleted);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum17" style="color: #606060;"&gt; 17:&lt;/span&gt;     }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum18" style="color: #606060;"&gt; 18:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum19" style="color: #606060;"&gt; 19:&lt;/span&gt;     &lt;span style="color: #0000ff;"&gt;void&lt;/span&gt; _client_CreateUserCompleted(&lt;span style="color: #0000ff;"&gt;object&lt;/span&gt; sender, CreateUserCompletedEventArgs e)&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum20" style="color: #606060;"&gt; 20:&lt;/span&gt;     {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum21" style="color: #606060;"&gt; 21:&lt;/span&gt;         &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (e.Error != &lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;)&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum22" style="color: #606060;"&gt; 22:&lt;/span&gt;         {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum23" style="color: #606060;"&gt; 23:&lt;/span&gt;             MessageBox.Show(&lt;span style="color: #0000ff;"&gt;string&lt;/span&gt;.Format(&lt;span style="color: #006080;"&gt;"An error occurred: {0}"&lt;/span&gt;, e.Error.Message));&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum24" style="color: #606060;"&gt; 24:&lt;/span&gt;         }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum25" style="color: #606060;"&gt; 25:&lt;/span&gt;         &lt;span style="color: #0000ff;"&gt;else&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum26" style="color: #606060;"&gt; 26:&lt;/span&gt;         {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum27" style="color: #606060;"&gt; 27:&lt;/span&gt;             HandleCreateUserStatus(e.Result);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum28" style="color: #606060;"&gt; 28:&lt;/span&gt;         }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum29" style="color: #606060;"&gt; 29:&lt;/span&gt;     }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum30" style="color: #606060;"&gt; 30:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum31" style="color: #606060;"&gt; 31:&lt;/span&gt;     &lt;span style="color: #0000ff;"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;void&lt;/span&gt; CreateNewUser()&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum32" style="color: #606060;"&gt; 32:&lt;/span&gt;     {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum33" style="color: #606060;"&gt; 33:&lt;/span&gt;         _user = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; User();&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum34" style="color: #606060;"&gt; 34:&lt;/span&gt;         &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.DataContext = _user;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum35" style="color: #606060;"&gt; 35:&lt;/span&gt;     }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum36" style="color: #606060;"&gt; 36:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum37" style="color: #606060;"&gt; 37:&lt;/span&gt;     &lt;span style="color: #0000ff;"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;void&lt;/span&gt; WriteResult(&lt;span style="color: #0000ff;"&gt;string&lt;/span&gt; message)&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum38" style="color: #606060;"&gt; 38:&lt;/span&gt;     {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum39" style="color: #606060;"&gt; 39:&lt;/span&gt;         resultTextBox.Text = message;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum40" style="color: #606060;"&gt; 40:&lt;/span&gt;     }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum41" style="color: #606060;"&gt; 41:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum42" style="color: #606060;"&gt; 42:&lt;/span&gt;     &lt;span style="color: #0000ff;"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;void&lt;/span&gt; HandleCreateUserStatus(MembershipCreateStatus status)&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum43" style="color: #606060;"&gt; 43:&lt;/span&gt;     {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum44" style="color: #606060;"&gt; 44:&lt;/span&gt;         &lt;span style="color: #0000ff;"&gt;switch&lt;/span&gt; (status)&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum45" style="color: #606060;"&gt; 45:&lt;/span&gt;         {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum46" style="color: #606060;"&gt; 46:&lt;/span&gt;             &lt;span style="color: #0000ff;"&gt;case&lt;/span&gt; MembershipCreateStatus.Success:&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum47" style="color: #606060;"&gt; 47:&lt;/span&gt;                 WriteResult(&lt;span style="color: #006080;"&gt;"User created"&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum48" style="color: #606060;"&gt; 48:&lt;/span&gt;                 &lt;span style="color: #0000ff;"&gt;break&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum49" style="color: #606060;"&gt; 49:&lt;/span&gt;             &lt;span style="color: #0000ff;"&gt;case&lt;/span&gt; MembershipCreateStatus.InvalidUserName:&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum50" style="color: #606060;"&gt; 50:&lt;/span&gt;                 WriteResult(&lt;span style="color: #006080;"&gt;"Invalid username"&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum51" style="color: #606060;"&gt; 51:&lt;/span&gt;                 &lt;span style="color: #0000ff;"&gt;break&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum52" style="color: #606060;"&gt; 52:&lt;/span&gt;             &lt;span style="color: #0000ff;"&gt;case&lt;/span&gt; MembershipCreateStatus.InvalidPassword:&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum53" style="color: #606060;"&gt; 53:&lt;/span&gt;                 WriteResult(&lt;span style="color: #006080;"&gt;"Invalid password"&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum54" style="color: #606060;"&gt; 54:&lt;/span&gt;                 &lt;span style="color: #0000ff;"&gt;break&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum55" style="color: #606060;"&gt; 55:&lt;/span&gt;             &lt;span style="color: #0000ff;"&gt;case&lt;/span&gt; MembershipCreateStatus.InvalidEmail:&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum56" style="color: #606060;"&gt; 56:&lt;/span&gt;                 WriteResult(&lt;span style="color: #006080;"&gt;"Invalid email"&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum57" style="color: #606060;"&gt; 57:&lt;/span&gt;                 &lt;span style="color: #0000ff;"&gt;break&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum58" style="color: #606060;"&gt; 58:&lt;/span&gt;             &lt;span style="color: #0000ff;"&gt;case&lt;/span&gt; MembershipCreateStatus.DuplicateUserName:&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum59" style="color: #606060;"&gt; 59:&lt;/span&gt;                 WriteResult(&lt;span style="color: #006080;"&gt;"Username already exists"&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum60" style="color: #606060;"&gt; 60:&lt;/span&gt;                 &lt;span style="color: #0000ff;"&gt;break&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum61" style="color: #606060;"&gt; 61:&lt;/span&gt;             &lt;span style="color: #0000ff;"&gt;case&lt;/span&gt; MembershipCreateStatus.DuplicateEmail:&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum62" style="color: #606060;"&gt; 62:&lt;/span&gt;                 WriteResult(&lt;span style="color: #006080;"&gt;"Email address already exists in our database"&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum63" style="color: #606060;"&gt; 63:&lt;/span&gt;                 &lt;span style="color: #0000ff;"&gt;break&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum64" style="color: #606060;"&gt; 64:&lt;/span&gt;             &lt;span style="color: #0000ff;"&gt;case&lt;/span&gt; MembershipCreateStatus.ProviderError:&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum65" style="color: #606060;"&gt; 65:&lt;/span&gt;                 WriteResult(&lt;span style="color: #006080;"&gt;"An unkown error occurred"&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum66" style="color: #606060;"&gt; 66:&lt;/span&gt;                 &lt;span style="color: #0000ff;"&gt;break&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum67" style="color: #606060;"&gt; 67:&lt;/span&gt;             &lt;span style="color: #0000ff;"&gt;default&lt;/span&gt;:&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum68" style="color: #606060;"&gt; 68:&lt;/span&gt;                 WriteResult(&lt;span style="color: #006080;"&gt;"An unkown error occurred"&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum69" style="color: #606060;"&gt; 69:&lt;/span&gt;                 &lt;span style="color: #0000ff;"&gt;break&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum70" style="color: #606060;"&gt; 70:&lt;/span&gt;         }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum71" style="color: #606060;"&gt; 71:&lt;/span&gt;     }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum72" style="color: #606060;"&gt; 72:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum73" style="color: #606060;"&gt; 73:&lt;/span&gt;     &lt;span style="color: #0000ff;"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;void&lt;/span&gt; clearButton_Click(&lt;span style="color: #0000ff;"&gt;object&lt;/span&gt; sender, RoutedEventArgs e)&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum74" style="color: #606060;"&gt; 74:&lt;/span&gt;     {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum75" style="color: #606060;"&gt; 75:&lt;/span&gt;         CreateNewUser();&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum76" style="color: #606060;"&gt; 76:&lt;/span&gt;     }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum77" style="color: #606060;"&gt; 77:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum78" style="color: #606060;"&gt; 78:&lt;/span&gt;     &lt;span style="color: #0000ff;"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;void&lt;/span&gt; createButton_Click(&lt;span style="color: #0000ff;"&gt;object&lt;/span&gt; sender, RoutedEventArgs e)&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum79" style="color: #606060;"&gt; 79:&lt;/span&gt;     {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum80" style="color: #606060;"&gt; 80:&lt;/span&gt;         _client.CreateUserAsync(_user.Username, _user.Password, _user.EmailAddress);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum81" style="color: #606060;"&gt; 81:&lt;/span&gt;     }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="padding-right: 0px; overflow-y: visible; padding-left: 0px; font-size: 8pt; overflow-x: visible; padding-bottom: 0px; margin: 0em; width: 100%; color: black; direction: ltr; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: 'courier new', courier, monospace; border-right-style: none; border-left-style: none; background-color: rgb(244,244,244); text-align: left; border-bottom-style: none;"&gt;&lt;span id="lnum82" style="color: #606060;"&gt; 82:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;As you can see I’ve implemented the Loaded event that creates a new user object to hold the user input and validate it. The clear buttons click event calls the same code. The create user button makes a call to the WCF service, which results in a callback to the completed event of the create user. That completed event writes a string to a textblock to show the result to the user.&lt;/p&gt;
&lt;h3&gt;Summary&lt;/h3&gt;
&lt;p&gt;So to enable your Silverlight application to use the SqlMembership model through WCF you should follow these steps:&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;Create a database through aspnet_regsql &lt;/li&gt;
    &lt;li&gt;Create a WCF service and configure it to use the SqlMembershipProvider &lt;/li&gt;
    &lt;li&gt;Define an interface for the operations you’ll need on the SqlMembershipProvider &lt;/li&gt;
    &lt;li&gt;Implement the interface by passing parameters into the calls to the MembershipProvider &lt;/li&gt;
    &lt;li&gt;Create a Silverlight application with a web reference to the WCF service &lt;/li&gt;
    &lt;li&gt;Call any operations you need &lt;/li&gt;
&lt;/ol&gt;
&lt;h4&gt;About the Author&lt;/h4&gt;
&lt;p&gt;Jonathan van de Veen has been working as a software developer in the Netherlands since 2001 and he has been focusing on Microsoft technology since 2004. His experiences range from product development to consulting and from project member to department manager and team lead. The technologies he has worked on range from basic data entry and retrieval systems to GIS and from CMS to enterprise search. As of 2008 he also runs the &lt;a href="http://jvdveen.blogspot.com/" target="_blank"&gt;Developers 42 Blog&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/MbY6pMIWX5HImFxuPhXHFMdTRs4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/MbY6pMIWX5HImFxuPhXHFMdTRs4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/MbY6pMIWX5HImFxuPhXHFMdTRs4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/MbY6pMIWX5HImFxuPhXHFMdTRs4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=6_HI7HNW0no:2Q6RSk_cJDQ:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=6_HI7HNW0no:2Q6RSk_cJDQ:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?i=6_HI7HNW0no:2Q6RSk_cJDQ:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=6_HI7HNW0no:2Q6RSk_cJDQ:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=6_HI7HNW0no:2Q6RSk_cJDQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=6_HI7HNW0no:2Q6RSk_cJDQ:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=6_HI7HNW0no:2Q6RSk_cJDQ:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <author>editorial@silverlightshow.net ( Jonathan van de Veen)</author>
      <comments>http://www.silverlightshow.net/items/Connecting-to-the-SqlMembership-model-through-Silverlight-and-WCF.aspx#comments</comments>
      <guid isPermaLink="false">http://www.silverlightshow.net/items/Connecting-to-the-SqlMembership-model-through-Silverlight-and-WCF.aspx</guid>
      <pubDate>Tue, 03 Nov 2009 10:06:00 +0200</pubDate>
    <feedburner:origLink>http://www.silverlightshow.net/items/Connecting-to-the-SqlMembership-model-through-Silverlight-and-WCF.aspx</feedburner:origLink></item>
    <item>
      <title>Silverlight Fun Badge</title>
      <link>http://feedproxy.google.com/~r/silverlightshow/~3/-Z36WNdbQyc/Silverlight-Fun-Badge.aspx</link>
      <description>&lt;img style="float: left;" alt="Image" src="http://www.silverlightshow.net/Storage/SlFunBadge.png" /&gt;Rajesh Lal has posted this &lt;a href="http://silverlightfun.com/2009/11/silverlight-fun-badge-is-here.html"&gt;free Silverlight Fun Badge&lt;/a&gt; that you could also use in your page.
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/L-d4WLDShSG8EGnJ-O5OBm8tr2A/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/L-d4WLDShSG8EGnJ-O5OBm8tr2A/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/L-d4WLDShSG8EGnJ-O5OBm8tr2A/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/L-d4WLDShSG8EGnJ-O5OBm8tr2A/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=-Z36WNdbQyc:E5AQMkv7lr0:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=-Z36WNdbQyc:E5AQMkv7lr0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?i=-Z36WNdbQyc:E5AQMkv7lr0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=-Z36WNdbQyc:E5AQMkv7lr0:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=-Z36WNdbQyc:E5AQMkv7lr0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=-Z36WNdbQyc:E5AQMkv7lr0:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=-Z36WNdbQyc:E5AQMkv7lr0:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <author>editorial@silverlightshow.net ( Silverlight Show)</author>
      <comments>http://www.silverlightshow.net/news/Silverlight-Fun-Badge.aspx#comments</comments>
      <guid isPermaLink="false">http://www.silverlightshow.net/news/Silverlight-Fun-Badge.aspx</guid>
      <pubDate>Tue, 03 Nov 2009 02:53:00 +0200</pubDate>
    <feedburner:origLink>http://www.silverlightshow.net/news/Silverlight-Fun-Badge.aspx</feedburner:origLink></item>
    <item>
      <title>Host Your Silverlight Apps on Amazon S3</title>
      <link>http://feedproxy.google.com/~r/silverlightshow/~3/vBvhkT8A7Tk/Host-Your-Silverlight-Apps-on-Amazon-S3.aspx</link>
      <description>&lt;p&gt;Tim Greenfield shows &lt;a href="http://programmerpayback.com/2009/11/01/host-your-silverlight-apps-on-amazon-s3/"&gt;how to host your .xap files on Amazon S3&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote class="quote"&gt;
&lt;p&gt;Silverlight apps are nothing more than big zip files and Amazon S3 is dirt cheap and hyper-scalable. Why would you ever host your Silverlight .xap files on your own server or ISP? … especially with &lt;a href="http://blogs.zdnet.com/microsoft/?p=4286"&gt;Silverlight Streaming being dropped soon&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Here’s a quick guide to putting your Silverlight apps on Amazon S3 and depending on your app, never worry about scalability or bandwidth costs again…&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/SaKj3izRkIpDKfwHWmHtLbnDnR4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SaKj3izRkIpDKfwHWmHtLbnDnR4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/SaKj3izRkIpDKfwHWmHtLbnDnR4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SaKj3izRkIpDKfwHWmHtLbnDnR4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=vBvhkT8A7Tk:EyRzg9nWjdU:G79ilh31hkQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=G79ilh31hkQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=vBvhkT8A7Tk:EyRzg9nWjdU:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?i=vBvhkT8A7Tk:EyRzg9nWjdU:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=vBvhkT8A7Tk:EyRzg9nWjdU:I9og5sOYxJI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=I9og5sOYxJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=vBvhkT8A7Tk:EyRzg9nWjdU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=vBvhkT8A7Tk:EyRzg9nWjdU:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/silverlightshow?a=vBvhkT8A7Tk:EyRzg9nWjdU:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/silverlightshow?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <author>editorial@silverlightshow.net ( Silverlight Show)</author>
      <comments>http://www.silverlightshow.net/news/Host-Your-Silverlight-Apps-on-Amazon-S3.aspx#comments</comments>
      <guid isPermaLink="false">http://www.silverlightshow.net/news/Host-Your-Silverlight-Apps-on-Amazon-S3.aspx</guid>
      <pubDate>Tue, 03 Nov 2009 02:40:00 +0200</pubDate>
    <feedburner:origLink>http://www.silverlightshow.net/news/Host-Your-Silverlight-Apps-on-Amazon-S3.aspx</feedburner:origLink></item>
  </channel>
</rss>
