<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Snowball - The Blog</title>
    <link>http://www.snowball.be/</link>
    <description>Gill's blog on .net programming</description>
    <language>en-us</language>
    <copyright>Gill Cleeren</copyright>
    <lastBuildDate>Fri, 08 Mar 2013 14:55:01 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.3.9074.18820</generator>
    <managingEditor>gillcleeren@gmail.com</managingEditor>
    <webMaster>gillcleeren@gmail.com</webMaster>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=f62c0e38-f9b4-4687-ad97-7ce0f9e3f2cc</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,f62c0e38-f9b4-4687-ad97-7ce0f9e3f2cc.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,f62c0e38-f9b4-4687-ad97-7ce0f9e3f2cc.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=f62c0e38-f9b4-4687-ad97-7ce0f9e3f2cc</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Lots of attendees for my advanced MVVM talks at Belgium and the Netherlands.
As promised, here are the demos and slides for the talks. Enjoy!
</p>
        <p>
          <a href="http://gicl.me/AdvancedMVVMSlides">Slides</a>
        </p>
        <p>
          <a href="http://gicl.me/AdvancedMVVMDemo">Demos</a>
        </p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=f62c0e38-f9b4-4687-ad97-7ce0f9e3f2cc" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Slides and demos for my Advanced MVVM Cookbook session</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,f62c0e38-f9b4-4687-ad97-7ce0f9e3f2cc.aspx</guid>
      <link>http://www.snowball.be/2013/03/08/Slides+And+Demos+For+My+Advanced+MVVM+Cookbook+Session.aspx</link>
      <pubDate>Fri, 08 Mar 2013 14:55:01 GMT</pubDate>
      <description>&lt;p&gt;
Lots of attendees for my advanced MVVM talks&amp;nbsp;at Belgium and the Netherlands.
As promised, here are the demos and slides for the talks. Enjoy!
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://gicl.me/AdvancedMVVMSlides"&gt;Slides&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://gicl.me/AdvancedMVVMDemo"&gt;Demos&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=f62c0e38-f9b4-4687-ad97-7ce0f9e3f2cc" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,f62c0e38-f9b4-4687-ad97-7ce0f9e3f2cc.aspx</comments>
      <category>Events</category>
      <category>Windows 8</category>
      <category>WinRT</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=d11c7e91-d7b4-4217-ac20-0012ccf17e48</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,d11c7e91-d7b4-4217-ac20-0012ccf17e48.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,d11c7e91-d7b4-4217-ac20-0012ccf17e48.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=d11c7e91-d7b4-4217-ac20-0012ccf17e48</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
As promised, here are my session slides and demos for the “Windows 8 Store apps and
the outside world” session for Visug and Windows 8 Store app user group London. Enjoy!
</p>
        <p>
          <a href="https://www.dropbox.com/s/stqsrpxh1xl21sa/Windows%208%2C%20Metro%20apps%20and%20the%20outside%20world%20-%20Gill%20Cleeren.pptx" target="_blank">Slides</a>
        </p>
        <p>
          <a href="https://dl.dropbox.com/u/17774202/Conference%20Downloads/Windows%208%2C%20Metro%20apps%20and%20the%20outside%20world%20-%20Gill%20Cleeren.zip" target="_blank">Demos</a>
        </p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=d11c7e91-d7b4-4217-ac20-0012ccf17e48" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Slides and demos for the Windows 8 Store apps and the outside world talks</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,d11c7e91-d7b4-4217-ac20-0012ccf17e48.aspx</guid>
      <link>http://www.snowball.be/2012/11/08/Slides+And+Demos+For+The+Windows+8+Store+Apps+And+The+Outside+World+Talks.aspx</link>
      <pubDate>Thu, 08 Nov 2012 16:15:09 GMT</pubDate>
      <description>&lt;p&gt;
As promised, here are my session slides and demos for the “Windows 8 Store apps and
the outside world” session for Visug and Windows 8 Store app user group London. Enjoy!
&lt;/p&gt;
&lt;p&gt;
&lt;a href="https://www.dropbox.com/s/stqsrpxh1xl21sa/Windows%208%2C%20Metro%20apps%20and%20the%20outside%20world%20-%20Gill%20Cleeren.pptx" target="_blank"&gt;Slides&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="https://dl.dropbox.com/u/17774202/Conference%20Downloads/Windows%208%2C%20Metro%20apps%20and%20the%20outside%20world%20-%20Gill%20Cleeren.zip" target="_blank"&gt;Demos&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=d11c7e91-d7b4-4217-ac20-0012ccf17e48" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,d11c7e91-d7b4-4217-ac20-0012ccf17e48.aspx</comments>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=2e93735c-20ae-4b52-b152-24b71e6d8ba4</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,2e93735c-20ae-4b52-b152-24b71e6d8ba4.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,2e93735c-20ae-4b52-b152-24b71e6d8ba4.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=2e93735c-20ae-4b52-b152-24b71e6d8ba4</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Since Windows 8 has been released on MSDN, many have run into problems on how to use
the Enterprise version and get it to activate. As you may have noticed, during setup,
you can’t enter your own key. So, how to get things to work. Follow the next simple
steps and enjoy the fun of Windows 8 in full :)
</p>
        <ol>
          <li>
Download Windows 8 Enterprise from MSDN. Copy your key.</li>
          <li>
Run the install of Windows 8. See, never during the install does it ask you for your
key. Sad panda?</li>
          <li>
With Windows installed (read: 5 minutes later :) ), you’ll get an error if you try
to activate.</li>
          <li>
Open an elevated prompt. To do so, go to the Start screen, search for the command
prompt, right-click/top-down-swipe-to-select it and from the app bar, tap to run as
administrator.</li>
          <li>
In the prompt, enter slmgr -ipk xxxxx-xxxxx-xxxxx-xxxxx-xxxxx (replacing all the X’s
with your key obviously).</li>
          <li>
Activation will now work without a problem (in my case, it had activated automatically).</li>
        </ol>
        <p>
Now start customizing that start screen!
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=2e93735c-20ae-4b52-b152-24b71e6d8ba4" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Installing Windows 8 Enterprise with your own MSDN key</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,2e93735c-20ae-4b52-b152-24b71e6d8ba4.aspx</guid>
      <link>http://www.snowball.be/2012/08/23/Installing+Windows+8+Enterprise+With+Your+Own+MSDN+Key.aspx</link>
      <pubDate>Thu, 23 Aug 2012 21:14:46 GMT</pubDate>
      <description>&lt;p&gt;
Since Windows 8 has been released on MSDN, many have run into problems on how to use
the Enterprise version and get it to activate. As you may have noticed, during setup,
you can’t enter your own key. So, how to get things to work. Follow the next simple
steps and enjoy the fun of Windows 8 in full :)
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
Download Windows 8 Enterprise from MSDN. Copy your key.&lt;/li&gt;
&lt;li&gt;
Run the install of Windows 8. See, never during the install does it ask you for your
key. Sad panda?&lt;/li&gt;
&lt;li&gt;
With Windows installed (read: 5 minutes later :) ), you’ll get an error if you try
to activate.&lt;/li&gt;
&lt;li&gt;
Open an elevated prompt. To do so, go to the Start screen, search for the command
prompt, right-click/top-down-swipe-to-select it and from the app bar, tap to run as
administrator.&lt;/li&gt;
&lt;li&gt;
In the prompt, enter slmgr -ipk xxxxx-xxxxx-xxxxx-xxxxx-xxxxx (replacing all the X’s
with your key obviously).&lt;/li&gt;
&lt;li&gt;
Activation will now work without a problem (in my case, it had activated automatically).&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
Now start customizing that start screen!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=2e93735c-20ae-4b52-b152-24b71e6d8ba4" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,2e93735c-20ae-4b52-b152-24b71e6d8ba4.aspx</comments>
      <category>Windows 8</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=06820b5f-4faf-4c8d-a3b0-dc47b2f5ba89</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,06820b5f-4faf-4c8d-a3b0-dc47b2f5ba89.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,06820b5f-4faf-4c8d-a3b0-dc47b2f5ba89.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=06820b5f-4faf-4c8d-a3b0-dc47b2f5ba89</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Last week, I was busy with another user group tour in the UK for Telerik. This year,
I was able to give a total of 7 sessions in 4 cities (Hereford, Cheltenham, Bristol
and Southampton). A lot of people stopped by to join me on an exploration of some
Windows 8 and Windows Phone talks. During the talks, we looked at the upcoming <a href="http://www.telerik.com/products/win8.aspx">Telerik
controls for Windows 8</a> which will make LOB development much easier in the Windows
8 space!
</p>
        <p>
Here are some of the pictures of some of the evenings:
</p>
        <p>
          <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikUKusergrouptourSummer2012_19/WP_000246_2.jpg">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="WP_000246" border="0" alt="WP_000246" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikUKusergrouptourSummer2012_19/WP_000246_thumb.jpg" width="244" height="184" />
          </a>
          <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikUKusergrouptourSummer2012_19/WP_000252_2.jpg">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="WP_000252" border="0" alt="WP_000252" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikUKusergrouptourSummer2012_19/WP_000252_thumb.jpg" width="244" height="184" />
          </a>
          <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikUKusergrouptourSummer2012_19/WP_000258_2.jpg">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="WP_000258" border="0" alt="WP_000258" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikUKusergrouptourSummer2012_19/WP_000258_thumb.jpg" width="244" height="184" />
          </a>  <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikUKusergrouptourSummer2012_19/WP_000263_2.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="WP_000263" border="0" alt="WP_000263" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikUKusergrouptourSummer2012_19/WP_000263_thumb.jpg" width="244" height="184" /></a><a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikUKusergrouptourSummer2012_19/WP_000241_2.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="WP_000241" border="0" alt="WP_000241" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikUKusergrouptourSummer2012_19/WP_000241_thumb.jpg" width="244" height="184" /></a><a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikUKusergrouptourSummer2012_19/WP_000254_2.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="WP_000254" border="0" alt="WP_000254" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikUKusergrouptourSummer2012_19/WP_000254_thumb.jpg" width="244" height="184" /></a><a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikUKusergrouptourSummer2012_19/WP_000262_2.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="WP_000262" border="0" alt="WP_000262" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikUKusergrouptourSummer2012_19/WP_000262_thumb.jpg" width="244" height="184" /></a></p>
        <p>
All the slides and demos can be downloaded below.
</p>
        <ul>
          <li>
Hereford: 
</li>
          <ul>
            <li>
Advanced WinRT: <a href="https://www.sugarsync.com/pf/D780771_028496_1829632">Slides</a> – <a href="https://www.sugarsync.com/pf/D780771_028496_1829637">Demos</a></li>
            <li>
Windows Phone 7.5 Background workers: <a href="https://www.sugarsync.com/pf/D780771_028496_1829628">Slides</a> – <a href="https://www.sugarsync.com/pf/D780771_028496_1829613">Demos</a></li>
          </ul>
          <li>
Cheltenham:</li>
          <ul>
            <li>
Contract: <a href="https://www.sugarsync.com/pf/D780771_028496_1829640">Slides</a> – <a href="https://www.sugarsync.com/pf/D780771_028496_1829645">Demos</a></li>
            <li>
Tiles: <a href="https://www.sugarsync.com/pf/D780771_028496_1829759">Slides</a> – <a href="https://www.sugarsync.com/pf/D780771_028496_1829642">Demos</a></li>
          </ul>
          <li>
Bristol</li>
          <ul>
            <li>
Visual Studio 2012 and .NET 4.5: <a href="https://www.sugarsync.com/pf/D780771_028496_1829624">Slides</a> – <a href="https://www.sugarsync.com/pf/D780771_028496_1829620">Demos</a></li>
          </ul>
          <li>
Southampton:</li>
          <ul>
            <li>
Metro and WinRT for the Silverlight/WPF developer: <a href="https://www.sugarsync.com/pf/D780771_028496_1829610">Slides</a> – <a href="https://www.sugarsync.com/pf/D780771_028496_1829618">Demos</a></li>
          </ul>
        </ul>
        <p>
Thanks for stopping by to all that attended!
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=06820b5f-4faf-4c8d-a3b0-dc47b2f5ba89" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Telerik UK user group tour Summer 2012</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,06820b5f-4faf-4c8d-a3b0-dc47b2f5ba89.aspx</guid>
      <link>http://www.snowball.be/2012/07/10/Telerik+UK+User+Group+Tour+Summer+2012.aspx</link>
      <pubDate>Tue, 10 Jul 2012 22:02:22 GMT</pubDate>
      <description>&lt;p&gt;
Last week, I was busy with another user group tour in the UK for Telerik. This year,
I was able to give a total of 7 sessions in 4 cities (Hereford, Cheltenham, Bristol
and Southampton). A lot of people stopped by to join me on an exploration of some
Windows 8 and Windows Phone talks. During the talks, we looked at the upcoming &lt;a href="http://www.telerik.com/products/win8.aspx"&gt;Telerik
controls for Windows 8&lt;/a&gt; which will make LOB development much easier in the Windows
8 space!
&lt;/p&gt;
&lt;p&gt;
Here are some of the pictures of some of the evenings:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikUKusergrouptourSummer2012_19/WP_000246_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="WP_000246" border="0" alt="WP_000246" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikUKusergrouptourSummer2012_19/WP_000246_thumb.jpg" width="244" height="184"&gt;&lt;/a&gt; &lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikUKusergrouptourSummer2012_19/WP_000252_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="WP_000252" border="0" alt="WP_000252" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikUKusergrouptourSummer2012_19/WP_000252_thumb.jpg" width="244" height="184"&gt;&lt;/a&gt; &lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikUKusergrouptourSummer2012_19/WP_000258_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="WP_000258" border="0" alt="WP_000258" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikUKusergrouptourSummer2012_19/WP_000258_thumb.jpg" width="244" height="184"&gt;&lt;/a&gt;&amp;nbsp; &lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikUKusergrouptourSummer2012_19/WP_000263_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="WP_000263" border="0" alt="WP_000263" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikUKusergrouptourSummer2012_19/WP_000263_thumb.jpg" width="244" height="184"&gt;&lt;/a&gt; &lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikUKusergrouptourSummer2012_19/WP_000241_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="WP_000241" border="0" alt="WP_000241" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikUKusergrouptourSummer2012_19/WP_000241_thumb.jpg" width="244" height="184"&gt;&lt;/a&gt; &lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikUKusergrouptourSummer2012_19/WP_000254_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="WP_000254" border="0" alt="WP_000254" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikUKusergrouptourSummer2012_19/WP_000254_thumb.jpg" width="244" height="184"&gt;&lt;/a&gt; &lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikUKusergrouptourSummer2012_19/WP_000262_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="WP_000262" border="0" alt="WP_000262" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikUKusergrouptourSummer2012_19/WP_000262_thumb.jpg" width="244" height="184"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
All the slides and demos can be downloaded below.
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Hereford: 
&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;
Advanced WinRT: &lt;a href="https://www.sugarsync.com/pf/D780771_028496_1829632"&gt;Slides&lt;/a&gt; – &lt;a href="https://www.sugarsync.com/pf/D780771_028496_1829637"&gt;Demos&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
Windows Phone 7.5 Background workers: &lt;a href="https://www.sugarsync.com/pf/D780771_028496_1829628"&gt;Slides&lt;/a&gt; – &lt;a href="https://www.sugarsync.com/pf/D780771_028496_1829613"&gt;Demos&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;
Cheltenham:&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;
Contract: &lt;a href="https://www.sugarsync.com/pf/D780771_028496_1829640"&gt;Slides&lt;/a&gt; – &lt;a href="https://www.sugarsync.com/pf/D780771_028496_1829645"&gt;Demos&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
Tiles: &lt;a href="https://www.sugarsync.com/pf/D780771_028496_1829759"&gt;Slides&lt;/a&gt; – &lt;a href="https://www.sugarsync.com/pf/D780771_028496_1829642"&gt;Demos&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;
Bristol&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;
Visual Studio 2012 and .NET 4.5: &lt;a href="https://www.sugarsync.com/pf/D780771_028496_1829624"&gt;Slides&lt;/a&gt; – &lt;a href="https://www.sugarsync.com/pf/D780771_028496_1829620"&gt;Demos&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;
Southampton:&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;
Metro and WinRT for the Silverlight/WPF developer: &lt;a href="https://www.sugarsync.com/pf/D780771_028496_1829610"&gt;Slides&lt;/a&gt; – &lt;a href="https://www.sugarsync.com/pf/D780771_028496_1829618"&gt;Demos&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;p&gt;
Thanks for stopping by to all that attended!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=06820b5f-4faf-4c8d-a3b0-dc47b2f5ba89" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,06820b5f-4faf-4c8d-a3b0-dc47b2f5ba89.aspx</comments>
      <category>Events</category>
      <category>Speaking</category>
      <category>Telerik</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=41f0de98-9539-475e-a1d1-1ecf7e132393</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,41f0de98-9539-475e-a1d1-1ecf7e132393.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,41f0de98-9539-475e-a1d1-1ecf7e132393.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=41f0de98-9539-475e-a1d1-1ecf7e132393</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
For the third year in a row, I was selected as a  speaker at NDC Oslo, in my
opinion one of the best developer conferences. If you're a developer, this is THE
conference that should be on your agenda starting next year. All videos from this
and past editions can be found at <a href="http://www.vimeo.com/ndcoslo">http://www.vimeo.com/ndcoslo</a>. 
</p>
        <p>
This year, I was asked to do 2 sessions: Windows Phone 7.5 Background workers and
Advanced WinRT. Here are all the demos and slides for both sessions:
</p>
        <p>
Windows Phone 7 Background workers: <a href="https://www.sugarsync.com/pf/D780771_7709183_6714554">Slides</a> - <a href="https://www.sugarsync.com/pf/D780771_7709183_6714551">Demos</a><br />
Advanced WinRT: <a href="https://www.sugarsync.com/pf/D780771_7709183_6714577">Slides</a> - <a href="https://www.sugarsync.com/pf/D780771_7709183_6714579">Demos</a></p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=41f0de98-9539-475e-a1d1-1ecf7e132393" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Slides and demos from my 2 NDC 2012 talks</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,41f0de98-9539-475e-a1d1-1ecf7e132393.aspx</guid>
      <link>http://www.snowball.be/2012/06/08/Slides+And+Demos+From+My+2+NDC+2012+Talks.aspx</link>
      <pubDate>Fri, 08 Jun 2012 07:15:48 GMT</pubDate>
      <description>&lt;p&gt;
For the third year in a row, I was selected as a&amp;nbsp; speaker at NDC Oslo, in my
opinion one of the best developer conferences. If you're a developer, this is THE
conference that should be on your agenda starting next year. All videos from this
and past editions can be found at &lt;a href="http://www.vimeo.com/ndcoslo"&gt;http://www.vimeo.com/ndcoslo&lt;/a&gt;. 
&lt;/p&gt;
&lt;p&gt;
This year, I was asked to do 2 sessions: Windows Phone 7.5 Background workers and
Advanced WinRT. Here are all the demos and slides for both sessions:
&lt;/p&gt;
&lt;p&gt;
Windows Phone 7 Background workers: &lt;a href="https://www.sugarsync.com/pf/D780771_7709183_6714554"&gt;Slides&lt;/a&gt; - &lt;a href="https://www.sugarsync.com/pf/D780771_7709183_6714551"&gt;Demos&lt;/a&gt;
&lt;br&gt;
Advanced WinRT: &lt;a href="https://www.sugarsync.com/pf/D780771_7709183_6714577"&gt;Slides&lt;/a&gt; - &lt;a href="https://www.sugarsync.com/pf/D780771_7709183_6714579"&gt;Demos&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=41f0de98-9539-475e-a1d1-1ecf7e132393" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,41f0de98-9539-475e-a1d1-1ecf7e132393.aspx</comments>
      <category>NDCOslo</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=3ead57dc-269c-4b2b-bb06-bf87fcf6e986</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,3ead57dc-269c-4b2b-bb06-bf87fcf6e986.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,3ead57dc-269c-4b2b-bb06-bf87fcf6e986.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=3ead57dc-269c-4b2b-bb06-bf87fcf6e986</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I’m very proud to officially announce that the registrations for <a href="http://bit.ly/ComDay">Community
Day 2012</a> are open. Like all the previous editions, thanks to the numerous sponsors,
the event is completely free. This year, we’ve outdone ourselves: we have a 6th track,
over <a href="http://bit.ly/ComDayAgenda">40 deep-technical sessions</a> and the best
networking opportunities available. 
</p>
        <p>
So, don’t wait to <a href="http://bit.ly/ComDayReg">register</a>. 
</p>
        <p>
Below you can find all the details of the event:
</p>
        <p>
          <strong>Location:</strong> Utopolis Mechelen (<a href="http://www.bing.com/maps/default.aspx?v=2&amp;FORM=LMLTCC&amp;cp=51.026551~4.5002&amp;style=h&amp;lvl=16&amp;tilt=-90&amp;dir=0&amp;alt=-1000&amp;phx=0&amp;phy=0&amp;phscl=1&amp;trfc=1&amp;encType=1">Map</a>)<br /><strong>Address: </strong>Spuibeekstraat 5 2800 Mechelen<br /><strong>Event date: </strong>Thursday June 21th<br /><strong>Start &amp; end time:</strong><strong><em>8.30 - 19.00<br /></em>Add Community Day 2012 to your agenda: </strong><a href="http://www.communityday.be/data/Community Day 2012.ics"><strong>Outlook
*.ics file</strong></a></p>
        <p>
Participating user groups:
</p>
        <li>
AZUG 
</li>
        <li>
Belgian C++ user group 
</li>
        <li>
BESUG (soon PIRAD) 
</li>
        <li>
BIWUG 
</li>
        <li>
CLUG 
</li>
        <li>
IT-Talks 
</li>
        <li>
Pro-Exchange 
</li>
        <li>
SCUG 
</li>
        <li>
SQLUG 
</li>
        <li>
ACCB.net/VBIB 
</li>
        <li>
Visug 
</li>
        <li>
WinSec 
</li>
        <li>
XNA-BUG 
</li>
        <li>
DotNetHub 
</li>
        <li>
MyTIC 
</li>
        <li>
Wiphug 
</li>
        <li>
TechNine 
<p>
Our sponsors! They make the event possible!
</p><p><table width="500"><tbody><tr><td valign="middle"><p align="center">
 
</p></td><td valign="middle"><p align="center"><img alt="" src="http://www.communityday.be/Portals/0/smalllogos/cronos.png" /></p></td><td valign="middle"><p align="center">
 
</p></td></tr><tr><td valign="middle"><p align="center"><img alt="" src="http://www.communityday.be/Portals/0/smalllogos/microsoft.png" /></p></td><td valign="middle"><p align="center"><img alt="" src="http://www.communityday.be/Portals/0/smalllogos/devoteam.png" /></p></td><td valign="middle"><p align="center"><img alt="" src="http://www.communityday.be/Portals/0/smalllogos/getronics.png" /></p></td></tr><tr><td valign="middle"><p align="center"><img alt="" src="http://www.communityday.be/Portals/0/smalllogos/infosupport.png" /></p></td><td valign="middle"><p align="center"><img alt="" src="http://www.communityday.be/Portals/0/smalllogos/ordina.png" td="" /></p></td><td valign="middle"><p align="center"><img alt="" src="http://www.communityday.be/Portals/0/smalllogos/veeam.png" /></p></td></tr><tr><td valign="middle"><p align="center"><img alt="" src="http://www.communityday.be/Portals/0/smalllogos/combell.png" /></p></td><td valign="middle"><p align="center"><img alt="" src="http://www.communityday.be/Portals/0/smalllogos/jetbrains.png" /></p></td><td valign="middle"><p align="center"><img alt="" src="http://www.communityday.be/Portals/0/smalllogos/kenze.png" /></p></td></tr><tr><td valign="middle"><p align="center"><img alt="" src="http://www.communityday.be/Portals/0/smalllogos/nrb.png" /></p></td><td valign="middle"><p align="center"><img alt="" src="http://www.communityday.be/Portals/0/smalllogos/realdolmen.png" /></p></td><td><p align="center"><img alt="" src="http://www.communityday.be/Portals/0/smalllogos/telerik.png" /></p></td></tr><tr><td valign="middle">
 </td><td valign="middle"><p align="center"><img alt="" src="http://www.communityday.be/Portals/0/smalllogos/cegeka.jpg" /></p></td><td>
 </td></tr></tbody></table></p><p></p><p></p><p></p></li>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=3ead57dc-269c-4b2b-bb06-bf87fcf6e986" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Community Day 2012: registration open</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,3ead57dc-269c-4b2b-bb06-bf87fcf6e986.aspx</guid>
      <link>http://www.snowball.be/2012/05/09/Community+Day+2012+Registration+Open.aspx</link>
      <pubDate>Wed, 09 May 2012 05:59:46 GMT</pubDate>
      <description>&lt;p&gt;
I’m very proud to officially announce that the registrations for &lt;a href="http://bit.ly/ComDay"&gt;Community
Day 2012&lt;/a&gt; are open. Like all the previous editions, thanks to the numerous sponsors,
the event is completely free. This year, we’ve outdone ourselves: we have a 6th track,
over &lt;a href="http://bit.ly/ComDayAgenda"&gt;40 deep-technical sessions&lt;/a&gt; and the best
networking opportunities available. 
&lt;/p&gt;
&lt;p&gt;
So, don’t wait to &lt;a href="http://bit.ly/ComDayReg"&gt;register&lt;/a&gt;. 
&lt;/p&gt;
&lt;p&gt;
Below you can find all the details of the event:
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Location:&lt;/strong&gt; Utopolis Mechelen (&lt;a href="http://www.bing.com/maps/default.aspx?v=2&amp;amp;FORM=LMLTCC&amp;amp;cp=51.026551~4.5002&amp;amp;style=h&amp;amp;lvl=16&amp;amp;tilt=-90&amp;amp;dir=0&amp;amp;alt=-1000&amp;amp;phx=0&amp;amp;phy=0&amp;amp;phscl=1&amp;amp;trfc=1&amp;amp;encType=1"&gt;Map&lt;/a&gt;)&lt;br&gt;
&lt;strong&gt;Address: &lt;/strong&gt;Spuibeekstraat 5 2800 Mechelen&lt;br&gt;
&lt;strong&gt;Event date: &lt;/strong&gt;Thursday June 21th&lt;br&gt;
&lt;strong&gt;Start &amp;amp; end time:&lt;/strong&gt; &lt;strong&gt;&lt;em&gt;8.30 - 19.00&lt;br&gt;
&lt;/em&gt;Add Community Day 2012 to your agenda: &lt;/strong&gt;&lt;a href="http://www.communityday.be/data/Community Day 2012.ics"&gt;&lt;strong&gt;Outlook
*.ics file&lt;/strong&gt;&lt;/a&gt; 
&lt;p&gt;
Participating user groups:
&lt;/p&gt;
&lt;li&gt;
AZUG 
&lt;li&gt;
Belgian C++ user group 
&lt;li&gt;
BESUG (soon PIRAD) 
&lt;li&gt;
BIWUG 
&lt;li&gt;
CLUG 
&lt;li&gt;
IT-Talks 
&lt;li&gt;
Pro-Exchange 
&lt;li&gt;
SCUG 
&lt;li&gt;
SQLUG 
&lt;li&gt;
ACCB.net/VBIB 
&lt;li&gt;
Visug 
&lt;li&gt;
WinSec 
&lt;li&gt;
XNA-BUG 
&lt;li&gt;
DotNetHub 
&lt;li&gt;
MyTIC 
&lt;li&gt;
Wiphug 
&lt;li&gt;
TechNine 
&lt;p&gt;
Our sponsors! They make the event possible!
&lt;/p&gt;
&lt;p&gt;
&lt;table width="500"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="middle"&gt;
&lt;p align="center"&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="middle"&gt;
&lt;p align="center"&gt;
&lt;img alt="" src="http://www.communityday.be/Portals/0/smalllogos/cronos.png"&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="middle"&gt;
&lt;p align="center"&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="middle"&gt;
&lt;p align="center"&gt;
&lt;img alt="" src="http://www.communityday.be/Portals/0/smalllogos/microsoft.png"&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="middle"&gt;
&lt;p align="center"&gt;
&lt;img alt="" src="http://www.communityday.be/Portals/0/smalllogos/devoteam.png"&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="middle"&gt;
&lt;p align="center"&gt;
&lt;img alt="" src="http://www.communityday.be/Portals/0/smalllogos/getronics.png"&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="middle"&gt;
&lt;p align="center"&gt;
&lt;img alt="" src="http://www.communityday.be/Portals/0/smalllogos/infosupport.png"&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="middle"&gt;
&lt;p align="center"&gt;
&lt;img alt="" src="http://www.communityday.be/Portals/0/smalllogos/ordina.png" td=""&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="middle"&gt;
&lt;p align="center"&gt;
&lt;img alt="" src="http://www.communityday.be/Portals/0/smalllogos/veeam.png"&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="middle"&gt;
&lt;p align="center"&gt;
&lt;img alt="" src="http://www.communityday.be/Portals/0/smalllogos/combell.png"&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="middle"&gt;
&lt;p align="center"&gt;
&lt;img alt="" src="http://www.communityday.be/Portals/0/smalllogos/jetbrains.png"&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="middle"&gt;
&lt;p align="center"&gt;
&lt;img alt="" src="http://www.communityday.be/Portals/0/smalllogos/kenze.png"&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="middle"&gt;
&lt;p align="center"&gt;
&lt;img alt="" src="http://www.communityday.be/Portals/0/smalllogos/nrb.png"&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="middle"&gt;
&lt;p align="center"&gt;
&lt;img alt="" src="http://www.communityday.be/Portals/0/smalllogos/realdolmen.png"&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p align="center"&gt;
&lt;img alt="" src="http://www.communityday.be/Portals/0/smalllogos/telerik.png"&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="middle"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td valign="middle"&gt;
&lt;p align="center"&gt;
&lt;img alt="" src="http://www.communityday.be/Portals/0/smalllogos/cegeka.jpg"&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;/li&gt;&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=3ead57dc-269c-4b2b-bb06-bf87fcf6e986" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,3ead57dc-269c-4b2b-bb06-bf87fcf6e986.aspx</comments>
      <category>Community Day</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=75d35e88-9b3b-4c43-9e60-dfd716dd050c</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,75d35e88-9b3b-4c43-9e60-dfd716dd050c.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,75d35e88-9b3b-4c43-9e60-dfd716dd050c.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=75d35e88-9b3b-4c43-9e60-dfd716dd050c</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
If you’re considering buying my new book, but you’re not sure if it’s a good fit for
what you’re looking, the following might help! You can now download a sample chapter
where you can see the style of the book as well as get some real information!
</p>
        <p>
          <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/Downloadasamplechapterofmybook_94B4/book_2.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="book" border="0" alt="book" src="http://www.snowball.be/content/binary/WindowsLiveWriter/Downloadasamplechapterofmybook_94B4/book_thumb.png" width="198" height="244" />
          </a>
        </p>
        <p>
Download the sample chapter <a href="http://www.packtpub.com/sites/default/files/9781849683500-Chapter-8_0.pdf?utm_source=packtpub&amp;utm_medium=free&amp;utm_campaign=pdf">here</a>.
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=75d35e88-9b3b-4c43-9e60-dfd716dd050c" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Download a sample chapter of my book</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,75d35e88-9b3b-4c43-9e60-dfd716dd050c.aspx</guid>
      <link>http://www.snowball.be/2012/05/02/Download+A+Sample+Chapter+Of+My+Book.aspx</link>
      <pubDate>Wed, 02 May 2012 08:34:32 GMT</pubDate>
      <description>&lt;p&gt;
If you’re considering buying my new book, but you’re not sure if it’s a good fit for
what you’re looking, the following might help! You can now download a sample chapter
where you can see the style of the book as well as get some real information!
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/Downloadasamplechapterofmybook_94B4/book_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="book" border="0" alt="book" src="http://www.snowball.be/content/binary/WindowsLiveWriter/Downloadasamplechapterofmybook_94B4/book_thumb.png" width="198" height="244"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Download the sample chapter &lt;a href="http://www.packtpub.com/sites/default/files/9781849683500-Chapter-8_0.pdf?utm_source=packtpub&amp;amp;utm_medium=free&amp;amp;utm_campaign=pdf"&gt;here&lt;/a&gt;.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=75d35e88-9b3b-4c43-9e60-dfd716dd050c" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,75d35e88-9b3b-4c43-9e60-dfd716dd050c.aspx</comments>
      <category>SL5 Data and Services Cookbook</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=e36cc6b2-e7a4-4134-a4e4-34a170936ef2</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,e36cc6b2-e7a4-4134-a4e4-34a170936ef2.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,e36cc6b2-e7a4-4134-a4e4-34a170936ef2.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=e36cc6b2-e7a4-4134-a4e4-34a170936ef2</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Noted the quietness on my blog? Well, it’s about to stop as I can proudly present
where I’ve been spending all my free hours on: my new book: <a href="http://www.amazon.co.uk/Microsoft-Silverlight-Data-Services-Cookbook/dp/1849683506/ref=sr_1_1?ie=UTF8&amp;qid=1335883846&amp;sr=8-1">Silverlight
5 Data and Services Cookbook</a>. This book is the sequel to my first book, Silverlight
4 Data and Services Cookbook. 
</p>
        <p>
The first version did very well (<a href="http://www.amazon.co.uk/Microsoft-Silverlight-Data-Services-Cookbook/dp/1847199844/ref=sr_1_5?ie=UTF8&amp;qid=1335883846&amp;sr=8-5">it’s
a five-star book on Amazon UK and Amazon.com</a>!) so we decided that the latest version
of Silverlight deserved a good book in the enterprise space as well! This is why Kevin
Dockx and myself wrote a whopping 650 page book. 
</p>
        <p>
 
</p>
        <img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="book" border="0" alt="book" src="http://www.snowball.be/content/binary/WindowsLiveWriter/MynewbookispublishedSilverlight5DataandS_EF9D/book_3.png" width="252" height="311" />
        <p align="left">
Should you buy the second version if you already have the first edition? Well, for
starters, the new book has more than 200 extra pages, all the existing recipes have
been reviewed and modified for Silverlight 5. Over 35 new recipes have been added
which deeply cover MVVM, RIA Services, local data and even Windows Phone 7. And of
course, all the new features that come with Silverlight 5 have been added in new recipes
as well! I think it’s well worth the investment!
</p>
        <p align="left">
Here’s a complete description (actually, it’s the back cover :) ):
</p>
        <p>
          <em>Microsoft Silverlight is a programmable web browser plugin that enables features
including animation, vector graphics, and audio-video playback – features that characterize
Rich Internet Applications. However, Silverlight is a great (and growing) Line-Of-Business
platform and is increasingly being used to build data-driven business applications,
both in an out of the browser. It is also the heart of Windows Phone 7 development
so developers can leverage their knowledge on Microsoft’s new mobile platform as well.
Services enable efficient access to your data, allowing you to draw on multiple sources
of data and solve particular data problems. There is very little existing material
that demonstrates how to build data-driven, enterprise-ready solutions with the platform.
Silverlight 3 and 4 made a big step into Line-Of-Business data services and Silverlight
5 builds further upon this. 
<br /><br />
In this book, Gill Cleeren, Microsoft Regional Director, Silverlight MVP (former ASP.NET
MVP), Telerik MVP at Ordina Belgium and Kevin Dockx, a technical specialist/project
leader on .NET web applications and a solution manager for Rich Applications at RealDolmen,
focus on showing .NET developers how to get their finger on the pulse of data-driven
business applications in Silverlight and Windows Phone 7. What’s more, the upcoming
Windows 8 will allow developers to build native, immersive Metro-style applications
using XAML &amp; C# - exactly what this book is based upon. In other words, the techniques
described in this book also apply to Windows 8. 
<br /><br />
This book is not a general Silverlight 4/5 overview book; it is uniquely aimed at
developers who want to build data-driven applications, based on best practices. It
focuses on showing .NET developers how to interact with, and handle multiple sources
of data in Silverlight business applications, and how to solve particular data problems
following a practical hands-on approach, using real-world recipes. It is a practical
cookbook that teaches you how to build data-rich business applications with Silverlight
that draw on multiple sources of data. Most of the features covered work both in Silverlight
4 and 5. However, we cover some that are specific to Silverlight 5, which will therefore
not work with Silverlight 4. Where this is the case, it is clearly indicated. 
<br /></em>
          <em>
            <br />
Packed with reusable, real-world recipes, the book begins by introducing you to general
principles when programming Silverlight. It then dives deep into the world of data
and services, covering all the options available to access data and communicate with
services to get the most out of data in your Silverlight business applications, whilst
at the same time providing a rich user experience. This book also covers topics related
to storing data locally as well as explaining how to work with data and services in
a Model-View-View-Model (MVVM) architecture. Most of the content is applicable to
Windows Phone 7 developers as well; a specific chapter on WP7 development is included
in this release. By following the practical recipes in this book, which are of varying
difficulty levels, you will learn the concepts needed to create data-rich business
applications—from the creation of a Silverlight application, to displaying data in
the Silverlight application and applying best practices such as MVVM. Each recipe
covers a data services topic, going from the description of the problem, through a
conceptual solution to a solution containing sample code.</em>
        </p>
        <p>
The complete table of contents can be viewed on the publisher’s site: <a title="http://www.packtpub.com/microsoft-silverlight-5-data-and-services-cookbook/book" href="http://www.packtpub.com/microsoft-silverlight-5-data-and-services-cookbook/book">http://www.packtpub.com/microsoft-silverlight-5-data-and-services-cookbook/book</a></p>
        <p>
Interested in getting your hands on a copy? You can buy directly from <a href="http://www.packtpub.com/microsoft-silverlight-5-data-and-services-cookbook/book">the
publisher</a> or go via <a href="http://www.packtpub.com/microsoft-silverlight-5-data-and-services-cookbook/book">Amazon</a> or
Barnes and Noble, Safari or one of the many online retailers!
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=e36cc6b2-e7a4-4134-a4e4-34a170936ef2" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>My new book is published: Silverlight 5 Data and Services Cookbook!</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,e36cc6b2-e7a4-4134-a4e4-34a170936ef2.aspx</guid>
      <link>http://www.snowball.be/2012/05/01/My+New+Book+Is+Published+Silverlight+5+Data+And+Services+Cookbook.aspx</link>
      <pubDate>Tue, 01 May 2012 15:02:27 GMT</pubDate>
      <description>&lt;p&gt;
Noted the quietness on my blog? Well, it’s about to stop as I can proudly present
where I’ve been spending all my free hours on: my new book: &lt;a href="http://www.amazon.co.uk/Microsoft-Silverlight-Data-Services-Cookbook/dp/1849683506/ref=sr_1_1?ie=UTF8&amp;amp;qid=1335883846&amp;amp;sr=8-1"&gt;Silverlight
5 Data and Services Cookbook&lt;/a&gt;. This book is the sequel to my first book, Silverlight
4 Data and Services Cookbook. 
&lt;/p&gt;
&lt;p&gt;
The first version did very well (&lt;a href="http://www.amazon.co.uk/Microsoft-Silverlight-Data-Services-Cookbook/dp/1847199844/ref=sr_1_5?ie=UTF8&amp;amp;qid=1335883846&amp;amp;sr=8-5"&gt;it’s
a five-star book on Amazon UK and Amazon.com&lt;/a&gt;!) so we decided that the latest version
of Silverlight deserved a good book in the enterprise space as well! This is why Kevin
Dockx and myself wrote a whopping 650 page book. 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="book" border="0" alt="book" src="http://www.snowball.be/content/binary/WindowsLiveWriter/MynewbookispublishedSilverlight5DataandS_EF9D/book_3.png" width="252" height="311"&gt; 
&lt;p align="left"&gt;
Should you buy the second version if you already have the first edition? Well, for
starters, the new book has more than 200 extra pages, all the existing recipes have
been reviewed and modified for Silverlight 5. Over 35 new recipes have been added
which deeply cover MVVM, RIA Services, local data and even Windows Phone 7. And of
course, all the new features that come with Silverlight 5 have been added in new recipes
as well! I think it’s well worth the investment!
&lt;/p&gt;
&lt;p align="left"&gt;
Here’s a complete description (actually, it’s the back cover :) ):
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Microsoft Silverlight is a programmable web browser plugin that enables features
including animation, vector graphics, and audio-video playback – features that characterize
Rich Internet Applications. However, Silverlight is a great (and growing) Line-Of-Business
platform and is increasingly being used to build data-driven business applications,
both in an out of the browser. It is also the heart of Windows Phone 7 development
so developers can leverage their knowledge on Microsoft’s new mobile platform as well.
Services enable efficient access to your data, allowing you to draw on multiple sources
of data and solve particular data problems. There is very little existing material
that demonstrates how to build data-driven, enterprise-ready solutions with the platform.
Silverlight 3 and 4 made a big step into Line-Of-Business data services and Silverlight
5 builds further upon this. 
&lt;br&gt;
&lt;br&gt;
In this book, Gill Cleeren, Microsoft Regional Director, Silverlight MVP (former ASP.NET
MVP), Telerik MVP at Ordina Belgium and Kevin Dockx, a technical specialist/project
leader on .NET web applications and a solution manager for Rich Applications at RealDolmen,
focus on showing .NET developers how to get their finger on the pulse of data-driven
business applications in Silverlight and Windows Phone 7. What’s more, the upcoming
Windows 8 will allow developers to build native, immersive Metro-style applications
using XAML &amp;amp; C# - exactly what this book is based upon. In other words, the techniques
described in this book also apply to Windows 8. 
&lt;br&gt;
&lt;br&gt;
This book is not a general Silverlight 4/5 overview book; it is uniquely aimed at
developers who want to build data-driven applications, based on best practices. It
focuses on showing .NET developers how to interact with, and handle multiple sources
of data in Silverlight business applications, and how to solve particular data problems
following a practical hands-on approach, using real-world recipes. It is a practical
cookbook that teaches you how to build data-rich business applications with Silverlight
that draw on multiple sources of data. Most of the features covered work both in Silverlight
4 and 5. However, we cover some that are specific to Silverlight 5, which will therefore
not work with Silverlight 4. Where this is the case, it is clearly indicated. 
&lt;br&gt;
&lt;/em&gt;&lt;em&gt;
&lt;br&gt;
Packed with reusable, real-world recipes, the book begins by introducing you to general
principles when programming Silverlight. It then dives deep into the world of data
and services, covering all the options available to access data and communicate with
services to get the most out of data in your Silverlight business applications, whilst
at the same time providing a rich user experience. This book also covers topics related
to storing data locally as well as explaining how to work with data and services in
a Model-View-View-Model (MVVM) architecture. Most of the content is applicable to
Windows Phone 7 developers as well; a specific chapter on WP7 development is included
in this release. By following the practical recipes in this book, which are of varying
difficulty levels, you will learn the concepts needed to create data-rich business
applications—from the creation of a Silverlight application, to displaying data in
the Silverlight application and applying best practices such as MVVM. Each recipe
covers a data services topic, going from the description of the problem, through a
conceptual solution to a solution containing sample code.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
The complete table of contents can be viewed on the publisher’s site: &lt;a title="http://www.packtpub.com/microsoft-silverlight-5-data-and-services-cookbook/book" href="http://www.packtpub.com/microsoft-silverlight-5-data-and-services-cookbook/book"&gt;http://www.packtpub.com/microsoft-silverlight-5-data-and-services-cookbook/book&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Interested in getting your hands on a copy? You can buy directly from &lt;a href="http://www.packtpub.com/microsoft-silverlight-5-data-and-services-cookbook/book"&gt;the
publisher&lt;/a&gt; or go via &lt;a href="http://www.packtpub.com/microsoft-silverlight-5-data-and-services-cookbook/book"&gt;Amazon&lt;/a&gt; or
Barnes and Noble, Safari or one of the many online retailers!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=e36cc6b2-e7a4-4134-a4e4-34a170936ef2" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,e36cc6b2-e7a4-4134-a4e4-34a170936ef2.aspx</comments>
      <category>Book</category>
      <category>Silverlight</category>
      <category>SL5 Data and Services Cookbook</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=c8c7fc67-485f-48bb-a90c-93bb83de7493</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,c8c7fc67-485f-48bb-a90c-93bb83de7493.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,c8c7fc67-485f-48bb-a90c-93bb83de7493.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=c8c7fc67-485f-48bb-a90c-93bb83de7493</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Today I think I broke a record: the most popular SilverlightShow webinar, judging
from the number of registrations and attendees. Thanks all for joining!
</p>
        <p>
Here are the slides and demos for part 1:
</p>
        <p>
          <a href="https://skydrive.live.com/redir.aspx?cid=bd64f22e01fad982&amp;resid=BD64F22E01FAD982!885&amp;parid=BD64F22E01FAD982!883">Slides</a> - <a href="https://skydrive.live.com/redir.aspx?cid=bd64f22e01fad982&amp;resid=BD64F22E01FAD982!884&amp;parid=BD64F22E01FAD982!883">Demos</a></p>
        <p>
Hope to see you for part 2 on February 9th!
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=c8c7fc67-485f-48bb-a90c-93bb83de7493" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Demos and slides of SilverlightShow webinar on WIndows 8 for XAML developers (part 1)</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,c8c7fc67-485f-48bb-a90c-93bb83de7493.aspx</guid>
      <link>http://www.snowball.be/2012/02/02/Demos+And+Slides+Of+SilverlightShow+Webinar+On+WIndows+8+For+XAML+Developers+Part+1.aspx</link>
      <pubDate>Thu, 02 Feb 2012 21:17:44 GMT</pubDate>
      <description>&lt;p&gt;
Today I think I broke a record: the most popular SilverlightShow webinar, judging
from the number of registrations and attendees. Thanks all for joining!
&lt;/p&gt;
&lt;p&gt;
Here are the slides and demos for part 1:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="https://skydrive.live.com/redir.aspx?cid=bd64f22e01fad982&amp;amp;resid=BD64F22E01FAD982!885&amp;amp;parid=BD64F22E01FAD982!883"&gt;Slides&lt;/a&gt; - &lt;a href="https://skydrive.live.com/redir.aspx?cid=bd64f22e01fad982&amp;amp;resid=BD64F22E01FAD982!884&amp;amp;parid=BD64F22E01FAD982!883"&gt;Demos&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Hope to see you for part 2 on February 9th!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=c8c7fc67-485f-48bb-a90c-93bb83de7493" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,c8c7fc67-485f-48bb-a90c-93bb83de7493.aspx</comments>
      <category>Metro</category>
      <category>Silverlight</category>
      <category>Webcasts</category>
      <category>Webinars</category>
      <category>Windows 8</category>
      <category>WinRT</category>
      <category>XAML</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=98ee3fde-0f72-44a6-a30e-4f36ee4eab40</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,98ee3fde-0f72-44a6-a30e-4f36ee4eab40.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,98ee3fde-0f72-44a6-a30e-4f36ee4eab40.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=98ee3fde-0f72-44a6-a30e-4f36ee4eab40</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
On December 6th, I did a webinar on the new features in Silverlight 5. You can download
all the material from the below links.
</p>
        <p>
Let’s explore Silverlight 5: <a href="https://skydrive.live.com/redir.aspx?cid=bd64f22e01fad982&amp;resid=BD64F22E01FAD982!857&amp;parid=BD64F22E01FAD982!199">Slides</a> - <a href="http://www.snowball.be/ct.ashx?id=b4a7164b-3e98-4466-a32a-ca3d431238f8&amp;url=https%3a%2f%2fskydrive.live.com%2fredir.aspx%3fcid%3dbd64f22e01fad982%26resid%3dBD64F22E01FAD982!855%26parid%3dBD64F22E01FAD982!852">Demos</a></p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=98ee3fde-0f72-44a6-a30e-4f36ee4eab40" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Slides and demos of my MSDN webinar on Silverlight 5</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,98ee3fde-0f72-44a6-a30e-4f36ee4eab40.aspx</guid>
      <link>http://www.snowball.be/2011/12/18/Slides+And+Demos+Of+My+MSDN+Webinar+On+Silverlight+5.aspx</link>
      <pubDate>Sun, 18 Dec 2011 22:49:04 GMT</pubDate>
      <description>&lt;p&gt;
On December 6th, I did a webinar on the new features in Silverlight 5. You can download
all the material from the below links.
&lt;/p&gt;
&lt;p&gt;
Let’s explore Silverlight 5: &lt;a href="https://skydrive.live.com/redir.aspx?cid=bd64f22e01fad982&amp;amp;resid=BD64F22E01FAD982!857&amp;amp;parid=BD64F22E01FAD982!199"&gt;Slides&lt;/a&gt; - &lt;a href="http://www.snowball.be/ct.ashx?id=b4a7164b-3e98-4466-a32a-ca3d431238f8&amp;amp;url=https%3a%2f%2fskydrive.live.com%2fredir.aspx%3fcid%3dbd64f22e01fad982%26resid%3dBD64F22E01FAD982!855%26parid%3dBD64F22E01FAD982!852"&gt;Demos&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=98ee3fde-0f72-44a6-a30e-4f36ee4eab40" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,98ee3fde-0f72-44a6-a30e-4f36ee4eab40.aspx</comments>
      <category>Events</category>
      <category>Silverlight</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=b4a7164b-3e98-4466-a32a-ca3d431238f8</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,b4a7164b-3e98-4466-a32a-ca3d431238f8.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,b4a7164b-3e98-4466-a32a-ca3d431238f8.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=b4a7164b-3e98-4466-a32a-ca3d431238f8</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
With a bit of delay, here are the slides and demos of my 2 talks I gave at the SDN
Conference in Zeist, The Netherlands.
</p>
        <p>
Let’s explore Silverlight 5: <a href="https://skydrive.live.com/redir.aspx?cid=bd64f22e01fad982&amp;resid=BD64F22E01FAD982!854&amp;parid=BD64F22E01FAD982!852">Slides</a> – <a href="https://skydrive.live.com/redir.aspx?cid=bd64f22e01fad982&amp;resid=BD64F22E01FAD982!855&amp;parid=BD64F22E01FAD982!852">Demos</a></p>
        <p>
Silverlight and Azure: <a href="https://skydrive.live.com/redir.aspx?cid=bd64f22e01fad982&amp;resid=BD64F22E01FAD982!853&amp;parid=BD64F22E01FAD982!852">Slides</a> – <a href="https://skydrive.live.com/redir.aspx?cid=bd64f22e01fad982&amp;resid=BD64F22E01FAD982!781&amp;parid=BD64F22E01FAD982!773">Demos</a></p>
        <p>
Small note: the Silverlight 5 demos were built for the RC version of Silverlight 5
and need a rebuild before they’ll work with the RTM version. 
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=b4a7164b-3e98-4466-a32a-ca3d431238f8" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Slides and demos of my SDN talks</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,b4a7164b-3e98-4466-a32a-ca3d431238f8.aspx</guid>
      <link>http://www.snowball.be/2011/12/15/Slides+And+Demos+Of+My+SDN+Talks.aspx</link>
      <pubDate>Thu, 15 Dec 2011 08:39:10 GMT</pubDate>
      <description>&lt;p&gt;
With a bit of delay, here are the slides and demos of my 2 talks I gave at the SDN
Conference in Zeist, The Netherlands.
&lt;/p&gt;
&lt;p&gt;
Let’s explore Silverlight 5: &lt;a href="https://skydrive.live.com/redir.aspx?cid=bd64f22e01fad982&amp;amp;resid=BD64F22E01FAD982!854&amp;amp;parid=BD64F22E01FAD982!852"&gt;Slides&lt;/a&gt; – &lt;a href="https://skydrive.live.com/redir.aspx?cid=bd64f22e01fad982&amp;amp;resid=BD64F22E01FAD982!855&amp;amp;parid=BD64F22E01FAD982!852"&gt;Demos&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Silverlight and Azure: &lt;a href="https://skydrive.live.com/redir.aspx?cid=bd64f22e01fad982&amp;amp;resid=BD64F22E01FAD982!853&amp;amp;parid=BD64F22E01FAD982!852"&gt;Slides&lt;/a&gt; – &lt;a href="https://skydrive.live.com/redir.aspx?cid=bd64f22e01fad982&amp;amp;resid=BD64F22E01FAD982!781&amp;amp;parid=BD64F22E01FAD982!773"&gt;Demos&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Small note: the Silverlight 5 demos were built for the RC version of Silverlight 5
and need a rebuild before they’ll work with the RTM version. 
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=b4a7164b-3e98-4466-a32a-ca3d431238f8" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,b4a7164b-3e98-4466-a32a-ca3d431238f8.aspx</comments>
      <category>Events</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=d06d6394-d171-4c5d-b26d-5e821ff927a5</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,d06d6394-d171-4c5d-b26d-5e821ff927a5.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,d06d6394-d171-4c5d-b26d-5e821ff927a5.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=d06d6394-d171-4c5d-b26d-5e821ff927a5</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
To complete the travelling of 2011, I spent the last week of November touring the
entire UK for another user group tour for Telerik (the second one in the UK this year).
Telerik is very active in the support of user groups: through the Telerik Insider
program, speakers can be requested to go and talk to user groups all over the world,
entirely sponsored by Telerik. During the talks, which are deep-dive technical talks,
licenses and swag is given to attendees.
</p>
        <p>
This tour brought me in the Northern part of the country, more specifically, I visited
a user group in Liverpool, Newcastle, Edinburgh and Aberdeen. At each location, we
did 2 sessions. One of these that we “repeated” at each location was an introduction
to Windows 8 and WinRT development. This of course triggered a lot of interesting
discussion and questions. Each stop also filled their rooms quite well! We were lucky
to have good weather (we had, apart from one single rain shower, not a single day
of rain in Scotland in the last week of November!) so I made all the cities in place.
Also, the weather triggered high show-rates.
</p>
        <p>
I brought home a few things from Scotland, including a cold that is now in its 10th
day. This caused me to be delayed in posting all the content. But now, without further
delay, here’s all the files (slides and demos) of all talks:
</p>
        <p>
Windows 8 – Windows Runtime: <a href="https://skydrive.live.com/?cid=BD64F22E01FAD982&amp;id=BD64F22E01FAD982%21773&amp;sc=documents#!/view.aspx?cid=BD64F22E01FAD982&amp;resid=BD64F22E01FAD982%21777">slides</a> – <a href="https://skydrive.live.com/redir.aspx?cid=bd64f22e01fad982&amp;resid=BD64F22E01FAD982!778&amp;parid=BD64F22E01FAD982!773">demos</a></p>
        <p>
Liverpool: Building a Windows Phone 7 app from start to finish:<br /><a href="https://skydrive.live.com/?cid=BD64F22E01FAD982&amp;id=BD64F22E01FAD982%21773&amp;sc=documents#!/view.aspx?cid=BD64F22E01FAD982&amp;resid=BD64F22E01FAD982%21774">slides</a> – <a href="https://skydrive.live.com/redir.aspx?cid=bd64f22e01fad982&amp;resid=BD64F22E01FAD982!779&amp;parid=BD64F22E01FAD982!773">demos</a></p>
        <p>
Newcastle: Silverlight and Azure<br /><a href="https://skydrive.live.com/?cid=BD64F22E01FAD982&amp;id=BD64F22E01FAD982%21773&amp;sc=documents#!/view.aspx?cid=BD64F22E01FAD982&amp;resid=BD64F22E01FAD982%21776">slides</a> – <a href="https://skydrive.live.com/redir.aspx?cid=bd64f22e01fad982&amp;resid=BD64F22E01FAD982!781&amp;parid=BD64F22E01FAD982!773">demos</a></p>
        <p>
Edinburgh: Building a Windows Phone 7 app from start to finish<br /><a href="https://skydrive.live.com/?cid=BD64F22E01FAD982&amp;id=BD64F22E01FAD982%21773&amp;sc=documents#!/view.aspx?cid=BD64F22E01FAD982&amp;resid=BD64F22E01FAD982%21774">slides</a> – <a href="https://skydrive.live.com/redir.aspx?cid=bd64f22e01fad982&amp;resid=BD64F22E01FAD982!779&amp;parid=BD64F22E01FAD982!773">demos</a></p>
        <p>
Aberdeen: Silverlight 5 for LOB Development<br /><a href="https://skydrive.live.com/?cid=BD64F22E01FAD982&amp;id=BD64F22E01FAD982%21773&amp;sc=documents#!/view.aspx?cid=BD64F22E01FAD982&amp;resid=BD64F22E01FAD982%21775">slides</a> – <a href="https://skydrive.live.com/redir.aspx?cid=bd64f22e01fad982&amp;resid=BD64F22E01FAD982!780&amp;parid=BD64F22E01FAD982!773">demos</a></p>
        <p>
I hope you enjoyed it. Thanks for all the user groups for their work!
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=d06d6394-d171-4c5d-b26d-5e821ff927a5" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Telerik Tour in UK/Scotland: all the downloads and retrospective</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,d06d6394-d171-4c5d-b26d-5e821ff927a5.aspx</guid>
      <link>http://www.snowball.be/2011/12/04/Telerik+Tour+In+UKScotland+All+The+Downloads+And+Retrospective.aspx</link>
      <pubDate>Sun, 04 Dec 2011 22:49:55 GMT</pubDate>
      <description>&lt;p&gt;
To complete the travelling of 2011, I spent the last week of November touring the
entire UK for another user group tour for Telerik (the second one in the UK this year).
Telerik is very active in the support of user groups: through the Telerik Insider
program, speakers can be requested to go and talk to user groups all over the world,
entirely sponsored by Telerik. During the talks, which are deep-dive technical talks,
licenses and swag is given to attendees.
&lt;/p&gt;
&lt;p&gt;
This tour brought me in the Northern part of the country, more specifically, I visited
a user group in Liverpool, Newcastle, Edinburgh and Aberdeen. At each location, we
did 2 sessions. One of these that we “repeated” at each location was an introduction
to Windows 8 and WinRT development. This of course triggered a lot of interesting
discussion and questions. Each stop also filled their rooms quite well! We were lucky
to have good weather (we had, apart from one single rain shower, not a single day
of rain in Scotland in the last week of November!) so I made all the cities in place.
Also, the weather triggered high show-rates.
&lt;/p&gt;
&lt;p&gt;
I brought home a few things from Scotland, including a cold that is now in its 10th
day. This caused me to be delayed in posting all the content. But now, without further
delay, here’s all the files (slides and demos) of all talks:
&lt;/p&gt;
&lt;p&gt;
Windows 8 – Windows Runtime: &lt;a href="https://skydrive.live.com/?cid=BD64F22E01FAD982&amp;amp;id=BD64F22E01FAD982%21773&amp;amp;sc=documents#!/view.aspx?cid=BD64F22E01FAD982&amp;amp;resid=BD64F22E01FAD982%21777"&gt;slides&lt;/a&gt; – &lt;a href="https://skydrive.live.com/redir.aspx?cid=bd64f22e01fad982&amp;amp;resid=BD64F22E01FAD982!778&amp;amp;parid=BD64F22E01FAD982!773"&gt;demos&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Liverpool: Building a Windows Phone 7 app from start to finish:&lt;br&gt;
&lt;a href="https://skydrive.live.com/?cid=BD64F22E01FAD982&amp;amp;id=BD64F22E01FAD982%21773&amp;amp;sc=documents#!/view.aspx?cid=BD64F22E01FAD982&amp;amp;resid=BD64F22E01FAD982%21774"&gt;slides&lt;/a&gt; – &lt;a href="https://skydrive.live.com/redir.aspx?cid=bd64f22e01fad982&amp;amp;resid=BD64F22E01FAD982!779&amp;amp;parid=BD64F22E01FAD982!773"&gt;demos&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Newcastle: Silverlight and Azure&lt;br&gt;
&lt;a href="https://skydrive.live.com/?cid=BD64F22E01FAD982&amp;amp;id=BD64F22E01FAD982%21773&amp;amp;sc=documents#!/view.aspx?cid=BD64F22E01FAD982&amp;amp;resid=BD64F22E01FAD982%21776"&gt;slides&lt;/a&gt; – &lt;a href="https://skydrive.live.com/redir.aspx?cid=bd64f22e01fad982&amp;amp;resid=BD64F22E01FAD982!781&amp;amp;parid=BD64F22E01FAD982!773"&gt;demos&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Edinburgh: Building a Windows Phone 7 app from start to finish&lt;br&gt;
&lt;a href="https://skydrive.live.com/?cid=BD64F22E01FAD982&amp;amp;id=BD64F22E01FAD982%21773&amp;amp;sc=documents#!/view.aspx?cid=BD64F22E01FAD982&amp;amp;resid=BD64F22E01FAD982%21774"&gt;slides&lt;/a&gt; – &lt;a href="https://skydrive.live.com/redir.aspx?cid=bd64f22e01fad982&amp;amp;resid=BD64F22E01FAD982!779&amp;amp;parid=BD64F22E01FAD982!773"&gt;demos&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Aberdeen: Silverlight 5 for LOB Development&lt;br&gt;
&lt;a href="https://skydrive.live.com/?cid=BD64F22E01FAD982&amp;amp;id=BD64F22E01FAD982%21773&amp;amp;sc=documents#!/view.aspx?cid=BD64F22E01FAD982&amp;amp;resid=BD64F22E01FAD982%21775"&gt;slides&lt;/a&gt; – &lt;a href="https://skydrive.live.com/redir.aspx?cid=bd64f22e01fad982&amp;amp;resid=BD64F22E01FAD982!780&amp;amp;parid=BD64F22E01FAD982!773"&gt;demos&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
I hope you enjoyed it. Thanks for all the user groups for their work!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=d06d6394-d171-4c5d-b26d-5e821ff927a5" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,d06d6394-d171-4c5d-b26d-5e821ff927a5.aspx</comments>
      <category>Events</category>
      <category>Speaking</category>
      <category>telerik</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=5fd1e5bc-8ca3-41f0-91a5-19960b580110</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,5fd1e5bc-8ca3-41f0-91a5-19960b580110.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,5fd1e5bc-8ca3-41f0-91a5-19960b580110.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=5fd1e5bc-8ca3-41f0-91a5-19960b580110</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <h1>About Microsoft TechDays 
</h1>
        <p>
Year after year <strong>thousands of technology professionals</strong> come together
to network with peers and experts, while diving deep into Microsoft technologies and
learning about the latest products and solutions. <a href="http://click.email.microsoftemail.com/?qs=bf907c5b3655688c0dc79b37086fb1c402db725c41b4fedde988e45b0cb5a178ab2da84c2fb01593"><b>Microsoft
TechDays</b></a> is one of the <strong>premier technical events</strong> in Belgium
&amp; Luxembourg and not to be missed. 
</p>
        <p>
With more technology areas than ever to explore, <strong>TechDays 2012</strong> is
the perfect place to <strong>get up-to-speed</strong> on the latest Microsoft technologies
and <strong>up-level your skill</strong> on the technology you use every day. Content
will be delivered by <strong>industry experts</strong> and <strong>Microsoft product
team members</strong>. 
</p>
        <h3>Register now
</h3>
        <p>
Join our <strong>10<sup>th</sup> anniversary edition</strong> in a <strong>new location</strong> (Kinepolis
Imagibraine - Braine l'Alleud) and learn about:
</p>
        <ul>
          <li>
Tooling and languages with Visual Studio, C# and VB 
</li>
          <li>
Cloud development with Windows Azure Platform 
</li>
          <li>
Web development with HTML5, JavaScript and ASP.NET ... 
</li>
          <li>
Windows &amp; Internet Explorer 
</li>
          <li>
Windows Server &amp; Hyper-V 
</li>
          <li>
Windows Phone 7 development 
</li>
          <li>
System Center 2012 &amp; Windows Intune 
</li>
        </ul>
        <h4>Kinepolis Imagibraine
</h4>
        <p>
After 3 great years in Metropolis Antwerp we’re moving TechDays to a new location:
Kinepolis Imagibraine in Braine l’Alleud (Eigenbrakel). The movie theatre is easily
reachable both by car and via public transportation. 
</p>
        <p>
          <a href="http://www.kinepolisbusiness.com/Images/kineb2b/complex/440x247/imagibraine_1_440x247.jpg">
            <img style="background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px" title="clip_image0019" border="0" alt="clip_image0019" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TechDays-2012_A75F/clip_image0019_048fd15b-a7dd-432c-bca9-8ab09f81b287.jpg" width="187" height="114" />
          </a>
          <a href="http://www.kinepolisbusiness.com/Images/kineb2b/complex/440x247/imagibraine_7_440x247.jpg">
            <img style="background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px" title="clip_image00154" border="0" alt="clip_image00154" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TechDays-2012_A75F/clip_image00154_4ed0e057-d405-46df-8678-57f072f6c71f.jpg" width="189" height="115" />
          </a>
          <a href="http://www.kinepolisbusiness.com/Images/kineb2b/complex/440x247/imagibraine_3_440x247.jpg">
            <img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px" title="clip_image00174" border="0" alt="clip_image00174" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TechDays-2012_A75F/clip_image00174_c111ef2c-9776-4b45-b65b-bceee0f7684b.jpg" width="189" height="115" />
          </a>
          <br />
          <br />
If you’re coming by <strong>train</strong>: the Braine l’Alleud train station is <strong>very
well connected with major cities in Belgium</strong>: 
<br /><br /><strong>- Antwerp:</strong> direct connection from Antwerpen-Centraal taking approx.
1 hour 
<br />
- <strong>Ghent</strong>: 1 hour trip from Gent Sint-Pieters, switching trains once
at Brussel-Zuid 
<br />
- <strong>Brugge</strong>: 1,5 hour trip switching trains once at Brussel-Zuid 
<br />
- <strong>Hasselt</strong>: 1,5 hour trip switching trains once at Brussel-Zuid 
<br />
- <strong>Leuven</strong>: 50 min trip switching trains once at Brussel-Noord 
<br />
- <strong>Mons</strong>: 1 hour trip switching trains once at Brussel-Zuid 
<br />
- <strong>Namur:</strong> 1 hour trip switching trains once at Charleroi-Sud 
<br />
- <strong>Liège:</strong> 1,5 hour trip switching trains once at Brussel-Zuid 
<br />
- <strong>Brussels</strong>: 15 minutes from Brussel-Zuid
</p>
        <p>
There is a direct <strong>bus</strong> line (<a href="http://www.infotec.be/index.aspx?PageId=633023153759916642">bus
67</a> from the TEC company) running from the Braine l’Alleud train station to Kinepolis
Imagibraine, taking about 10 minutes. 
</p>
        <p>
Coming by <strong>car</strong>? Kinepolis Imagibraine is just 5 minutes from the R0
highway (exit 24). Driving directions are available <a href="http://www.kinepolis.com/sharedMedia/media/complex_pdf/route_KBRAI_NED.pdf" target="_blank">here</a>. 
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=5fd1e5bc-8ca3-41f0-91a5-19960b580110" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>TechDays 2012 is coming</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,5fd1e5bc-8ca3-41f0-91a5-19960b580110.aspx</guid>
      <link>http://www.snowball.be/2011/12/02/TechDays+2012+Is+Coming.aspx</link>
      <pubDate>Fri, 02 Dec 2011 14:28:30 GMT</pubDate>
      <description>&lt;h1&gt;About Microsoft TechDays 
&lt;/h1&gt;
&lt;p&gt;
Year after year &lt;strong&gt;thousands of technology professionals&lt;/strong&gt; come together
to network with peers and experts, while diving deep into Microsoft technologies and
learning about the latest products and solutions. &lt;a href="http://click.email.microsoftemail.com/?qs=bf907c5b3655688c0dc79b37086fb1c402db725c41b4fedde988e45b0cb5a178ab2da84c2fb01593"&gt;&lt;b&gt;Microsoft
TechDays&lt;/b&gt;&lt;/a&gt; is one of the &lt;strong&gt;premier technical events&lt;/strong&gt; in Belgium
&amp;amp; Luxembourg and not to be missed. 
&lt;/p&gt;
&lt;p&gt;
With more technology areas than ever to explore, &lt;strong&gt;TechDays 2012&lt;/strong&gt; is
the perfect place to &lt;strong&gt;get up-to-speed&lt;/strong&gt; on the latest Microsoft technologies
and &lt;strong&gt;up-level your skill&lt;/strong&gt; on the technology you use every day. Content
will be delivered by &lt;strong&gt;industry experts&lt;/strong&gt; and &lt;strong&gt;Microsoft product
team members&lt;/strong&gt;. 
&lt;/p&gt;
&lt;h3&gt;Register now
&lt;/h3&gt;
&lt;p&gt;
Join our &lt;strong&gt;10&lt;sup&gt;th&lt;/sup&gt; anniversary edition&lt;/strong&gt; in a &lt;strong&gt;new location&lt;/strong&gt; (Kinepolis
Imagibraine - Braine l'Alleud) and learn about:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Tooling and languages with Visual Studio, C# and VB 
&lt;li&gt;
Cloud development with Windows Azure Platform 
&lt;li&gt;
Web development with HTML5, JavaScript and ASP.NET ... 
&lt;li&gt;
Windows &amp;amp; Internet Explorer 
&lt;li&gt;
Windows Server &amp;amp; Hyper-V 
&lt;li&gt;
Windows Phone 7 development 
&lt;li&gt;
System Center 2012 &amp;amp; Windows Intune 
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Kinepolis Imagibraine
&lt;/h4&gt;
&lt;p&gt;
After 3 great years in Metropolis Antwerp we’re moving TechDays to a new location:
Kinepolis Imagibraine in Braine l’Alleud (Eigenbrakel). The movie theatre is easily
reachable both by car and via public transportation. 
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.kinepolisbusiness.com/Images/kineb2b/complex/440x247/imagibraine_1_440x247.jpg"&gt;&lt;img style="background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px" title="clip_image0019" border="0" alt="clip_image0019" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TechDays-2012_A75F/clip_image0019_048fd15b-a7dd-432c-bca9-8ab09f81b287.jpg" width="187" height="114"&gt;&lt;/a&gt; &lt;a href="http://www.kinepolisbusiness.com/Images/kineb2b/complex/440x247/imagibraine_7_440x247.jpg"&gt;&lt;img style="background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px" title="clip_image00154" border="0" alt="clip_image00154" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TechDays-2012_A75F/clip_image00154_4ed0e057-d405-46df-8678-57f072f6c71f.jpg" width="189" height="115"&gt;&lt;/a&gt; &lt;a href="http://www.kinepolisbusiness.com/Images/kineb2b/complex/440x247/imagibraine_3_440x247.jpg"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px" title="clip_image00174" border="0" alt="clip_image00174" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TechDays-2012_A75F/clip_image00174_c111ef2c-9776-4b45-b65b-bceee0f7684b.jpg" width="189" height="115"&gt;&lt;/a&gt; 
&lt;br&gt;
&lt;br&gt;
If you’re coming by &lt;strong&gt;train&lt;/strong&gt;: the Braine l’Alleud train station is &lt;strong&gt;very
well connected with major cities in Belgium&lt;/strong&gt;: 
&lt;br&gt;
&lt;br&gt;
&lt;strong&gt;- Antwerp:&lt;/strong&gt; direct connection from Antwerpen-Centraal taking approx.
1 hour 
&lt;br&gt;
- &lt;strong&gt;Ghent&lt;/strong&gt;: 1 hour trip from Gent Sint-Pieters, switching trains once
at Brussel-Zuid 
&lt;br&gt;
- &lt;strong&gt;Brugge&lt;/strong&gt;: 1,5 hour trip switching trains once at Brussel-Zuid 
&lt;br&gt;
- &lt;strong&gt;Hasselt&lt;/strong&gt;: 1,5 hour trip switching trains once at Brussel-Zuid 
&lt;br&gt;
- &lt;strong&gt;Leuven&lt;/strong&gt;: 50 min trip switching trains once at Brussel-Noord 
&lt;br&gt;
- &lt;strong&gt;Mons&lt;/strong&gt;: 1 hour trip switching trains once at Brussel-Zuid 
&lt;br&gt;
- &lt;strong&gt;Namur:&lt;/strong&gt; 1 hour trip switching trains once at Charleroi-Sud 
&lt;br&gt;
- &lt;strong&gt;Liège:&lt;/strong&gt; 1,5 hour trip switching trains once at Brussel-Zuid 
&lt;br&gt;
- &lt;strong&gt;Brussels&lt;/strong&gt;: 15 minutes from Brussel-Zuid
&lt;/p&gt;
&lt;p&gt;
There is a direct &lt;strong&gt;bus&lt;/strong&gt; line (&lt;a href="http://www.infotec.be/index.aspx?PageId=633023153759916642"&gt;bus
67&lt;/a&gt; from the TEC company) running from the Braine l’Alleud train station to Kinepolis
Imagibraine, taking about 10 minutes. 
&lt;/p&gt;
&lt;p&gt;
Coming by &lt;strong&gt;car&lt;/strong&gt;? Kinepolis Imagibraine is just 5 minutes from the R0
highway (exit 24). Driving directions are available &lt;a href="http://www.kinepolis.com/sharedMedia/media/complex_pdf/route_KBRAI_NED.pdf" target="_blank"&gt;here&lt;/a&gt;. 
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=5fd1e5bc-8ca3-41f0-91a5-19960b580110" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,5fd1e5bc-8ca3-41f0-91a5-19960b580110.aspx</comments>
      <category>Events</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=80df9e0c-8005-4383-aef3-7759cab4ac3c</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,80df9e0c-8005-4383-aef3-7759cab4ac3c.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,80df9e0c-8005-4383-aef3-7759cab4ac3c.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=80df9e0c-8005-4383-aef3-7759cab4ac3c</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I seem to have forgotten to upload the slides and demos of my talk at the UX Tour
event last week in Antwerp, Belgium. You can now download them below <a href="https://skydrive.live.com/?cid=bd64f22e01fad982&amp;sc=documents&amp;uc=1&amp;id=BD64F22E01FAD982%21199#">here</a>.
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=80df9e0c-8005-4383-aef3-7759cab4ac3c" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Slides and demos of the UX Tour talk</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,80df9e0c-8005-4383-aef3-7759cab4ac3c.aspx</guid>
      <link>http://www.snowball.be/2011/11/10/Slides+And+Demos+Of+The+UX+Tour+Talk.aspx</link>
      <pubDate>Thu, 10 Nov 2011 13:04:32 GMT</pubDate>
      <description>&lt;p&gt;
I seem to have forgotten to upload the slides and demos of my talk at the UX Tour
event last week in Antwerp, Belgium. You can now download them below &lt;a href="https://skydrive.live.com/?cid=bd64f22e01fad982&amp;amp;sc=documents&amp;amp;uc=1&amp;amp;id=BD64F22E01FAD982%21199#"&gt;here&lt;/a&gt;.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=80df9e0c-8005-4383-aef3-7759cab4ac3c" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,80df9e0c-8005-4383-aef3-7759cab4ac3c.aspx</comments>
      <category>Events</category>
      <category>WP7</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=ca51ec17-3c25-4339-be1e-1a1c6a5d695b</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,ca51ec17-3c25-4339-be1e-1a1c6a5d695b.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,ca51ec17-3c25-4339-be1e-1a1c6a5d695b.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=ca51ec17-3c25-4339-be1e-1a1c6a5d695b</wfw:commentRss>
      <slash:comments>3</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I’m getting ready for yet another user group tour for Telerik, the second time in
the UK and Scotland this year (earlier I did Cambridge, Oxford and several other cities).
Since Telerik is sponsoring these sessions, I can give away some licenses on each
stop as well! Each evening, we’ll do some deep technical talks on XAML-related topics.
</p>
        <p>
This time, I’m heading more to the North of the country: I’ll be stopping in Liverpool,
Newcastle, Edinburgh and Aberdeen. In each city, I’ll be doing 2 talks. For most evenings,
some seats are still available so you can still register. All sessions are of course
free and some food (I guess pizza :) ) will be available as well.
</p>
        <p>
Registering can be done through the following links.
</p>
        <ul>
          <li>
            <strong>Monday 21st November: Liverpool<br /></strong>Registration: <a href="http://thestack-november2011.eventbrite.com">http://thestack-november2011.eventbrite.com</a><br />
Sessions:</li>
          <ul>
            <li>
Windows 8 Development and WinRT</li>
            <li>
Building a Windows Phone 7 app from start to finish</li>
          </ul>
          <li>
            <strong>Tuesday 22nd November: Newcastle</strong>
            <br />
Registration: <a href="http://nebytesgcleerennov2011.eventbrite.com/">http://nebytesgcleerennov2011.eventbrite.com/</a><br />
Sessions:</li>
          <ul>
            <li>
WinRT and Metro Applications</li>
            <li>
Switching on the Cloud for Silverlight</li>
          </ul>
          <li>
W<strong>ednesday 23rd November: Edinburgh<br /></strong>Registration: <a href="http://gillcleeren2011.eventbrite.co.uk/?ebtv=F">http://gillcleeren2011.eventbrite.co.uk/?ebtv=F</a><br />
Sessions:</li>
          <ul>
            <li>
Building a Windows Phone 7 app from start to finish</li>
            <li>
Windows 8 Development and WinRT</li>
          </ul>
          <li>
            <strong>Thursday 24th November: Aberdeen</strong>
            <br />
Registration: <a href="http://www.aberdeendevelopers.co.uk/post/2011/10/10/ADNUGUK-%E2%80%93-November-2011-Meeting.aspx">http://www.aberdeendevelopers.co.uk/post/2011/10/10/ADNUGUK-%E2%80%93-November-2011-Meeting.aspx</a><br />
Sessions:</li>
          <ul>
            <li>
Windows Runtime and Metro Apps for Windows 8</li>
            <li>
Silverlight 5 for LOB Development</li>
          </ul>
        </ul>
        <p>
I hope to see you there!
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=ca51ec17-3c25-4339-be1e-1a1c6a5d695b" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Telerik UK and Scotland tour coming up</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,ca51ec17-3c25-4339-be1e-1a1c6a5d695b.aspx</guid>
      <link>http://www.snowball.be/2011/11/09/Telerik+UK+And+Scotland+Tour+Coming+Up.aspx</link>
      <pubDate>Wed, 09 Nov 2011 19:53:46 GMT</pubDate>
      <description>&lt;p&gt;
I’m getting ready for yet another user group tour for Telerik, the second time in
the UK and Scotland this year (earlier I did Cambridge, Oxford and several other cities).
Since Telerik is sponsoring these sessions, I can give away some licenses on each
stop as well! Each evening, we’ll do some deep technical talks on XAML-related topics.
&lt;/p&gt;
&lt;p&gt;
This time, I’m heading more to the North of the country: I’ll be stopping in Liverpool,
Newcastle, Edinburgh and Aberdeen. In each city, I’ll be doing 2 talks. For most evenings,
some seats are still available so you can still register. All sessions are of course
free and some food (I guess pizza :) ) will be available as well.
&lt;/p&gt;
&lt;p&gt;
Registering can be done through the following links.
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Monday 21st November: Liverpool&lt;br&gt;
&lt;/strong&gt;Registration: &lt;a href="http://thestack-november2011.eventbrite.com"&gt;http://thestack-november2011.eventbrite.com&lt;/a&gt;
&lt;br&gt;
Sessions:&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;
Windows 8 Development and WinRT&lt;/li&gt;
&lt;li&gt;
Building a Windows Phone 7 app from start to finish&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;
&lt;strong&gt;Tuesday 22nd November: Newcastle&lt;/strong&gt;
&lt;br&gt;
Registration: &lt;a href="http://nebytesgcleerennov2011.eventbrite.com/"&gt;http://nebytesgcleerennov2011.eventbrite.com/&lt;/a&gt;
&lt;br&gt;
Sessions:&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;
WinRT and Metro Applications&lt;/li&gt;
&lt;li&gt;
Switching on the Cloud for Silverlight&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;
W&lt;strong&gt;ednesday 23rd November: Edinburgh&lt;br&gt;
&lt;/strong&gt;Registration: &lt;a href="http://gillcleeren2011.eventbrite.co.uk/?ebtv=F"&gt;http://gillcleeren2011.eventbrite.co.uk/?ebtv=F&lt;/a&gt;
&lt;br&gt;
Sessions:&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;
Building a Windows Phone 7 app from start to finish&lt;/li&gt;
&lt;li&gt;
Windows 8 Development and WinRT&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;
&lt;strong&gt;Thursday 24th November: Aberdeen&lt;/strong&gt;
&lt;br&gt;
Registration: &lt;a href="http://www.aberdeendevelopers.co.uk/post/2011/10/10/ADNUGUK-%E2%80%93-November-2011-Meeting.aspx"&gt;http://www.aberdeendevelopers.co.uk/post/2011/10/10/ADNUGUK-%E2%80%93-November-2011-Meeting.aspx&lt;/a&gt;
&lt;br&gt;
Sessions:&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;
Windows Runtime and Metro Apps for Windows 8&lt;/li&gt;
&lt;li&gt;
Silverlight 5 for LOB Development&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;p&gt;
I hope to see you there!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=ca51ec17-3c25-4339-be1e-1a1c6a5d695b" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,ca51ec17-3c25-4339-be1e-1a1c6a5d695b.aspx</comments>
      <category>Events</category>
      <category>telerik</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=2a61df0d-8961-4dbf-882d-f1216e4650eb</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,2a61df0d-8961-4dbf-882d-f1216e4650eb.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,2a61df0d-8961-4dbf-882d-f1216e4650eb.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=2a61df0d-8961-4dbf-882d-f1216e4650eb</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
While I was teaching a Windows Phone 7 class in Oslo, Norway, I found the time to
stop by at the local NNUG user group. I gave 2 talks and as promised, you can download
the slides and demos below:
</p>
        <p>
          <a href="https://skydrive.live.com/?cid=bd64f22e01fad982&amp;sc=documents&amp;uc=2&amp;id=BD64F22E01FAD982%21199#">Silverlight
5 LOB Development</a>
          <br />
          <a href="https://skydrive.live.com/?cid=bd64f22e01fad982&amp;sc=documents&amp;uc=2&amp;id=BD64F22E01FAD982%21199#">MVVM
in Silverlight</a>
        </p>
        <p>
I hope you enjoyed them, thanks to all attendees (over 70!) for stopping by on such
short notice!
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=2a61df0d-8961-4dbf-882d-f1216e4650eb" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Slides and demos for NNUG talks in Oslo</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,2a61df0d-8961-4dbf-882d-f1216e4650eb.aspx</guid>
      <link>http://www.snowball.be/2011/11/09/Slides+And+Demos+For+NNUG+Talks+In+Oslo.aspx</link>
      <pubDate>Wed, 09 Nov 2011 08:00:04 GMT</pubDate>
      <description>&lt;p&gt;
While I was teaching a Windows Phone 7 class in Oslo, Norway, I found the time to
stop by at the local NNUG user group. I gave 2 talks and as promised, you can download
the slides and demos below:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="https://skydrive.live.com/?cid=bd64f22e01fad982&amp;amp;sc=documents&amp;amp;uc=2&amp;amp;id=BD64F22E01FAD982%21199#"&gt;Silverlight
5 LOB Development&lt;/a&gt;
&lt;br&gt;
&lt;a href="https://skydrive.live.com/?cid=bd64f22e01fad982&amp;amp;sc=documents&amp;amp;uc=2&amp;amp;id=BD64F22E01FAD982%21199#"&gt;MVVM
in Silverlight&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
I hope you enjoyed them, thanks to all attendees (over 70!) for stopping by on such
short notice!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=2a61df0d-8961-4dbf-882d-f1216e4650eb" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,2a61df0d-8961-4dbf-882d-f1216e4650eb.aspx</comments>
      <category>Events</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=5eb7fe4a-940c-44d8-bcd3-913ceb152891</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,5eb7fe4a-940c-44d8-bcd3-913ceb152891.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,5eb7fe4a-940c-44d8-bcd3-913ceb152891.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=5eb7fe4a-940c-44d8-bcd3-913ceb152891</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I had the privilege to speak at DevReach in Sofia, Bulgaria this week. DevReach is
a great conference, sponsored mainly by Telerik. Now in its sixth edition, the conference
always manages to have some of the best speakers around, including Scott Hanselman,
Carl Franklin, Richard Campbell and many others.
</p>
        <p>
I gave 2 talks on Silverlight. As promised, you can download the code and slide decks
below:
</p>
        <p>
Silverlight 5 LOB Development: <a href="https://www.sugarsync.com/pf/D780771_028496_9422776">Slides</a> – <a href="https://www.sugarsync.com/pf/D780771_028496_9422770">Demos</a><br />
Advanced Silverlight Development: <a href="https://www.sugarsync.com/pf/D780771_028496_9422762">Slides</a> - <a href="https://www.sugarsync.com/pf/D780771_028496_9422760">Demos</a></p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=5eb7fe4a-940c-44d8-bcd3-913ceb152891" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>DevReach slides and demos</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,5eb7fe4a-940c-44d8-bcd3-913ceb152891.aspx</guid>
      <link>http://www.snowball.be/2011/10/20/DevReach+Slides+And+Demos.aspx</link>
      <pubDate>Thu, 20 Oct 2011 11:10:51 GMT</pubDate>
      <description>&lt;p&gt;
I had the privilege to speak at DevReach in Sofia, Bulgaria this week. DevReach is
a great conference, sponsored mainly by Telerik. Now in its sixth edition, the conference
always manages to have some of the best speakers around, including Scott Hanselman,
Carl Franklin, Richard Campbell and many others.
&lt;/p&gt;
&lt;p&gt;
I gave 2 talks on Silverlight. As promised, you can download the code and slide decks
below:
&lt;/p&gt;
&lt;p&gt;
Silverlight 5 LOB Development: &lt;a href="https://www.sugarsync.com/pf/D780771_028496_9422776"&gt;Slides&lt;/a&gt; – &lt;a href="https://www.sugarsync.com/pf/D780771_028496_9422770"&gt;Demos&lt;/a&gt;
&lt;br&gt;
Advanced Silverlight Development: &lt;a href="https://www.sugarsync.com/pf/D780771_028496_9422762"&gt;Slides&lt;/a&gt; - &lt;a href="https://www.sugarsync.com/pf/D780771_028496_9422760"&gt;Demos&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=5eb7fe4a-940c-44d8-bcd3-913ceb152891" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,5eb7fe4a-940c-44d8-bcd3-913ceb152891.aspx</comments>
      <category>Events</category>
      <category>Silverlight</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=99f2de60-c483-4790-9502-f44d9716800d</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,99f2de60-c483-4790-9502-f44d9716800d.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,99f2de60-c483-4790-9502-f44d9716800d.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=99f2de60-c483-4790-9502-f44d9716800d</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
On Wednesday 24th August, I gave a webinar on Advanced Silverlight 5 development for
SilverlightShow.net. The webinar was attended by a lot of people and I got a lot of
great feedback on it. Thanks!
</p>
        <p>
As promised, you can download the slides and the demos from my blog:
</p>
        <p>
          <a href="http://www.snowball.be/data/Presentations/SilverlightShow/Advanced_Silverlight_5_Gill_Cleeren.zip">Slides</a>
        </p>
        <p>
          <a href="http://www.snowball.be/data/Presentations/SilverlightShow/Advanced_Silverlight5_Gill_cleeren_Demos.zip">Demos</a>
        </p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=99f2de60-c483-4790-9502-f44d9716800d" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>SilverlightShow Advanced Silverlight 5 webinar files</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,99f2de60-c483-4790-9502-f44d9716800d.aspx</guid>
      <link>http://www.snowball.be/2011/08/25/SilverlightShow+Advanced+Silverlight+5+Webinar+Files.aspx</link>
      <pubDate>Thu, 25 Aug 2011 07:55:56 GMT</pubDate>
      <description>&lt;p&gt;
On Wednesday 24th August, I gave a webinar on Advanced Silverlight 5 development for
SilverlightShow.net. The webinar was attended by a lot of people and I got a lot of
great feedback on it. Thanks!
&lt;/p&gt;
&lt;p&gt;
As promised, you can download the slides and the demos from my blog:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.snowball.be/data/Presentations/SilverlightShow/Advanced_Silverlight_5_Gill_Cleeren.zip"&gt;Slides&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.snowball.be/data/Presentations/SilverlightShow/Advanced_Silverlight5_Gill_cleeren_Demos.zip"&gt;Demos&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=99f2de60-c483-4790-9502-f44d9716800d" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,99f2de60-c483-4790-9502-f44d9716800d.aspx</comments>
      <category>Events</category>
      <category>Silverlight</category>
      <category>Webcasts</category>
      <category>Webinars</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=4b65820b-2c07-4444-aefd-a8c893d4707f</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,4b65820b-2c07-4444-aefd-a8c893d4707f.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,4b65820b-2c07-4444-aefd-a8c893d4707f.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=4b65820b-2c07-4444-aefd-a8c893d4707f</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <strong>Today, Wednesday August 24th, I’ll be doing a one hour tour of the advanced
new features available in Silverlight 5</strong>. I will explain what you’ll be using
in 2012 for all your Silverlight needs! 
</p>
        <p>
          <a href="http://www.silverlightshow.net/news/Free-Silverlight-Show-Webinar-Deep-DIVE-in-Silverlight-FIVE.aspx">
            <img alt="" src="http://www.silverlightshow.net/Storage/Webinars/webinar_dive_thumb.png" />
          </a>
        </p>
        <p>
These are some of the topics that will be covered during the session: 
</p>
        <ul>
          <li>
Data binding improvements such as Ancestor RelativeSource, style setter bindings,
implicit data templates and debugging options 
</li>
          <li>
Writing custom markup extensions 
</li>
          <li>
Changes in the trusted apps area 
</li>
          <li>
Working with the composition thread 
</li>
          <li>
ICustomTypeProvider 
</li>
          <li>
Miscellaneous improvements such as combobox type-ahead, font changes 
</li>
          <li>
Some topics which are post-beta</li>
        </ul>
        <p>
The webinar is free of course and you can win a prize!
</p>
        <p>
Registration can be done <a href="http://www.silverlightshow.net/news/Tomorrow-Advanced-Silverlight-5-Webinar-with-sur-prizes-for-our-attendees.aspx">here</a>.
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=4b65820b-2c07-4444-aefd-a8c893d4707f" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Join me today for a webinar on Silverlight 5</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,4b65820b-2c07-4444-aefd-a8c893d4707f.aspx</guid>
      <link>http://www.snowball.be/2011/08/24/Join+Me+Today+For+A+Webinar+On+Silverlight+5.aspx</link>
      <pubDate>Wed, 24 Aug 2011 07:06:01 GMT</pubDate>
      <description>&lt;p&gt;
&lt;strong&gt;Today, Wednesday August 24th, I’ll be doing a one hour tour of the advanced
new features available in Silverlight 5&lt;/strong&gt;. I will explain what you’ll be using
in 2012 for all your Silverlight needs! 
&lt;p&gt;
&lt;a href="http://www.silverlightshow.net/news/Free-Silverlight-Show-Webinar-Deep-DIVE-in-Silverlight-FIVE.aspx"&gt;&lt;img alt="" src="http://www.silverlightshow.net/Storage/Webinars/webinar_dive_thumb.png"&gt;&lt;/a&gt; 
&lt;p&gt;
These are some of the topics that will be covered during the session: 
&lt;ul&gt;
&lt;li&gt;
Data binding improvements such as Ancestor RelativeSource, style setter bindings,
implicit data templates and debugging options 
&lt;li&gt;
Writing custom markup extensions 
&lt;li&gt;
Changes in the trusted apps area 
&lt;li&gt;
Working with the composition thread 
&lt;li&gt;
ICustomTypeProvider 
&lt;li&gt;
Miscellaneous improvements such as combobox type-ahead, font changes 
&lt;li&gt;
Some topics which are post-beta&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
The webinar is free of course and you can win a prize!
&lt;/p&gt;
&lt;p&gt;
Registration can be done &lt;a href="http://www.silverlightshow.net/news/Tomorrow-Advanced-Silverlight-5-Webinar-with-sur-prizes-for-our-attendees.aspx"&gt;here&lt;/a&gt;.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=4b65820b-2c07-4444-aefd-a8c893d4707f" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,4b65820b-2c07-4444-aefd-a8c893d4707f.aspx</comments>
      <category>Webinars</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=62bc04bf-2b1d-4a80-b3d4-3f45a116ce28</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,62bc04bf-2b1d-4a80-b3d4-3f45a116ce28.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,62bc04bf-2b1d-4a80-b3d4-3f45a116ce28.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=62bc04bf-2b1d-4a80-b3d4-3f45a116ce28</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
When developing LightSwitch applications with Visual Studio, a newly created (and
built) solution is quite heavy on disk space. We are talking of about 100 – 130MB
per solution. 
</p>
        <p>
          <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/CleaningaLightSwitchsolution_E640/image_2.png">
            <img style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="image" border="0" alt="image" src="http://www.snowball.be/content/binary/WindowsLiveWriter/CleaningaLightSwitchsolution_E640/image_thumb.png" width="244" height="167" />
          </a>
        </p>
        <p>
While creating the course material for <a href="http://edu.ordina.be/Courses/Microsoft/Silverlight/LightSwitch2011/tabid/213/Default.aspx">Ordina’s
upcoming LightSwitch course</a>, I typically create many demo solutions, totaling
several gigs of DLLs. Luckily, I found a *.cmd file in the downloads of Wrox’s excellent
LightSwitch book: <a href="http://www.wrox.com/WileyCDA/WroxTitle/Beginning-Microsoft-Visual-Studio-LightSwitch-Development.productCd-1118021959.html">Beginning
Microsoft Visual Studio LightSwitch Development</a> by István Novák. 
</p>
        <p>
Running this file cleans all unnecessary files (which are recreated by Visual Studio)
from the solution folder, making it easier to store many solutions on your local disk.
</p>
        <p>
This is the contents of the *.CMD file:
</p>
        <p>
@echo off 
</p>
        <p>
del /Q /S /A:H &lt;solutionName&gt;.suo<br />
cd .\&lt;solutionName&gt; 
</p>
        <p>
del /Q /S Client\bin<br />
rd /Q /S Client\bin<br />
del /Q /S Client\obj<br />
rd /Q /S Client\obj 
</p>
        <p>
del /Q /S ClientGenerated\bin<br />
rd /Q /S ClientGenerated\bin<br />
del /Q /S ClientGenerated\obj<br />
rd /Q /S ClientGenerated\obj 
</p>
        <p>
del /Q /S Common\bin<br />
rd /Q /S Common\bin<br />
del /Q /S Common\obj<br />
rd /Q /S Common\obj 
</p>
        <p>
del /Q /S Server\bin<br />
rd /Q /S Server\bin<br />
del /Q /S Server\obj<br />
rd /Q /S Server\obj 
</p>
        <p>
del /Q /S bin\Debug<br />
rd /Q /S bin\Debug<br />
del /Q /S bin\Release<br />
rd /Q /S bin\Release 
</p>
        <p>
del /Q /S ServerGenerated\bin<br />
rd /Q /S ServerGenerated\bin<br />
del /Q /S ServerGenerated\obj<br />
rd /Q /S ServerGenerated\obj<br />
del /Q /S _Pvt_Extensions<br />
rd /Q /S _Pvt_Extensions<br />
cd ..<br />
echo Cleanup completed.<br />
pause 
</p>
        <p>
        </p>
        <p>
        </p>
        <p>
You can download the file from this link as well as a ZIP file: <a href="http://www.snowball.be/content/binary/Cleanup.zip">Cleanup.zip
(.36 KB)</a>. If you download the samples of the book, you’ll have the file as well.
</p>
        <p>
Cleaning your solution comes down to pasting this file in the same directory as where
the solution (*.sln) (and *.suo if present)  file are located:
</p>
        <p>
          <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/CleaningaLightSwitchsolution_E640/image_4.png">
            <img style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="image" border="0" alt="image" src="http://www.snowball.be/content/binary/WindowsLiveWriter/CleaningaLightSwitchsolution_E640/image_thumb_1.png" width="463" height="92" />
          </a>
        </p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=62bc04bf-2b1d-4a80-b3d4-3f45a116ce28" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Cleaning a LightSwitch solution</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,62bc04bf-2b1d-4a80-b3d4-3f45a116ce28.aspx</guid>
      <link>http://www.snowball.be/2011/08/22/Cleaning+A+LightSwitch+Solution.aspx</link>
      <pubDate>Mon, 22 Aug 2011 14:28:06 GMT</pubDate>
      <description>&lt;p&gt;
When developing LightSwitch applications with Visual Studio, a newly created (and
built) solution is quite heavy on disk space. We are talking of about 100 – 130MB
per solution. 
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/CleaningaLightSwitchsolution_E640/image_2.png"&gt;&lt;img style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://www.snowball.be/content/binary/WindowsLiveWriter/CleaningaLightSwitchsolution_E640/image_thumb.png" width=244 height=167&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
While creating the course material for &lt;a href="http://edu.ordina.be/Courses/Microsoft/Silverlight/LightSwitch2011/tabid/213/Default.aspx"&gt;Ordina’s
upcoming LightSwitch course&lt;/a&gt;, I typically create many demo solutions, totaling
several gigs of DLLs. Luckily, I found a *.cmd file in the downloads of Wrox’s excellent
LightSwitch book: &lt;a href="http://www.wrox.com/WileyCDA/WroxTitle/Beginning-Microsoft-Visual-Studio-LightSwitch-Development.productCd-1118021959.html"&gt;Beginning
Microsoft Visual Studio LightSwitch Development&lt;/a&gt; by István Novák. 
&lt;/p&gt;
&lt;p&gt;
Running this file cleans all unnecessary files (which are recreated by Visual Studio)
from the solution folder, making it easier to store many solutions on your local disk.
&lt;/p&gt;
&lt;p&gt;
This is the contents of the *.CMD file:
&lt;/p&gt;
&lt;p&gt;
@echo off 
&lt;p&gt;
del /Q /S /A:H &amp;lt;solutionName&amp;gt;.suo&lt;br&gt;
cd .\&amp;lt;solutionName&amp;gt; 
&lt;p&gt;
del /Q /S Client\bin&lt;br&gt;
rd /Q /S Client\bin&lt;br&gt;
del /Q /S Client\obj&lt;br&gt;
rd /Q /S Client\obj 
&lt;p&gt;
del /Q /S ClientGenerated\bin&lt;br&gt;
rd /Q /S ClientGenerated\bin&lt;br&gt;
del /Q /S ClientGenerated\obj&lt;br&gt;
rd /Q /S ClientGenerated\obj 
&lt;p&gt;
del /Q /S Common\bin&lt;br&gt;
rd /Q /S Common\bin&lt;br&gt;
del /Q /S Common\obj&lt;br&gt;
rd /Q /S Common\obj 
&lt;p&gt;
del /Q /S Server\bin&lt;br&gt;
rd /Q /S Server\bin&lt;br&gt;
del /Q /S Server\obj&lt;br&gt;
rd /Q /S Server\obj 
&lt;p&gt;
del /Q /S bin\Debug&lt;br&gt;
rd /Q /S bin\Debug&lt;br&gt;
del /Q /S bin\Release&lt;br&gt;
rd /Q /S bin\Release 
&lt;p&gt;
del /Q /S ServerGenerated\bin&lt;br&gt;
rd /Q /S ServerGenerated\bin&lt;br&gt;
del /Q /S ServerGenerated\obj&lt;br&gt;
rd /Q /S ServerGenerated\obj&lt;br&gt;
del /Q /S _Pvt_Extensions&lt;br&gt;
rd /Q /S _Pvt_Extensions&lt;br&gt;
cd ..&lt;br&gt;
echo Cleanup completed.&lt;br&gt;
pause 
&lt;p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
You can download the file from this link as well&amp;nbsp;as a ZIP file: &lt;a href="http://www.snowball.be/content/binary/Cleanup.zip"&gt;Cleanup.zip
(.36 KB)&lt;/a&gt;. If you download the samples of the book, you’ll have the file as well.
&lt;/p&gt;
&lt;p&gt;
Cleaning your solution comes down to pasting this file in the same directory as where
the solution (*.sln) (and *.suo if present)&amp;nbsp; file are located:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/CleaningaLightSwitchsolution_E640/image_4.png"&gt;&lt;img style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://www.snowball.be/content/binary/WindowsLiveWriter/CleaningaLightSwitchsolution_E640/image_thumb_1.png" width=463 height=92&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=62bc04bf-2b1d-4a80-b3d4-3f45a116ce28" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,62bc04bf-2b1d-4a80-b3d4-3f45a116ce28.aspx</comments>
      <category>LightSwitch</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=bf714d26-dcfe-4763-a46d-37a917db762c</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,bf714d26-dcfe-4763-a46d-37a917db762c.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,bf714d26-dcfe-4763-a46d-37a917db762c.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=bf714d26-dcfe-4763-a46d-37a917db762c</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I’m proud to announce that the “Real World .NET 4 and C#” book on which 15 MVPs are
working together, is coming close to its release. I’ve written a chapter in this book
as well, on Silverlight 5 and MVVM development.
</p>
        <p>
          <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/Wrox15MVPsbookcomingcloser_1369C/1_1118021967_2.jpg">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="9781118021965.pdf" border="0" alt="9781118021965.pdf" src="http://www.snowball.be/content/binary/WindowsLiveWriter/Wrox15MVPsbookcomingcloser_1369C/1_1118021967_thumb.jpg" width="195" height="244" />
          </a>
        </p>
        <p>
          <em>Written by a group of experienced MVPs, this unparalleled book delves into the
intricate—and often daunting—world of .NET 4. Each author draws from a particular
area of expertise to provide invaluable information on using the various .NET 4, C#
4, Silverlight 4, and Visual Studio tools in the real world. The authors break down
the vast .NET 4 Framework into easily digestible portions to offer you a strong foundation
on what makes .NET such a popular and successful framework for building a wide range
of solutions. </em>
        </p>
        <ul>
          <li>
            <em>Breaks down the .NET 4 Framework into easily understandable sections </em>
          </li>
          <li>
            <em>Features more than a dozen MVPs serving as authors, each of whom focuses on a
particular area of expertise </em>
          </li>
          <li>
            <em>Covers such topics as Windows Presentation Foundation, Silverlight 4, Windows
Communication Foundation, ASP.NET performance, the entity framework, and more </em>
          </li>
          <li>
            <em>Shares C# tips and tricks and .NET architecture best practices from a team of
Microsoft MVPs</em>
          </li>
        </ul>
        <p>
          <em>Real World .NET 4 and C# is the ultimate resource for discovering and understanding
the .NET 4 Framework. </em>
        </p>
        <p>
The book can be pre-ordered already from Amazon: <a title="http://www.amazon.co.uk/Real-World-NET-Silverlight-Indispensible/dp/1118021967/ref=sr_1_1?ie=UTF8&amp;qid=1312574616&amp;sr=8-1" href="http://www.amazon.co.uk/Real-World-NET-Silverlight-Indispensible/dp/1118021967/ref=sr_1_1?ie=UTF8&amp;qid=1312574616&amp;sr=8-1">http://www.amazon.co.uk/Real-World-NET-Silverlight-Indispensible/dp/1118021967/ref=sr_1_1?ie=UTF8&amp;qid=1312574616&amp;sr=8-1</a></p>
        <p>
Meanwhile, I’m focusing on my next full Silverlight 5 book, which is due for release
end of this year or very early next year!
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=bf714d26-dcfe-4763-a46d-37a917db762c" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Wrox 15 MVPs book coming closer</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,bf714d26-dcfe-4763-a46d-37a917db762c.aspx</guid>
      <link>http://www.snowball.be/2011/08/05/Wrox+15+MVPs+Book+Coming+Closer.aspx</link>
      <pubDate>Fri, 05 Aug 2011 20:05:35 GMT</pubDate>
      <description>&lt;p&gt;
I’m proud to announce that the “Real World .NET 4 and C#” book on which 15 MVPs are
working together, is coming close to its release. I’ve written a chapter in this book
as well, on Silverlight 5 and MVVM development.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/Wrox15MVPsbookcomingcloser_1369C/1_1118021967_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="9781118021965.pdf" border="0" alt="9781118021965.pdf" src="http://www.snowball.be/content/binary/WindowsLiveWriter/Wrox15MVPsbookcomingcloser_1369C/1_1118021967_thumb.jpg" width="195" height="244"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Written by a group of experienced MVPs, this unparalleled book delves into the
intricate—and often daunting—world of .NET 4. Each author draws from a particular
area of expertise to provide invaluable information on using the various .NET 4, C#
4, Silverlight 4, and Visual Studio tools in the real world. The authors break down
the vast .NET 4 Framework into easily digestible portions to offer you a strong foundation
on what makes .NET such a popular and successful framework for building a wide range
of solutions. &lt;/em&gt; 
&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;Breaks down the .NET 4 Framework into easily understandable sections &lt;/em&gt; 
&lt;li&gt;
&lt;em&gt;Features more than a dozen MVPs serving as authors, each of whom focuses on a
particular area of expertise &lt;/em&gt; 
&lt;li&gt;
&lt;em&gt;Covers such topics as Windows Presentation Foundation, Silverlight 4, Windows
Communication Foundation, ASP.NET performance, the entity framework, and more &lt;/em&gt; 
&lt;li&gt;
&lt;em&gt;Shares C# tips and tricks and .NET architecture best practices from a team of
Microsoft MVPs&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;em&gt;Real World .NET 4 and C# is the ultimate resource for discovering and understanding
the .NET 4 Framework. &lt;/em&gt; 
&lt;p&gt;
The book can be pre-ordered already from Amazon: &lt;a title="http://www.amazon.co.uk/Real-World-NET-Silverlight-Indispensible/dp/1118021967/ref=sr_1_1?ie=UTF8&amp;amp;qid=1312574616&amp;amp;sr=8-1" href="http://www.amazon.co.uk/Real-World-NET-Silverlight-Indispensible/dp/1118021967/ref=sr_1_1?ie=UTF8&amp;amp;qid=1312574616&amp;amp;sr=8-1"&gt;http://www.amazon.co.uk/Real-World-NET-Silverlight-Indispensible/dp/1118021967/ref=sr_1_1?ie=UTF8&amp;amp;qid=1312574616&amp;amp;sr=8-1&lt;/a&gt; 
&lt;p&gt;
Meanwhile, I’m focusing on my next full Silverlight 5 book, which is due for release
end of this year or very early next year!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=bf714d26-dcfe-4763-a46d-37a917db762c" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,bf714d26-dcfe-4763-a46d-37a917db762c.aspx</comments>
      <category>Book</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=df42e35d-aadf-472a-a7ff-b1aa1020f3f2</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,df42e35d-aadf-472a-a7ff-b1aa1020f3f2.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,df42e35d-aadf-472a-a7ff-b1aa1020f3f2.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=df42e35d-aadf-472a-a7ff-b1aa1020f3f2</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I’m happy to announce that a new <a href="http://www.silverlightshow.net/ebooks/silverlight_exam.aspx">ebook
of mine has been published</a>: Getting Ready for Microsoft Silverlight Exam 70-506.
</p>
        <p>
This ebook is based on SilverlightShow 7-part article series ‘<a href="http://www.silverlightshow.net/items/Getting-ready-for-the-exams-Part-1.aspx">Getting
ready for Microsoft Silverlight Exam 70-506</a>’. While the online article series
give references to many external resources, several for one topic, <strong>in this
ebook we picked the best resource covering the topic, and have included it as full
text, together with links to source code where available</strong>. Note: approximately <strong>85%
of the resources selected are available in full</strong>, the rest of the resources
are still included as links due to lack of copy permissions or inability to reach
the the respective authors. 
</p>
        <p>
          <strong>This ebook collects a total of 100+ articles in full.</strong>
        </p>
        <p>
          <strong>Download Table of Contents (<a href="http://www.silverlightshow.net/Storage/Sources/TOC_Silverlight_Exam.doc">.doc</a> / <a href="http://www.silverlightshow.net/Storage/Sources/TOC_Silverlight_Exam.docx">.docx</a>)</strong>
        </p>
        <p>
          <strong>
            <em>From the author:</em>
          </strong>Silverlight is a rapidly evolving technology.
Over a time span of 3 years, it has evolved from being a JavaScript-based platform
to a full .NET implementation. With 4 versions released and version 5 in the pipeline
at the time of writing, Silverlight has more versions than .NET! That makes it hard
for book writers such as me to keep up with new features being added. 
</p>
        <p>
It seems to me that it’s also difficult to create and manage exams about Silverlight.
For the previous versions of Silverlight, there weren’t any exams available. Silverlight
4 is the first version of which an exam is being created. It was possible to take
the beta-exam late 2010; the exam will be officially open in Q1 2011. More information
about the exam can be found here: <a href="http://www.microsoft.com/learning/en/us/Exam.aspx?ID=70-506&amp;Locale=en-us">http://www.microsoft.com/learning/en/us/Exam.aspx?ID=70-506&amp;Locale=en-us</a></p>
        <p>
With this guide, I aim to make the preparation for the exam a bit easier. 
</p>
        <p>
          <strong>
            <p>
Goal and approach to getting ready 
</p>
            <p>
            </p>
          </strong>
        </p>
        <p>
At this point, there’s no official courseware available to study for the exam. In
any case, you should therefore be familiar already with Silverlight development. Reading
some books on Silverlight will help as well. The list below contains some links to
books available for Silverlight 4: 
</p>
        <ul>
          <li>
            <a href="http://www.silverlightshow.net/book/Silverlight-4-Unleashed.aspx">Silverlight
4 Unleashed</a>
          </li>
          <li>
            <a href="http://www.silverlightshow.net/book/Silverlight-4-in-Action.aspx">Silverlight
4 In Action</a>
          </li>
          <li>
            <a href="http://www.silverlightshow.net/book/Microsoft-Silverlight-4-Data-and-Services-Cookbook.aspx">Microsoft
Silverlight 4 Data and Services Cookbook</a>
          </li>
          <li>
            <a href="http://www.silverlightshow.net/book/Pro-Business-Applications-with-Silverlight-3.aspx">Pro
Business Application with Silverlight 4</a>
          </li>
        </ul>
        <p>
On top of that, reading articles and blog posts will help you in passing the exam.
In this ebook, I try to create an extensive list of resources along with some explanation
on the topic at hand that contain the information you need to know. To structure this,
we’ll follow the list of topics described by Microsoft on the exam outline page (<a href="http://www.microsoft.com/learning/en/us/Exam.aspx?ID=70-506&amp;Locale=en-us#tab2">http://www.microsoft.com/learning/en/us/Exam.aspx?ID=70-506&amp;Locale=en-us#tab2</a>): 
</p>
        <ul>
          <li>
Laying Out a User Interface (15%) 
</li>
          <li>
Enhancing the User Interface (14%) 
</li>
          <li>
Implementing Application Logic (16%) 
</li>
          <li>
Working with Data (17%) 
</li>
          <li>
Interacting with a Host Platform (11%) 
</li>
          <li>
Structuring Applications (13%) 
</li>
          <li>
Deploying Applications (13%) 
</li>
        </ul>
        <p>
(Small note: the outlined percentages total 99%, so you’ll probably get 1% for entering
your name!) 
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=df42e35d-aadf-472a-a7ff-b1aa1020f3f2" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>My all-new ebook is published: Getting Ready for Microsoft Silverlight Exam 70-506</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,df42e35d-aadf-472a-a7ff-b1aa1020f3f2.aspx</guid>
      <link>http://www.snowball.be/2011/07/22/My+Allnew+Ebook+Is+Published+Getting+Ready+For+Microsoft+Silverlight+Exam+70506.aspx</link>
      <pubDate>Fri, 22 Jul 2011 18:59:19 GMT</pubDate>
      <description>&lt;p&gt;
I’m happy to announce that a new &lt;a href="http://www.silverlightshow.net/ebooks/silverlight_exam.aspx"&gt;ebook
of mine has been published&lt;/a&gt;: Getting Ready for Microsoft Silverlight Exam 70-506.
&lt;/p&gt;
&lt;p&gt;
This ebook is based on SilverlightShow 7-part article series ‘&lt;a href="http://www.silverlightshow.net/items/Getting-ready-for-the-exams-Part-1.aspx"&gt;Getting
ready for Microsoft Silverlight Exam 70-506&lt;/a&gt;’. While the online article series
give references to many external resources, several for one topic, &lt;strong&gt;in this
ebook we picked the best resource covering the topic, and have included it as full
text, together with links to source code where available&lt;/strong&gt;. Note: approximately &lt;strong&gt;85%
of the resources selected are available in full&lt;/strong&gt;, the rest of the resources
are still included as links due to lack of copy permissions or inability to reach
the the respective authors. 
&lt;p&gt;
&lt;strong&gt;This ebook collects a total of 100+ articles in full.&lt;/strong&gt; 
&lt;p&gt;
&lt;strong&gt;Download Table of Contents (&lt;a href="http://www.silverlightshow.net/Storage/Sources/TOC_Silverlight_Exam.doc"&gt;.doc&lt;/a&gt; / &lt;a href="http://www.silverlightshow.net/Storage/Sources/TOC_Silverlight_Exam.docx"&gt;.docx&lt;/a&gt;)&lt;/strong&gt; 
&lt;p&gt;
&lt;strong&gt;&lt;em&gt;From the author:&lt;/em&gt; &lt;/strong&gt;Silverlight is a rapidly evolving technology.
Over a time span of 3 years, it has evolved from being a JavaScript-based platform
to a full .NET implementation. With 4 versions released and version 5 in the pipeline
at the time of writing, Silverlight has more versions than .NET! That makes it hard
for book writers such as me to keep up with new features being added. 
&lt;p&gt;
It seems to me that it’s also difficult to create and manage exams about Silverlight.
For the previous versions of Silverlight, there weren’t any exams available. Silverlight
4 is the first version of which an exam is being created. It was possible to take
the beta-exam late 2010; the exam will be officially open in Q1 2011. More information
about the exam can be found here: &lt;a href="http://www.microsoft.com/learning/en/us/Exam.aspx?ID=70-506&amp;amp;Locale=en-us"&gt;http://www.microsoft.com/learning/en/us/Exam.aspx?ID=70-506&amp;amp;Locale=en-us&lt;/a&gt; 
&lt;p&gt;
With this guide, I aim to make the preparation for the exam a bit easier. 
&lt;p&gt;
&lt;strong&gt; 
&lt;p&gt;
Goal and approach to getting ready 
&lt;p&gt;
&lt;/strong&gt; 
&lt;p&gt;
At this point, there’s no official courseware available to study for the exam. In
any case, you should therefore be familiar already with Silverlight development. Reading
some books on Silverlight will help as well. The list below contains some links to
books available for Silverlight 4: 
&lt;ul&gt;
&lt;li&gt;
&lt;a href="http://www.silverlightshow.net/book/Silverlight-4-Unleashed.aspx"&gt;Silverlight
4 Unleashed&lt;/a&gt; 
&lt;li&gt;
&lt;a href="http://www.silverlightshow.net/book/Silverlight-4-in-Action.aspx"&gt;Silverlight
4 In Action&lt;/a&gt; 
&lt;li&gt;
&lt;a href="http://www.silverlightshow.net/book/Microsoft-Silverlight-4-Data-and-Services-Cookbook.aspx"&gt;Microsoft
Silverlight 4 Data and Services Cookbook&lt;/a&gt; 
&lt;li&gt;
&lt;a href="http://www.silverlightshow.net/book/Pro-Business-Applications-with-Silverlight-3.aspx"&gt;Pro
Business Application with Silverlight 4&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
On top of that, reading articles and blog posts will help you in passing the exam.
In this ebook, I try to create an extensive list of resources along with some explanation
on the topic at hand that contain the information you need to know. To structure this,
we’ll follow the list of topics described by Microsoft on the exam outline page (&lt;a href="http://www.microsoft.com/learning/en/us/Exam.aspx?ID=70-506&amp;amp;Locale=en-us#tab2"&gt;http://www.microsoft.com/learning/en/us/Exam.aspx?ID=70-506&amp;amp;Locale=en-us#tab2&lt;/a&gt;): 
&lt;ul&gt;
&lt;li&gt;
Laying Out a User Interface (15%) 
&lt;li&gt;
Enhancing the User Interface (14%) 
&lt;li&gt;
Implementing Application Logic (16%) 
&lt;li&gt;
Working with Data (17%) 
&lt;li&gt;
Interacting with a Host Platform (11%) 
&lt;li&gt;
Structuring Applications (13%) 
&lt;li&gt;
Deploying Applications (13%) 
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
(Small note: the outlined percentages total 99%, so you’ll probably get 1% for entering
your name!) 
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=df42e35d-aadf-472a-a7ff-b1aa1020f3f2" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,df42e35d-aadf-472a-a7ff-b1aa1020f3f2.aspx</comments>
      <category>Book</category>
      <category>Silverlight</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=7c2bdbe3-f3e4-48a4-93a1-c230ddefb49a</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,7c2bdbe3-f3e4-48a4-93a1-c230ddefb49a.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,7c2bdbe3-f3e4-48a4-93a1-c230ddefb49a.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=7c2bdbe3-f3e4-48a4-93a1-c230ddefb49a</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Last week, I travelled through the UK to give a total of 8 sessions for Telerik to
4 chapters of the NxtGenUg.net user groups. More specifically, I went to Hereford,
Oxford, Coventry and Cambridge. It was a pleasure being there, since we had some nice
discussions throughout the talks (which of course caused all sessions to run longer
than expected, some about 2,5-3  hours :) ). For the first time, I did everything
by train and all went well (not a single delay on the 10 trains I took in the UK.
I even had to pass through London when going from one station to another to go from
Coventry to Cambridge).
</p>
        <p>
          <img style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: block; FLOAT: none; MARGIN-LEFT: auto; BORDER-TOP: 0px; MARGIN-RIGHT: auto; BORDER-RIGHT: 0px" title="image" border="0" alt="image" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikUKTour_8C48/image_3.png" width="240" height="61" />
        </p>
        <p>
This tour was sponsored again by my good friends at Telerik, which help to get speakers
to user groups with the program I am in. If you have a user group yourself and want
me to come over, let me know! It’s entirely free and I can give away some nice swag
and licenses at each talk!
</p>
        <p>
Here are some pictures of last week:
</p>
        <p>
          <a href="http://www.flickr.com/photos/gillcleeren/5918028068/sizes/m/in/set-72157627024648677/">
            <img src="http://farm7.static.flickr.com/6150/5918028068_b126253a9e.jpg" width="255" height="170" />
          </a> <a href="http://www.flickr.com/photos/gillcleeren/5918027716/sizes/m/in/set-72157627024648677/"><img src="http://farm7.static.flickr.com/6135/5918027716_f498f101ea.jpg" width="255" height="170" /></a> <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikUKTour_8C48/WP_000217_2.jpg"><img style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="WP_000217" border="0" alt="WP_000217" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikUKTour_8C48/WP_000217_thumb.jpg" width="257" height="194" /></a></p>
        <p>
 
</p>
        <p>
And as promised, here are all the slides and demos of all the sessions:
</p>
        <ul>
          <li>
Hereford: 
<ul><li><a href="http://www.snowball.be/data/Presentations/TelerikUKTour/Databinding.zip">Databinding
in Silverlight</a></li><li><a href="http://www.snowball.be/data/Presentations/TelerikUKTour/MVVM.zip">MVVM in
Silverlight and WPF</a></li></ul></li>
          <li>
Oxford: 
<ul><li><a href="http://www.snowball.be/data/presentations/TelerikUKTour/SilverlightLOB.zip">Building
a LOB application in Silverlight 4</a></li></ul></li>
          <li>
Coventry: 
<ul><li><a href="http://www.snowball.be/data/Presentations/TelerikUKTour/jquery.zip">jQuery
in ASP.NET and ASP.NET MVC</a></li><li><a href="http://www.snowball.be/data/Presentations/TelerikUKTour/WCFRIAServices.zip">RIA
Services in Silverlight 4</a></li></ul></li>
          <li>
Cambridge: 
<ul><li><a href="http://www.snowball.be/data/Presentations/TelerikUKTour/MVVM.zip">MVVM in
Silverlight and WPF</a></li><li><a href="http://www.snowball.be/data/Presentations/TelerikUKTour/WCFRIAServices.zip">RIA
Services in Silverlight 4</a><br /></li></ul></li>
        </ul>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=7c2bdbe3-f3e4-48a4-93a1-c230ddefb49a" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Telerik UK Tour</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,7c2bdbe3-f3e4-48a4-93a1-c230ddefb49a.aspx</guid>
      <link>http://www.snowball.be/2011/07/11/Telerik+UK+Tour.aspx</link>
      <pubDate>Mon, 11 Jul 2011 08:20:52 GMT</pubDate>
      <description>&lt;p&gt;
Last week, I travelled through the UK to give a total of 8 sessions for Telerik to
4 chapters of the NxtGenUg.net user groups. More specifically, I went to Hereford,
Oxford, Coventry and Cambridge. It was a pleasure being there, since we had some nice
discussions throughout the talks (which of course caused all sessions to run longer
than expected, some about 2,5-3&amp;nbsp; hours :) ). For the first time, I did everything
by train and all went well (not a single delay on the 10 trains I took in the UK.
I even had to pass through London when going from one station to another to go from
Coventry to Cambridge).
&lt;/p&gt;
&lt;p&gt;
&lt;img style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: block; FLOAT: none; MARGIN-LEFT: auto; BORDER-TOP: 0px; MARGIN-RIGHT: auto; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikUKTour_8C48/image_3.png" width=240 height=61&gt; 
&lt;/p&gt;
&lt;p&gt;
This tour was sponsored again by my good friends at Telerik, which help to get speakers
to user groups with the program I am in. If you have a user group yourself and want
me to come over, let me know! It’s entirely free and I can give away some nice swag
and licenses at each talk!
&lt;/p&gt;
&lt;p&gt;
Here are some pictures of last week:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.flickr.com/photos/gillcleeren/5918028068/sizes/m/in/set-72157627024648677/"&gt;&lt;img src="http://farm7.static.flickr.com/6150/5918028068_b126253a9e.jpg" width=255 height=170&gt;&lt;/a&gt;&amp;nbsp;&lt;a href="http://www.flickr.com/photos/gillcleeren/5918027716/sizes/m/in/set-72157627024648677/"&gt;&lt;img src="http://farm7.static.flickr.com/6135/5918027716_f498f101ea.jpg" width=255 height=170&gt;&lt;/a&gt;&amp;nbsp;&lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikUKTour_8C48/WP_000217_2.jpg"&gt;&lt;img style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=WP_000217 border=0 alt=WP_000217 src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikUKTour_8C48/WP_000217_thumb.jpg" width=257 height=194&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
And as promised, here are all the slides and demos of all the sessions:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Hereford: 
&lt;ul&gt;
&lt;li&gt;
&lt;a href="http://www.snowball.be/data/Presentations/TelerikUKTour/Databinding.zip"&gt;Databinding
in Silverlight&lt;/a&gt; 
&lt;li&gt;
&lt;a href="http://www.snowball.be/data/Presentations/TelerikUKTour/MVVM.zip"&gt;MVVM in
Silverlight and WPF&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;
Oxford: 
&lt;ul&gt;
&lt;li&gt;
&lt;a href="http://www.snowball.be/data/presentations/TelerikUKTour/SilverlightLOB.zip"&gt;Building
a LOB application in Silverlight 4&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;
Coventry: 
&lt;ul&gt;
&lt;li&gt;
&lt;a href="http://www.snowball.be/data/Presentations/TelerikUKTour/jquery.zip"&gt;jQuery
in ASP.NET and ASP.NET MVC&lt;/a&gt; 
&lt;li&gt;
&lt;a href="http://www.snowball.be/data/Presentations/TelerikUKTour/WCFRIAServices.zip"&gt;RIA
Services in Silverlight 4&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;
Cambridge: 
&lt;ul&gt;
&lt;li&gt;
&lt;a href="http://www.snowball.be/data/Presentations/TelerikUKTour/MVVM.zip"&gt;MVVM in
Silverlight and WPF&lt;/a&gt; 
&lt;li&gt;
&lt;a href="http://www.snowball.be/data/Presentations/TelerikUKTour/WCFRIAServices.zip"&gt;RIA
Services in Silverlight 4&lt;/a&gt;
&lt;br&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=7c2bdbe3-f3e4-48a4-93a1-c230ddefb49a" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,7c2bdbe3-f3e4-48a4-93a1-c230ddefb49a.aspx</comments>
      <category>Events</category>
      <category>Silverlight</category>
      <category>telerik</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=3361ab9c-4730-4b73-822a-fd1c10e73188</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,3361ab9c-4730-4b73-822a-fd1c10e73188.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,3361ab9c-4730-4b73-822a-fd1c10e73188.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=3361ab9c-4730-4b73-822a-fd1c10e73188</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Last week, I did another webinar for Silverlight Show titled Expression Blend 4 for
developers. If you were unable to attend, you can view the recorded version on-demand <a href="http://www.silverlightshow.net/video/Recording-of-webinar-Blend-for-Silverlight-Developers-by-Gill-Cleeren.aspx">here</a> (it’s
free :) )
</p>
        <p>
The slides can be found <a href="http://www.silverlightshow.net/Storage/Sources/Blend_for_devs.pptx">here</a> and
the demos you can download <a href="http://www.snowball.be/data/Presentations/NDC2011/Demos.zip">here</a>.
</p>
        <p>
Enjoy!
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=3361ab9c-4730-4b73-822a-fd1c10e73188" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Video of my Blend webinar online</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,3361ab9c-4730-4b73-822a-fd1c10e73188.aspx</guid>
      <link>http://www.snowball.be/2011/06/28/Video+Of+My+Blend+Webinar+Online.aspx</link>
      <pubDate>Tue, 28 Jun 2011 13:27:44 GMT</pubDate>
      <description>&lt;p&gt;
Last week, I did another webinar for Silverlight Show titled Expression Blend 4 for
developers. If you were unable to attend, you can view the recorded version on-demand &lt;a href="http://www.silverlightshow.net/video/Recording-of-webinar-Blend-for-Silverlight-Developers-by-Gill-Cleeren.aspx"&gt;here&lt;/a&gt; (it’s
free :) )
&lt;/p&gt;
&lt;p&gt;
The slides can be found &lt;a href="http://www.silverlightshow.net/Storage/Sources/Blend_for_devs.pptx"&gt;here&lt;/a&gt; and
the demos you can download &lt;a href="http://www.snowball.be/data/Presentations/NDC2011/Demos.zip"&gt;here&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Enjoy!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=3361ab9c-4730-4b73-822a-fd1c10e73188" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,3361ab9c-4730-4b73-822a-fd1c10e73188.aspx</comments>
      <category>Silverlight</category>
      <category>Webcasts</category>
      <category>Webinars</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=7c85926e-bc18-4563-b5b7-7a29614acf32</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,7c85926e-bc18-4563-b5b7-7a29614acf32.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,7c85926e-bc18-4563-b5b7-7a29614acf32.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=7c85926e-bc18-4563-b5b7-7a29614acf32</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Community Day 2011 is over (sadly)… But since we had so much fun, that isn’t a problem:
we have a great day of Belgian community at its very best! Judging from the feedback,
this was the very best edition so far, so that’s good news :)
</p>
        <p>
We had over 300 attendees seeing 32 sessions spread over 5 tracks. Most slides are
already available from <a href="http://www.communityday.be/cd/tabid/130/Default.aspx">the
agenda page</a>.
</p>
        <p>
I want to thank you all for being there. Of course, a big thank you to the team, the
sponsors and the people from BBDO!
</p>
        <p>
Here are some pictures of the event, the entire list can be seen <a href="http://www.flickr.com/photos/gillcleeren/sets/72157626912698055/">here</a>.
</p>
        <p>
          <img src="http://farm4.static.flickr.com/3209/5867422960_02357dbf85.jpg" width="267" height="179" /> <img src="http://farm4.static.flickr.com/3255/5866860725_16c2ae9abc.jpg" width="269" height="179" /></p>
        <p>
          <img src="http://farm4.static.flickr.com/3134/5866939709_d922a027b0.jpg" width="264" height="176" /> <img src="http://farm4.static.flickr.com/3199/5867533718_a47008e9a3.jpg" width="265" height="176" /></p>
        <p>
          <img src="http://farm4.static.flickr.com/3047/5866989671_41a6baa80f.jpg" width="266" height="178" /> <img src="http://farm6.static.flickr.com/5146/5867133941_023cb56d2f.jpg" width="266" height="178" /></p>
        <p>
          <img src="http://farm6.static.flickr.com/5271/5876211645_49e773cf58.jpg" width="263" height="176" /> <img src="http://farm7.static.flickr.com/6058/5867131651_b6cb116750.jpg" width="265" height="176" /></p>
        <p>
          <img src="http://farm4.static.flickr.com/3105/5866831345_da0f98319d.jpg" width="260" height="173" /> <img src="http://farm6.static.flickr.com/5104/5867367472_1abb859cf3.jpg" width="257" height="172" /></p>
        <p>
          <img src="http://farm4.static.flickr.com/3011/5866822569_6308141345.jpg" width="256" height="172" /> <img src="http://farm6.static.flickr.com/5264/5867326914_5aa76cec64.jpg" width="257" height="172" /></p>
        <p>
          <img src="http://farm4.static.flickr.com/3207/5866738327_e6cfa5defb.jpg" width="255" height="170" /> <img src="http://farm4.static.flickr.com/3161/5866680173_0628217d23.jpg" width="253" height="170" /></p>
        <p>
          <img src="http://farm6.static.flickr.com/5074/5866695957_e69beef2f9.jpg" width="250" height="168" />
        </p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=7c85926e-bc18-4563-b5b7-7a29614acf32" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Community Day 2011: the report, the slides and the pictures</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,7c85926e-bc18-4563-b5b7-7a29614acf32.aspx</guid>
      <link>http://www.snowball.be/2011/06/27/Community+Day+2011+The+Report+The+Slides+And+The+Pictures.aspx</link>
      <pubDate>Mon, 27 Jun 2011 11:06:36 GMT</pubDate>
      <description>&lt;p&gt;
Community Day 2011 is over (sadly)… But since we had so much fun, that isn’t a problem:
we have a great day of Belgian community at its very best! Judging from the feedback,
this was the very best edition so far, so that’s good news :)
&lt;/p&gt;
&lt;p&gt;
We had over 300 attendees seeing 32 sessions spread over 5 tracks. Most slides are
already available from &lt;a href="http://www.communityday.be/cd/tabid/130/Default.aspx"&gt;the
agenda page&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
I want to thank you all for being there. Of course, a big thank you to the team, the
sponsors and the people from BBDO!
&lt;/p&gt;
&lt;p&gt;
Here are some pictures of the event, the entire list can be seen &lt;a href="http://www.flickr.com/photos/gillcleeren/sets/72157626912698055/"&gt;here&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://farm4.static.flickr.com/3209/5867422960_02357dbf85.jpg" width=267 height=179&gt;&amp;nbsp;&lt;img src="http://farm4.static.flickr.com/3255/5866860725_16c2ae9abc.jpg" width=269 height=179&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://farm4.static.flickr.com/3134/5866939709_d922a027b0.jpg" width=264 height=176&gt;&amp;nbsp;&lt;img src="http://farm4.static.flickr.com/3199/5867533718_a47008e9a3.jpg" width=265 height=176&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://farm4.static.flickr.com/3047/5866989671_41a6baa80f.jpg" width=266 height=178&gt;&amp;nbsp;&lt;img src="http://farm6.static.flickr.com/5146/5867133941_023cb56d2f.jpg" width=266 height=178&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://farm6.static.flickr.com/5271/5876211645_49e773cf58.jpg" width=263 height=176&gt;&amp;nbsp;&lt;img src="http://farm7.static.flickr.com/6058/5867131651_b6cb116750.jpg" width=265 height=176&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://farm4.static.flickr.com/3105/5866831345_da0f98319d.jpg" width=260 height=173&gt;&amp;nbsp;&lt;img src="http://farm6.static.flickr.com/5104/5867367472_1abb859cf3.jpg" width=257 height=172&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://farm4.static.flickr.com/3011/5866822569_6308141345.jpg" width=256 height=172&gt;&amp;nbsp;&lt;img src="http://farm6.static.flickr.com/5264/5867326914_5aa76cec64.jpg" width=257 height=172&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://farm4.static.flickr.com/3207/5866738327_e6cfa5defb.jpg" width=255 height=170&gt;&amp;nbsp;&lt;img src="http://farm4.static.flickr.com/3161/5866680173_0628217d23.jpg" width=253 height=170&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://farm6.static.flickr.com/5074/5866695957_e69beef2f9.jpg" width=250 height=168&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=7c85926e-bc18-4563-b5b7-7a29614acf32" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,7c85926e-bc18-4563-b5b7-7a29614acf32.aspx</comments>
      <category>Community Day</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=478c16d1-c9be-444e-b411-4e7990f01af8</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,478c16d1-c9be-444e-b411-4e7990f01af8.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,478c16d1-c9be-444e-b411-4e7990f01af8.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=478c16d1-c9be-444e-b411-4e7990f01af8</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Tomorrow, Thursday June 16th, I’ll be doing another webinar for SilverlightShow. I
think that this one if the 7th webinar I’m doing for them!
</p>
        <p>
This one is totally devoted to Expression Blend: Expression Blend for developers.
That means (sadly) that I won’t be doing any drawing or graphics-related stuff! I’m
going to talk about how I think XAML developers can be more productive with Expression
Blend instead of only using Visual Studio for their work. 
</p>
        <p>
This is the agenda:
</p>
        <ul>
          <li>
5-minute guided tour of Blend 
</li>
          <li>
Great work starts with a sketch: SketchFlow 
</li>
          <li>
Push the button: sample data generation 
</li>
          <li>
Binding with Blend: how to use data-binding 
</li>
          <li>
Customization bonanza 
<ul><li>
Styling 
</li><li>
Resources and resource dictionaries 
</li><li>
Templates 
</li><li>
A custom control 
</li></ul></li>
          <li>
Blend behaving badly: behaviors 
</li>
          <li>
Animations and other moving things 
</li>
          <li>
Blend welcomes WP7 
</li>
          <li>
The Blend-bag-of-tricks</li>
        </ul>
        <p>
The outline of the webinar is <a href="http://www.silverlightshow.net/news/Webinar-Blend-for-Silverlight-Developers.aspx">here</a> and
of course you can <a href="https://www1.gotomeeting.com/register/434252608">subscribe
for free</a>. The webinar takes about 75 minutes.
</p>
        <p>
A nice extra is that my publisher (Packt Publishing) is giving away <a href="http://www.silverlightshow.net/news/Learn-Blend-for-Silverlight-and-win-an-eBook-in-tomorrow-s-free-webinar.aspx">3
copies of the LITE edition of the book</a> I wrote together with Kevin Dockx. So by
simply attending, you could win a book!
</p>
        <p>
          <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/JoinmyExpressionBlendwebinaronThursday_7F02/CookBookLITE_2.png">
            <img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="CookBookLITE" border="0" alt="CookBookLITE" src="http://www.snowball.be/content/binary/WindowsLiveWriter/JoinmyExpressionBlendwebinaronThursday_7F02/CookBookLITE_thumb.png" width="167" height="213" />
          </a>I
hope to see you online tomorrow! 
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=478c16d1-c9be-444e-b411-4e7990f01af8" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Join my Expression Blend webinar on Thursday!</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,478c16d1-c9be-444e-b411-4e7990f01af8.aspx</guid>
      <link>http://www.snowball.be/2011/06/15/Join+My+Expression+Blend+Webinar+On+Thursday.aspx</link>
      <pubDate>Wed, 15 Jun 2011 07:01:56 GMT</pubDate>
      <description>&lt;p&gt;
Tomorrow, Thursday June 16th, I’ll be doing another webinar for SilverlightShow. I
think that this one if the 7th webinar I’m doing for them!
&lt;/p&gt;
&lt;p&gt;
This one is totally devoted to Expression Blend: Expression Blend for developers.
That means (sadly) that I won’t be doing any drawing or graphics-related stuff! I’m
going to talk about how I think XAML developers can be more productive with Expression
Blend instead of only using Visual Studio for their work. 
&lt;/p&gt;
&lt;p&gt;
This is the agenda:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
5-minute guided tour of Blend 
&lt;li&gt;
Great work starts with a sketch: SketchFlow 
&lt;li&gt;
Push the button: sample data generation 
&lt;li&gt;
Binding with Blend: how to use data-binding 
&lt;li&gt;
Customization bonanza 
&lt;ul&gt;
&lt;li&gt;
Styling 
&lt;li&gt;
Resources and resource dictionaries 
&lt;li&gt;
Templates 
&lt;li&gt;
A custom control 
&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;
Blend behaving badly: behaviors 
&lt;li&gt;
Animations and other moving things 
&lt;li&gt;
Blend welcomes WP7 
&lt;li&gt;
The Blend-bag-of-tricks&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
The outline of the webinar is &lt;a href="http://www.silverlightshow.net/news/Webinar-Blend-for-Silverlight-Developers.aspx"&gt;here&lt;/a&gt; and
of course you can &lt;a href="https://www1.gotomeeting.com/register/434252608"&gt;subscribe
for free&lt;/a&gt;. The webinar takes about 75 minutes.
&lt;/p&gt;
&lt;p&gt;
A nice extra is that my publisher (Packt Publishing) is giving away &lt;a href="http://www.silverlightshow.net/news/Learn-Blend-for-Silverlight-and-win-an-eBook-in-tomorrow-s-free-webinar.aspx"&gt;3
copies of the LITE edition of the book&lt;/a&gt; I wrote together with Kevin Dockx. So by
simply attending, you could win a book!
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/JoinmyExpressionBlendwebinaronThursday_7F02/CookBookLITE_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="CookBookLITE" border="0" alt="CookBookLITE" src="http://www.snowball.be/content/binary/WindowsLiveWriter/JoinmyExpressionBlendwebinaronThursday_7F02/CookBookLITE_thumb.png" width="167" height="213"&gt;&lt;/a&gt;I
hope to see you online tomorrow! 
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=478c16d1-c9be-444e-b411-4e7990f01af8" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,478c16d1-c9be-444e-b411-4e7990f01af8.aspx</comments>
      <category>Blend</category>
      <category>Events</category>
      <category>Silverlight</category>
      <category>Webinars</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=84fb12d3-3aa4-4d0b-addc-4611c631668a</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,84fb12d3-3aa4-4d0b-addc-4611c631668a.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,84fb12d3-3aa4-4d0b-addc-4611c631668a.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=84fb12d3-3aa4-4d0b-addc-4611c631668a</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I enjoyed a lot being at NDC 2011 (Oslo, Norway) again for the second year. I gave
two sessions, one on LightSwitch and a second one on Expression Blend. I hope you
enjoyed them. If you have any questions, please don’t hesitate to contact me!
</p>
        <p>
Here are the downloads as promised<br /><br />
Switch on the LightSwitch: <a href="http://www.snowball.be/ct.ashx?id=03f47527-f275-4a88-91e4-450d44031203&amp;url=http%3a%2f%2fcid-bd64f22e01fad982.office.live.com%2fself.aspx%2fPublic%2fLightSwitch%2520-%2520Gill%2520Cleeren%2520-%2520Web.pptx">Slides</a> – <a href="http://www.snowball.be/ct.ashx?id=03f47527-f275-4a88-91e4-450d44031203&amp;url=http%3a%2f%2fcid-bd64f22e01fad982.office.live.com%2fself.aspx%2fPublic%2fLightSwitch%2520demos.zip">Demos</a><br /><br />
Expression Blend 4 for developers: <a href="http://www.snowball.be/data/presentations/ndc2011/ExpressionBlend4-Web-GillCleeren.pptx">Slides</a> - <a href="http://www.snowball.be/data/presentations/ndc2011/Demos.zip">Demos</a></p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=84fb12d3-3aa4-4d0b-addc-4611c631668a" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Slides and demos for my NDC2011 talks</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,84fb12d3-3aa4-4d0b-addc-4611c631668a.aspx</guid>
      <link>http://www.snowball.be/2011/06/12/Slides+And+Demos+For+My+NDC2011+Talks.aspx</link>
      <pubDate>Sun, 12 Jun 2011 10:57:44 GMT</pubDate>
      <description>&lt;p&gt;
I enjoyed a lot being at NDC 2011 (Oslo, Norway) again for the second year. I gave
two sessions, one on LightSwitch and a second one on Expression Blend. I hope you
enjoyed them. If you have any questions, please don’t hesitate to contact me!
&lt;/p&gt;
&lt;p&gt;
Here are the downloads as promised&lt;br&gt;
&lt;br&gt;
Switch on the LightSwitch: &lt;a href="http://www.snowball.be/ct.ashx?id=03f47527-f275-4a88-91e4-450d44031203&amp;amp;url=http%3a%2f%2fcid-bd64f22e01fad982.office.live.com%2fself.aspx%2fPublic%2fLightSwitch%2520-%2520Gill%2520Cleeren%2520-%2520Web.pptx"&gt;Slides&lt;/a&gt; – &lt;a href="http://www.snowball.be/ct.ashx?id=03f47527-f275-4a88-91e4-450d44031203&amp;amp;url=http%3a%2f%2fcid-bd64f22e01fad982.office.live.com%2fself.aspx%2fPublic%2fLightSwitch%2520demos.zip"&gt;Demos&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;
Expression Blend 4 for developers: &lt;a href="http://www.snowball.be/data/presentations/ndc2011/ExpressionBlend4-Web-GillCleeren.pptx"&gt;Slides&lt;/a&gt; - &lt;a href="http://www.snowball.be/data/presentations/ndc2011/Demos.zip"&gt;Demos&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=84fb12d3-3aa4-4d0b-addc-4611c631668a" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,84fb12d3-3aa4-4d0b-addc-4611c631668a.aspx</comments>
      <category>Events</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=c876ed50-a83c-43f2-bf4b-e9211d5bb3ed</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,c876ed50-a83c-43f2-bf4b-e9211d5bb3ed.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,c876ed50-a83c-43f2-bf4b-e9211d5bb3ed.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=c876ed50-a83c-43f2-bf4b-e9211d5bb3ed</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
The passed TechDays Belgium were another great event, showing that Belgians really
know how to organize an event. If you couldn’t attend, you missed a lot to be honest. 
</p>
        <p>
 <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="570x120_techdays_watch" border="0" alt="570x120_techdays_watch" src="http://www.snowball.be/content/binary/WindowsLiveWriter/AllBelgianTechDaysvideosarenowavailablef_F313/570x120_techdays_watch_3.jpg" width="550" height="120" /></p>
        <p>
But, fear not my dear reader, as all sessions have been recorded and you can see them
for free on Channel9: <a title="http://channel9.msdn.com/Events/TechDays/TechDays-2011-Belgium" href="http://channel9.msdn.com/Events/TechDays/TechDays-2011-Belgium">http://channel9.msdn.com/Events/TechDays/TechDays-2011-Belgium</a> 
</p>
        <p>
My personal favorites:
</p>
        <ul>
          <li>
            <a href="http://channel9.msdn.com/Events/TechDays/TechDays-2011-Belgium/KEY01">Scott
Hanselman’s keynote</a>
          </li>
          <li>
            <a href="http://channel9.msdn.com/Events/TechDays/TechDays-2011-Belgium/TD004">Jeff
Prosise on Silverlight 5</a>
          </li>
          <li>
            <a href="http://channel9.msdn.com/Events/TechDays/TechDays-2011-Belgium/TD005">And
my absolute favorite… LightSwitch :)</a>
          </li>
        </ul>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=c876ed50-a83c-43f2-bf4b-e9211d5bb3ed" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>All Belgian TechDays videos are now available for free</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,c876ed50-a83c-43f2-bf4b-e9211d5bb3ed.aspx</guid>
      <link>http://www.snowball.be/2011/05/26/All+Belgian+TechDays+Videos+Are+Now+Available+For+Free.aspx</link>
      <pubDate>Thu, 26 May 2011 15:17:08 GMT</pubDate>
      <description>&lt;p&gt;
The passed TechDays Belgium were another great event, showing that Belgians really
know how to organize an event. If you couldn’t attend, you missed a lot to be honest. 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="570x120_techdays_watch" border="0" alt="570x120_techdays_watch" src="http://www.snowball.be/content/binary/WindowsLiveWriter/AllBelgianTechDaysvideosarenowavailablef_F313/570x120_techdays_watch_3.jpg" width="550" height="120"&gt; 
&lt;/p&gt;
&lt;p&gt;
But, fear not my dear reader, as all sessions have been recorded and you can see them
for free on Channel9: &lt;a title="http://channel9.msdn.com/Events/TechDays/TechDays-2011-Belgium" href="http://channel9.msdn.com/Events/TechDays/TechDays-2011-Belgium"&gt;http://channel9.msdn.com/Events/TechDays/TechDays-2011-Belgium&lt;/a&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
My personal favorites:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="http://channel9.msdn.com/Events/TechDays/TechDays-2011-Belgium/KEY01"&gt;Scott
Hanselman’s keynote&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://channel9.msdn.com/Events/TechDays/TechDays-2011-Belgium/TD004"&gt;Jeff
Prosise on Silverlight 5&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://channel9.msdn.com/Events/TechDays/TechDays-2011-Belgium/TD005"&gt;And
my absolute favorite… LightSwitch :)&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=c876ed50-a83c-43f2-bf4b-e9211d5bb3ed" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,c876ed50-a83c-43f2-bf4b-e9211d5bb3ed.aspx</comments>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=253d43f7-5e78-4634-a178-138cc679318b</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,253d43f7-5e78-4634-a178-138cc679318b.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,253d43f7-5e78-4634-a178-138cc679318b.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=253d43f7-5e78-4634-a178-138cc679318b</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I haven’t had the time to blog about it, but yes, you can register for Community Day
2011 since a few days. Registrations are going fast, so the best advice I can give
you is to register quickly!
</p>
        <p>
          <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/CommunityDay2011registrationsareopen_9653/logo_2.png">
            <img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="MIC3073_logo2011jubilee_vecto" border="0" alt="MIC3073_logo2011jubilee_vecto" src="http://www.snowball.be/content/binary/WindowsLiveWriter/CommunityDay2011registrationsareopen_9653/logo_thumb.png" width="209" height="70" />
          </a>
        </p>
        <p>
The event is still entirely free (including food) and we are again in Utopolis Mechelen.
The venue is completely renovated, giving us a lot more space.
</p>
        <p>
This year, we are celebrating our 5th edition. For this occasion, we are inviting
2 Dutch user groups (DotNed and Sixin) who will give sessions at the event as well.
We are also doing 30 sessions instead of 24, so you’ll have more choice than ever
to fill your free day of learning.
</p>
        <p>
Convinced? I bet you are! Go here for <a href="http://www.communityday.be/cd/tabid/58/Default.aspx">registration</a>,
check out <a href="http://www.communityday.be/cd/tabid/131/Default.aspx">our sponsors</a> or
take a look at the <a href="http://www.communityday.be/cd/tabid/130/Default.aspx">agenda</a>!
</p>
        <p>
I will see you on June 23rd!
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=253d43f7-5e78-4634-a178-138cc679318b" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Community Day 2011 registrations are open!</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,253d43f7-5e78-4634-a178-138cc679318b.aspx</guid>
      <link>http://www.snowball.be/2011/05/24/Community+Day+2011+Registrations+Are+Open.aspx</link>
      <pubDate>Tue, 24 May 2011 08:41:28 GMT</pubDate>
      <description>&lt;p&gt;
I haven’t had the time to blog about it, but yes, you can register for Community Day
2011 since a few days. Registrations are going fast, so the best advice I can give
you is to register quickly!
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/CommunityDay2011registrationsareopen_9653/logo_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="MIC3073_logo2011jubilee_vecto" border="0" alt="MIC3073_logo2011jubilee_vecto" src="http://www.snowball.be/content/binary/WindowsLiveWriter/CommunityDay2011registrationsareopen_9653/logo_thumb.png" width="209" height="70"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
The event is still entirely free (including food) and we are again in Utopolis Mechelen.
The venue is completely renovated, giving us a lot more space.
&lt;/p&gt;
&lt;p&gt;
This year, we are celebrating our 5th edition. For this occasion, we are inviting
2 Dutch user groups (DotNed and Sixin) who will give sessions at the event as well.
We are also doing 30 sessions instead of 24, so you’ll have more choice than ever
to fill your free day of learning.
&lt;/p&gt;
&lt;p&gt;
Convinced? I bet you are! Go here for &lt;a href="http://www.communityday.be/cd/tabid/58/Default.aspx"&gt;registration&lt;/a&gt;,
check out &lt;a href="http://www.communityday.be/cd/tabid/131/Default.aspx"&gt;our sponsors&lt;/a&gt; or
take a look at the &lt;a href="http://www.communityday.be/cd/tabid/130/Default.aspx"&gt;agenda&lt;/a&gt;!
&lt;/p&gt;
&lt;p&gt;
I will see you on June 23rd!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=253d43f7-5e78-4634-a178-138cc679318b" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,253d43f7-5e78-4634-a178-138cc679318b.aspx</comments>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=4d7ec8b7-31c2-4e32-97a0-766190554b8d</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,4d7ec8b7-31c2-4e32-97a0-766190554b8d.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,4d7ec8b7-31c2-4e32-97a0-766190554b8d.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=4d7ec8b7-31c2-4e32-97a0-766190554b8d</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Suppose you’re willing to start learning Silverlight enterprise development and you
want a good book to start. There are quite a few really good books on the market covering
Silverlight 4. If you’re interested mostly in getting to know how to work with data,
services and other enterprise-related topics, my <a href="http://www.packtpub.com/microsoft-silverlight-4-data-and-services-cookbook/book">own
book</a> is a really good start (here you can read some reviews as well).
</p>
        <p>
          <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/Liteeditionofmybookavailable_14A27/lite%20book_2.jpg">
            <img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="lite book" border="0" alt="lite book" src="http://www.snowball.be/content/binary/WindowsLiveWriter/Liteeditionofmybookavailable_14A27/lite%20book_thumb.jpg" width="198" height="244" />
          </a>
        </p>
        <p>
If you’re not really sure on whether my book will help you, you can purchase a lite
(light) version of it now for a mere $9.95. That’s right: you get a few relevant chapters
without spending a lot of cash. You can read more about it <a href="http://www.packtpub.com/microsoft-silverlight-4-data-and-services-cookbook-lite/book">here</a>.
</p>
        <p>
Here’s what you get:
</p>
        <ul>
          <li>
Design and develop rich data-driven business applications in Silverlight 
</li>
          <li>
Rapidly interact with and handle multiple sources of data and services within Silverlight
business applications 
</li>
          <li>
Understand sophisticated techniques to work with data in your Silverlight business
applications, including displaying data in Silverlight applications, binding data
to Silverlight controls, getting data from services into Silverlight applications
and much more! 
</li>
          <li>
Packed with practical, hands-on cookbook recipes, illustrating the techniques to solve
particular data problems effectively within your Silverlight business applications</li>
          <li>
eBook available as PDF download</li>
        </ul>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=4d7ec8b7-31c2-4e32-97a0-766190554b8d" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Lite edition of my book available</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,4d7ec8b7-31c2-4e32-97a0-766190554b8d.aspx</guid>
      <link>http://www.snowball.be/2011/05/16/Lite+Edition+Of+My+Book+Available.aspx</link>
      <pubDate>Mon, 16 May 2011 21:28:42 GMT</pubDate>
      <description>&lt;p&gt;
Suppose you’re willing to start learning Silverlight enterprise development and you
want a good book to start. There are quite a few really good books on the market covering
Silverlight 4. If you’re interested mostly in getting to know how to work with data,
services and other enterprise-related topics, my &lt;a href="http://www.packtpub.com/microsoft-silverlight-4-data-and-services-cookbook/book"&gt;own
book&lt;/a&gt; is a really good start (here you can read some reviews as well).
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/Liteeditionofmybookavailable_14A27/lite%20book_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="lite book" border="0" alt="lite book" src="http://www.snowball.be/content/binary/WindowsLiveWriter/Liteeditionofmybookavailable_14A27/lite%20book_thumb.jpg" width="198" height="244"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
If you’re not really sure on whether my book will help you, you can purchase a lite
(light) version of it now for a mere $9.95. That’s right: you get a few relevant chapters
without spending a lot of cash. You can read more about it &lt;a href="http://www.packtpub.com/microsoft-silverlight-4-data-and-services-cookbook-lite/book"&gt;here&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Here’s what you get:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Design and develop rich data-driven business applications in Silverlight 
&lt;li&gt;
Rapidly interact with and handle multiple sources of data and services within Silverlight
business applications 
&lt;li&gt;
Understand sophisticated techniques to work with data in your Silverlight business
applications, including displaying data in Silverlight applications, binding data
to Silverlight controls, getting data from services into Silverlight applications
and much more! 
&lt;li&gt;
Packed with practical, hands-on cookbook recipes, illustrating the techniques to solve
particular data problems effectively within your Silverlight business applications&lt;/li&gt;
&lt;li&gt;
eBook available as PDF download&lt;/li&gt;
&lt;/ul&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=4d7ec8b7-31c2-4e32-97a0-766190554b8d" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,4d7ec8b7-31c2-4e32-97a0-766190554b8d.aspx</comments>
      <category>.NET 4</category>
      <category>Book</category>
      <category>Book review</category>
      <category>Silverlight</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=7c252bf6-573d-4af2-8e07-b43132f4d173</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,7c252bf6-573d-4af2-8e07-b43132f4d173.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,7c252bf6-573d-4af2-8e07-b43132f4d173.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=7c252bf6-573d-4af2-8e07-b43132f4d173</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I just noticed that all DevDays 11 Netherlands sessions are available for online viewing.
You can see them <a href="http://channel9.msdn.com/Events/DevDays/DevDays-2011-Netherlands">here</a>.
My talk on jQuery can be found <a href="http://channel9.msdn.com/Events/DevDays/DevDays-2011-Netherlands/Devdays004#comments">here</a>.
Looking at the comments, I think attendees (around 350 I guess) liked what they saw
:)<br /><br />
All slides and demos are available <a href="http://www.snowball.be/2011/04/28/Slides+And+Demos+From+My+JQuery+Talk+At+DevDays+Netherlands+2011.aspx">here</a> in
case you want to try out what I’ve been showing in the talk!
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=7c252bf6-573d-4af2-8e07-b43132f4d173" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>My DevDays11 session on jQuery is online</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,7c252bf6-573d-4af2-8e07-b43132f4d173.aspx</guid>
      <link>http://www.snowball.be/2011/05/16/My+DevDays11+Session+On+JQuery+Is+Online.aspx</link>
      <pubDate>Mon, 16 May 2011 21:19:22 GMT</pubDate>
      <description>&lt;p&gt;
I just noticed that all DevDays 11 Netherlands sessions are available for online viewing.
You can see them &lt;a href="http://channel9.msdn.com/Events/DevDays/DevDays-2011-Netherlands"&gt;here&lt;/a&gt;.
My talk on jQuery can be found &lt;a href="http://channel9.msdn.com/Events/DevDays/DevDays-2011-Netherlands/Devdays004#comments"&gt;here&lt;/a&gt;.
Looking at the comments, I think attendees (around 350 I guess) liked what they saw
:)&lt;br&gt;
&lt;br&gt;
All slides and demos are available &lt;a href="http://www.snowball.be/2011/04/28/Slides+And+Demos+From+My+JQuery+Talk+At+DevDays+Netherlands+2011.aspx"&gt;here&lt;/a&gt; in
case you want to try out what I’ve been showing in the talk!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=7c252bf6-573d-4af2-8e07-b43132f4d173" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,7c252bf6-573d-4af2-8e07-b43132f4d173.aspx</comments>
      <category>Events</category>
      <category>Slide decks</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=29871baf-6de0-4f63-b758-19789503717e</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,29871baf-6de0-4f63-b758-19789503717e.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,29871baf-6de0-4f63-b758-19789503717e.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=29871baf-6de0-4f63-b758-19789503717e</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
On May 26th, Ordina is organizing a free technology event. Ordina’s technology specialists
will give <strong>21 sessions of 30 minutes</strong>, spread over 5 tracks. The event
is <strong>free</strong> for everyone to join, registration is required. You can register
here: <a href="http://www.ordina.be/differentiate"><strong>www.ordina.be/differentiate</strong></a>.
</p>
        <p>
 
</p>
        <p>
          <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/OrdinaStandoutfromthecrowdeventonMay26th_CF11/image_2.png">
            <img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://www.snowball.be/content/binary/WindowsLiveWriter/OrdinaStandoutfromthecrowdeventonMay26th_CF11/image_thumb.png" width="181" height="155" />
          </a>
        </p>
        <p>
We will have the following sessions for you to attend:
</p>
        <p>
          <strong>Agenda: Stand out from the crowd with Microsoft technology on May 26, 6 pm</strong>
          <br />
30-minute sessions – the choice is yours<br /><em>.Net<br /></em>    Visual Studio LightSwitch<br />
    Building a Windows Phone7 application: lessons learnt<br />
    C#5 Async<br /><em>SharePoint</em><br />
    Automated scripted deployment of SharePoint<br />
    SharePoint 2010: architectural overview<br />
    Developing against SharePoint 2010 lists<br /><em>SQL</em><br />
    Where .Net meets SQL Server: SQL CLR<br />
    Extending to multilingual reporting<br />
    Using geo data within Report Builder 3.0 
<br /><em>Application Lifecycle Management      
<br /></em>    Automate your deployment cycle with TFS Build 2010 and Workflow
4<br />
    Delivering quality software with TFS 2010<br />
    Team Explorer Everywhere: TFS and Java, better together<br /><em>Azure</em><br />
    Reporting services in the cloud<br />
    Moving a legal application in the cloud<br />
    Windows Phone7 and the cloud<br /><em>Infrastructure<br /></em>    Unified Communications: Lync<br />
    Unified Communications: Office 365<br />
    Hyper-V<br /><em>Enterprise Portfolio Management</em><br />
    Demand management using workflow in Project Server 2010<br />
    Bridging the project and work management gap
</p>
        <p>
Interested? <a href="www.ordina.be/differentiate">Join us</a>! <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=29871baf-6de0-4f63-b758-19789503717e" /><br /><hr />
Snowball.be - The blog of Gill Cleeren 
</p>
      </body>
      <title>Ordina Stand out from the crowd event on May 26th</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,29871baf-6de0-4f63-b758-19789503717e.aspx</guid>
      <link>http://www.snowball.be/2011/05/05/Ordina+Stand+Out+From+The+Crowd+Event+On+May+26th.aspx</link>
      <pubDate>Thu, 05 May 2011 12:43:32 GMT</pubDate>
      <description>&lt;p&gt;
On May 26th, Ordina is organizing a free technology event. Ordina’s technology specialists
will give &lt;strong&gt;21 sessions of 30 minutes&lt;/strong&gt;, spread over 5 tracks. The event
is &lt;strong&gt;free&lt;/strong&gt; for everyone to join, registration is required. You can register
here: &lt;a href="http://www.ordina.be/differentiate"&gt;&lt;strong&gt;www.ordina.be/differentiate&lt;/strong&gt;&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/OrdinaStandoutfromthecrowdeventonMay26th_CF11/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://www.snowball.be/content/binary/WindowsLiveWriter/OrdinaStandoutfromthecrowdeventonMay26th_CF11/image_thumb.png" width="181" height="155"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
We will have the following sessions for you to attend:
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Agenda: Stand out from the crowd with Microsoft technology on May 26, 6 pm&lt;/strong&gt;
&lt;br&gt;
30-minute sessions – the choice is yours&lt;br&gt;
&lt;em&gt;.Net&lt;br&gt;
&lt;/em&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Visual Studio LightSwitch&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Building a Windows Phone7 application: lessons learnt&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; C#5 Async&lt;br&gt;
&lt;em&gt;SharePoint&lt;/em&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Automated scripted deployment of SharePoint&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; SharePoint 2010: architectural overview&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Developing against SharePoint 2010 lists&lt;br&gt;
&lt;em&gt;SQL&lt;/em&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Where .Net meets SQL Server: SQL CLR&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Extending to multilingual reporting&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Using geo data within Report Builder 3.0 
&lt;br&gt;
&lt;em&gt;Application Lifecycle Management&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&lt;br&gt;
&lt;/em&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Automate your deployment cycle with TFS Build 2010 and Workflow
4&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Delivering quality software with TFS 2010&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Team Explorer Everywhere: TFS and Java, better together&lt;br&gt;
&lt;em&gt;Azure&lt;/em&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Reporting services in the cloud&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Moving a legal application in the cloud&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Windows Phone7 and the cloud&lt;br&gt;
&lt;em&gt;Infrastructure&lt;br&gt;
&lt;/em&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Unified Communications: Lync&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Unified Communications: Office 365&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Hyper-V&lt;br&gt;
&lt;em&gt;Enterprise Portfolio Management&lt;/em&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Demand management using workflow in Project Server 2010&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Bridging the project and work management gap
&lt;/p&gt;
&lt;p&gt;
Interested? &lt;a href="www.ordina.be/differentiate"&gt;Join us&lt;/a&gt;! &lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=29871baf-6de0-4f63-b758-19789503717e" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,29871baf-6de0-4f63-b758-19789503717e.aspx</comments>
      <category>Events</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=09998493-b44e-4c47-9459-db86402372ac</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,09998493-b44e-4c47-9459-db86402372ac.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,09998493-b44e-4c47-9459-db86402372ac.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=09998493-b44e-4c47-9459-db86402372ac</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
To round things up, here are the slides and demos of my WebMatrix talk at GeekNight
(DevDays) in The Netherlands.
</p>
        <p>
          <a href="http://www.snowball.be/data/Presentations/GeekNight2011/WebmatrixSlidesGeekNight2011GillCleeren.zip">Slides</a>
          <br />
          <a href="http://www.snowball.be/data/Presentations/GeekNight2011/WebMatrixDemosGeekNight2011GillCleeren.zip">Demos</a>
        </p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=09998493-b44e-4c47-9459-db86402372ac" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Slides and demos for my WebMatrix talk at GeekNight</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,09998493-b44e-4c47-9459-db86402372ac.aspx</guid>
      <link>http://www.snowball.be/2011/04/29/Slides+And+Demos+For+My+WebMatrix+Talk+At+GeekNight.aspx</link>
      <pubDate>Fri, 29 Apr 2011 07:05:29 GMT</pubDate>
      <description>&lt;p&gt;
To round things up, here are the slides and demos of my WebMatrix talk at GeekNight
(DevDays) in The Netherlands.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.snowball.be/data/Presentations/GeekNight2011/WebmatrixSlidesGeekNight2011GillCleeren.zip"&gt;Slides&lt;/a&gt;
&lt;br&gt;
&lt;a href="http://www.snowball.be/data/Presentations/GeekNight2011/WebMatrixDemosGeekNight2011GillCleeren.zip"&gt;Demos&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=09998493-b44e-4c47-9459-db86402372ac" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,09998493-b44e-4c47-9459-db86402372ac.aspx</comments>
      <category>Events</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=c6efe970-e6d7-44e8-a816-21d68389ef99</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,c6efe970-e6d7-44e8-a816-21d68389ef99.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,c6efe970-e6d7-44e8-a816-21d68389ef99.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=c6efe970-e6d7-44e8-a816-21d68389ef99</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
And here are the slides and demos of my jQuery talk at DevDays Netherlands 2011.
</p>
        <p>
          <a href="http://cid-bd64f22e01fad982.office.live.com/self.aspx/Public/jQuery%20Slides%20Devdays%202011.zip">Slides</a>
          <br />
          <a href="http://cid-bd64f22e01fad982.office.live.com/self.aspx/Public/jQuery%20Demos%20Devdays%202011.zip">Demos</a>
        </p>
        <p>
I hope you enjoyed the talk!
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=c6efe970-e6d7-44e8-a816-21d68389ef99" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Slides and demos from my jQuery talk at DevDays Netherlands 2011</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,c6efe970-e6d7-44e8-a816-21d68389ef99.aspx</guid>
      <link>http://www.snowball.be/2011/04/28/Slides+And+Demos+From+My+JQuery+Talk+At+DevDays+Netherlands+2011.aspx</link>
      <pubDate>Thu, 28 Apr 2011 14:03:25 GMT</pubDate>
      <description>&lt;p&gt;
And here are the slides and demos of my jQuery talk at DevDays Netherlands 2011.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://cid-bd64f22e01fad982.office.live.com/self.aspx/Public/jQuery%20Slides%20Devdays%202011.zip"&gt;Slides&lt;/a&gt;
&lt;br&gt;
&lt;a href="http://cid-bd64f22e01fad982.office.live.com/self.aspx/Public/jQuery%20Demos%20Devdays%202011.zip"&gt;Demos&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
I hope you enjoyed the talk!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=c6efe970-e6d7-44e8-a816-21d68389ef99" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,c6efe970-e6d7-44e8-a816-21d68389ef99.aspx</comments>
      <category>Events</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=03f47527-f275-4a88-91e4-450d44031203</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,03f47527-f275-4a88-91e4-450d44031203.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,03f47527-f275-4a88-91e4-450d44031203.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=03f47527-f275-4a88-91e4-450d44031203</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
As promised, here are the slides and demos of my LightSwitch presentation at TechDays
11 Belgium. Thanks for attending (it was a full room of about 500 people!!)
</p>
        <p>
          <a href="http://cid-bd64f22e01fad982.office.live.com/self.aspx/Public/LightSwitch%20-%20Gill%20Cleeren%20-%20Web.pptx">Slides</a>
          <br />
          <a href="http://cid-bd64f22e01fad982.office.live.com/self.aspx/Public/LightSwitch%20demos.zip">Demos</a>
        </p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=03f47527-f275-4a88-91e4-450d44031203" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Slides and demos of my TechDays 11 Belgium LightSwitch talk</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,03f47527-f275-4a88-91e4-450d44031203.aspx</guid>
      <link>http://www.snowball.be/2011/04/26/Slides+And+Demos+Of+My+TechDays+11+Belgium+LightSwitch+Talk.aspx</link>
      <pubDate>Tue, 26 Apr 2011 21:09:37 GMT</pubDate>
      <description>&lt;p&gt;
As promised, here are the slides and demos of my LightSwitch presentation at TechDays
11 Belgium. Thanks for attending (it was a full room of about 500 people!!)
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://cid-bd64f22e01fad982.office.live.com/self.aspx/Public/LightSwitch%20-%20Gill%20Cleeren%20-%20Web.pptx"&gt;Slides&lt;/a&gt;
&lt;br&gt;
&lt;a href="http://cid-bd64f22e01fad982.office.live.com/self.aspx/Public/LightSwitch%20demos.zip"&gt;Demos&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=03f47527-f275-4a88-91e4-450d44031203" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,03f47527-f275-4a88-91e4-450d44031203.aspx</comments>
      <category>LightSwitch</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=9bc1aa94-39f0-4248-b700-e9a6a7636d2e</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,9bc1aa94-39f0-4248-b700-e9a6a7636d2e.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,9bc1aa94-39f0-4248-b700-e9a6a7636d2e.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=9bc1aa94-39f0-4248-b700-e9a6a7636d2e</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
With the great weather we’re having, it’s even more obvious that summer is approaching.
And we all know what that means, don’t we?
</p>
        <p>
Indeed, <strong>Community Day 2011 is coming closer!</strong> This <strong>fifth edition</strong> will
be the biggest one we ever did, with more sessions, the best food, great networking
opportunities and the best speakers the Belgian (and who knows…) has to offer.
</p>
        <p>
We’ve had a tremendous response from sponsors already and we’re proud to announce
the following companies as our sponsors for this year’s edition:
</p>
        <p>
          <img alt="" src="http://www.communityday.be/cd/Portals/0/smalllogos/avepoint.png" /> <img alt="" src="http://www.communityday.be/cd/Portals/0/smalllogos/adamlogo.png" /> <img alt="" src="http://www.communityday.be/cd/Portals/0/smalllogos/cap.png" /> <img alt="" src="http://www.communityday.be/cd/Portals/0/smalllogos/combell.png" /> <img alt="" src="http://www.communityday.be/cd/Portals/0/smalllogos/devoteam.png" /> <img alt="" src="http://www.communityday.be/cd/Portals/0/smalllogos/hp.jpg" /> <img alt="" src="http://www.communityday.be/cd/Portals/0/smalllogos/ictinus.png" /></p>
        <p>
          <img alt="" src="http://www.communityday.be/cd/Portals/0/smalllogos/microsoft.png" /> <img alt="" src="http://www.communityday.be/cd/Portals/0/smalllogos/nrb.jpg" /> <img alt="" src="http://www.communityday.be/cd/Portals/0/smalllogos/ordina.jpg" /> <img alt="" src="http://www.communityday.be/cd/Portals/0/smalllogos/realdolmen.jpg" /> <img alt="" src="http://www.communityday.be/cd/Portals/0/smalllogos/sdworx.jpg" /> <img alt="" src="http://www.communityday.be/cd/Portals/0/smalllogos/sogeti.jpg" /> <img alt="" src="http://www.communityday.be/cd/Portals/0/smalllogos/telerik.png" /></p>
        <p>
Of course, Community Day 2011 is again a joint event of 13 Belgian user groups. The
following user groups are part of this year’s edition: 
</p>
        <li>
AZUG 
</li>
        <li>
BESUG 
</li>
        <li>
BIWUG 
</li>
        <li>
IT-Talks 
</li>
        <li>
Pro-Exchange 
</li>
        <li>
SCUG 
</li>
        <li>
SQLUG 
</li>
        <li>
ACCB.net/VBIB 
</li>
        <li>
Visug 
</li>
        <li>
WinSec 
</li>
        <li>
XNA-BUG 
</li>
        <li>
DotNetHub 
</li>
        <li>
MyTIC</li>
        <p>
We’re currently working hard on the agenda, which will be online in 2-3 weeks. At
that point, you’ll be able to register as well. Just like previous editions, Community
Day 2011 is still a <strong>free event.</strong></p>
        <p>
At this point, I suggest you add the event to your calendar by opening this <a href="http://www.communityday.be/cd/data/Community%20Day%202011.ics"><strong>*.ics
file</strong></a><strong>.</strong></p>
        <p>
To help spread the word about the event, use the following <strong>blog bling</strong>!
Thanks for helping!
</p>
        <p>
          <img alt="" src="http://www.communityday.be/CD/data/Community-Day-Blog-Bling.png" /> <img alt="" src="http://www.communityday.be/CD/data/blog-bling-speaker.png" /></p>
        <p>
          <img alt="" src="http://www.communityday.be/CD/data/blog-bling-attending.png" />
          <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=9bc1aa94-39f0-4248-b700-e9a6a7636d2e" />
          <br />
          <hr />
Snowball.be - The blog of Gill Cleeren 
</p>
      </body>
      <title>Community Day 2011 is coming closer, save the date!</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,9bc1aa94-39f0-4248-b700-e9a6a7636d2e.aspx</guid>
      <link>http://www.snowball.be/2011/04/21/Community+Day+2011+Is+Coming+Closer+Save+The+Date.aspx</link>
      <pubDate>Thu, 21 Apr 2011 10:54:43 GMT</pubDate>
      <description>&lt;p&gt;
With the great weather we’re having, it’s even more obvious that summer is approaching.
And we all know what that means, don’t we?
&lt;/p&gt;
&lt;p&gt;
Indeed, &lt;strong&gt;Community Day 2011 is coming closer!&lt;/strong&gt; This &lt;strong&gt;fifth edition&lt;/strong&gt; will
be the biggest one we ever did, with more sessions, the best food, great networking
opportunities and the best speakers the Belgian (and who knows…) has to offer.
&lt;/p&gt;
&lt;p&gt;
We’ve had a tremendous response from sponsors already and we’re proud to announce
the following companies as our sponsors for this year’s edition:
&lt;/p&gt;
&lt;p&gt;
&lt;img alt="" src="http://www.communityday.be/cd/Portals/0/smalllogos/avepoint.png"&gt;&amp;nbsp;&lt;img alt="" src="http://www.communityday.be/cd/Portals/0/smalllogos/adamlogo.png"&gt;&amp;nbsp;&lt;img alt="" src="http://www.communityday.be/cd/Portals/0/smalllogos/cap.png"&gt;&amp;nbsp;&lt;img alt="" src="http://www.communityday.be/cd/Portals/0/smalllogos/combell.png"&gt;&amp;nbsp;&lt;img alt="" src="http://www.communityday.be/cd/Portals/0/smalllogos/devoteam.png"&gt;&amp;nbsp;&lt;img alt="" src="http://www.communityday.be/cd/Portals/0/smalllogos/hp.jpg"&gt;&amp;nbsp;&lt;img alt="" src="http://www.communityday.be/cd/Portals/0/smalllogos/ictinus.png"&gt; 
&lt;p&gt;
&lt;img alt="" src="http://www.communityday.be/cd/Portals/0/smalllogos/microsoft.png"&gt;&amp;nbsp;&lt;img alt="" src="http://www.communityday.be/cd/Portals/0/smalllogos/nrb.jpg"&gt;&amp;nbsp;&lt;img alt="" src="http://www.communityday.be/cd/Portals/0/smalllogos/ordina.jpg"&gt;&amp;nbsp;&lt;img alt="" src="http://www.communityday.be/cd/Portals/0/smalllogos/realdolmen.jpg"&gt;&amp;nbsp;&lt;img alt="" src="http://www.communityday.be/cd/Portals/0/smalllogos/sdworx.jpg"&gt;&amp;nbsp;&lt;img alt="" src="http://www.communityday.be/cd/Portals/0/smalllogos/sogeti.jpg"&gt;&amp;nbsp;&lt;img alt="" src="http://www.communityday.be/cd/Portals/0/smalllogos/telerik.png"&gt; 
&lt;p&gt;
Of course, Community Day 2011 is again a joint event of 13 Belgian user groups. The
following user groups are part of this year’s edition: 
&lt;li&gt;
AZUG 
&lt;li&gt;
BESUG 
&lt;li&gt;
BIWUG 
&lt;li&gt;
IT-Talks 
&lt;li&gt;
Pro-Exchange 
&lt;li&gt;
SCUG 
&lt;li&gt;
SQLUG 
&lt;li&gt;
ACCB.net/VBIB 
&lt;li&gt;
Visug 
&lt;li&gt;
WinSec 
&lt;li&gt;
XNA-BUG 
&lt;li&gt;
DotNetHub 
&lt;li&gt;
MyTIC&lt;/li&gt;
&lt;p&gt;
We’re currently working hard on the agenda, which will be online in 2-3 weeks. At
that point, you’ll be able to register as well. Just like previous editions, Community
Day 2011 is still a &lt;strong&gt;free event.&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
At this point, I suggest you add the event to your calendar by opening this &lt;a href="http://www.communityday.be/cd/data/Community%20Day%202011.ics"&gt;&lt;strong&gt;*.ics
file&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;.&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
To help spread the word about the event, use the following &lt;strong&gt;blog bling&lt;/strong&gt;!
Thanks for helping!
&lt;/p&gt;
&lt;p&gt;
&lt;img alt="" src="http://www.communityday.be/CD/data/Community-Day-Blog-Bling.png"&gt;&amp;nbsp;&lt;img alt="" src="http://www.communityday.be/CD/data/blog-bling-speaker.png"&gt; 
&lt;p&gt;
&lt;img alt="" src="http://www.communityday.be/CD/data/blog-bling-attending.png"&gt;&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=9bc1aa94-39f0-4248-b700-e9a6a7636d2e" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,9bc1aa94-39f0-4248-b700-e9a6a7636d2e.aspx</comments>
      <category>Community Day</category>
      <category>Events</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=cc7d935f-5826-44f9-aec5-19b29df2dfb4</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,cc7d935f-5826-44f9-aec5-19b29df2dfb4.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,cc7d935f-5826-44f9-aec5-19b29df2dfb4.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=cc7d935f-5826-44f9-aec5-19b29df2dfb4</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
As part of the Telerik Insider program, I’ll be touring in the UK this summer. More
specifically, I’ll be speaking in Oxford, Hereford, Cambridge and Coventry. On each
event, attendees can win a full Telerik license!
</p>
        <p>
You can register here for the events:
</p>
        <ul>
          <li>
Hereford (July 4th 2011)<br /><a title="http://www.nxtgenug.net/ViewEvent.aspx?EventID=404" href="http://www.nxtgenug.net/ViewEvent.aspx?EventID=404">http://www.nxtgenug.net/ViewEvent.aspx?EventID=404</a></li>
          <li>
Oxford (July 5th 2011)<br /><a title="http://www.nxtgenug.net/ViewEvent.aspx?EventID=405" href="http://www.nxtgenug.net/ViewEvent.aspx?EventID=405">http://www.nxtgenug.net/ViewEvent.aspx?EventID=405</a></li>
          <li>
Coventry (July 6th 2011)<br /><a title="http://www.nxtgenug.net/ViewEvent.aspx?EventID=406" href="http://www.nxtgenug.net/ViewEvent.aspx?EventID=406">http://www.nxtgenug.net/ViewEvent.aspx?EventID=406</a></li>
          <li>
Cambridge (July 7th 2011)<br /><a title="http://www.nxtgenug.net/ViewEvent.aspx?EventID=407" href="http://www.nxtgenug.net/ViewEvent.aspx?EventID=407">http://www.nxtgenug.net/ViewEvent.aspx?EventID=407</a></li>
        </ul>
        <p>
I hope to see a lot of you in the UK! (and while you’re at it, reserve me some nice
weather!)
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=cc7d935f-5826-44f9-aec5-19b29df2dfb4" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Telerik UK Tour</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,cc7d935f-5826-44f9-aec5-19b29df2dfb4.aspx</guid>
      <link>http://www.snowball.be/2011/04/18/Telerik+UK+Tour.aspx</link>
      <pubDate>Mon, 18 Apr 2011 12:21:52 GMT</pubDate>
      <description>&lt;p&gt;
As part of the Telerik Insider program, I’ll be touring in the UK this summer. More
specifically, I’ll be speaking in Oxford, Hereford, Cambridge and Coventry. On each
event, attendees can win a full Telerik license!
&lt;/p&gt;
&lt;p&gt;
You can register here for the events:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Hereford (July 4th 2011)&lt;br&gt;
&lt;a title="http://www.nxtgenug.net/ViewEvent.aspx?EventID=404" href="http://www.nxtgenug.net/ViewEvent.aspx?EventID=404"&gt;http://www.nxtgenug.net/ViewEvent.aspx?EventID=404&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
Oxford (July 5th 2011)&lt;br&gt;
&lt;a title="http://www.nxtgenug.net/ViewEvent.aspx?EventID=405" href="http://www.nxtgenug.net/ViewEvent.aspx?EventID=405"&gt;http://www.nxtgenug.net/ViewEvent.aspx?EventID=405&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
Coventry (July 6th 2011)&lt;br&gt;
&lt;a title="http://www.nxtgenug.net/ViewEvent.aspx?EventID=406" href="http://www.nxtgenug.net/ViewEvent.aspx?EventID=406"&gt;http://www.nxtgenug.net/ViewEvent.aspx?EventID=406&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
Cambridge (July 7th 2011)&lt;br&gt;
&lt;a title="http://www.nxtgenug.net/ViewEvent.aspx?EventID=407" href="http://www.nxtgenug.net/ViewEvent.aspx?EventID=407"&gt;http://www.nxtgenug.net/ViewEvent.aspx?EventID=407&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
I hope to see a lot of you in the UK! (and while you’re at it, reserve me some nice
weather!)
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=cc7d935f-5826-44f9-aec5-19b29df2dfb4" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,cc7d935f-5826-44f9-aec5-19b29df2dfb4.aspx</comments>
      <category>Events</category>
      <category>telerik</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=68491607-20be-4659-a1d4-42641cf2abb3</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,68491607-20be-4659-a1d4-42641cf2abb3.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,68491607-20be-4659-a1d4-42641cf2abb3.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=68491607-20be-4659-a1d4-42641cf2abb3</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
About 2 weeks ago, the Telerik insider program has been made official (I only found
time to blog about it since we bought a house in that week, causing a lot of extra
stress and work :) ). I’m very happy that the word on the program is now official
AND that I was one of the first to be part of this fantastic initiative. 
</p>
        <p>
          <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TheTelerikinsiderprogramisofficialandImi_C8B4/Telerik_Insiders_180x87_2.jpg">
            <img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="Telerik_Insiders_180x87" border="0" alt="Telerik_Insiders_180x87" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TheTelerikinsiderprogramisofficialandImi_C8B4/Telerik_Insiders_180x87_thumb.jpg" width="184" height="91" />
          </a>
        </p>
        <p>
Let me start by explaining what the program is all about: The Insiders Program, a
speaker’s bureau for the community run by Telerik, is comprised of 14 (thus far) passionate
and influential speakers conducting a variety of sessions at community events and
user groups. Check out their <a href="http://www.telerik.com/community/insiders.aspx">profiles
and abstracts here </a>and our <a href="http://www.telerik.com/community/insiders/insiders-faq.aspx">FAQ </a>page
for detailed information. The full explanation can be found here: <a title="http://blogs.telerik.com/blogs/posts/11-04-04/telerik_insiders_are_out.aspx" href="http://blogs.telerik.com/blogs/posts/11-04-04/telerik_insiders_are_out.aspx">http://blogs.telerik.com/blogs/posts/11-04-04/telerik_insiders_are_out.aspx</a> . 
</p>
        <p>
The official press release can be found here: <a href="http://www.businesswire.com/news/home/20110404006464/en/Telerik-Emphasizes-Commitment-Developer-Community-Globally-Expanded">Telerik
Emphasizes Commitment to Developer Community with Globally Expanded Insiders Program.</a> Some
interesting quotes:<br /><em><br />
The Telerik Insiders Program delivers added value by providing entrée to influential
speakers willing to share their .NET </em><em>knowledge, insight, and expertise,”
said Svetozar Georgiev, CEO of Telerik.</em> 
</p>
        <p>
          <em>“I cannot express enough how much of a benefactor Telerik has been to our community
throughout the last several years. They support user groups and community events by
providing much-needed resources and help, but also go that extra step by providing
top-notch, quality speakers who are passionate about training and knowledge-sharing,”
says Pensacola User Group leader, Karla Landrum.</em>
        </p>
        <p>
          <em>“User groups and regional events are really the heart of the developer community
– they provide unique opportunities for peer-to-peer engagement, and facilitate sharing
of real-world development best practices,” said Emily Parker, Community Program Manager
at Telerik.</em>
        </p>
        <p>
I was “enrolled” in the program December 2009 and have done quite a few speaker engagements
since then. I went to VBUG UK, visited user groups all over Sweden and the Netherlands…
This year, I’ll be visiting the UK (5 user groups) and Ireland (5 user groups) in
the coming months.
</p>
        <p>
          <strong>What’s in it for you</strong>
        </p>
        <p>
The good news is that you can benefit from this program as well. If you have a <strong>user
group </strong>(just about anywhere), you can contact us (<a title="insidersprogram@telerik.com" href="mailto:insidersprogram@telerik.com">insidersprogram@telerik.com</a>)
to have a Telerik Insider at your next event. <strong>All for free. </strong>Just
send a mail and we can discuss things.
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=68491607-20be-4659-a1d4-42641cf2abb3" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>The Telerik insider program is official (and I’m in it)</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,68491607-20be-4659-a1d4-42641cf2abb3.aspx</guid>
      <link>http://www.snowball.be/2011/04/18/The+Telerik+Insider+Program+Is+Official+And+Im+In+It.aspx</link>
      <pubDate>Mon, 18 Apr 2011 12:16:21 GMT</pubDate>
      <description>&lt;p&gt;
About 2 weeks ago, the Telerik insider program has been made official (I only found
time to blog about it since we bought a house in that week, causing a lot of extra
stress and work :) ). I’m very happy that the word on the program is now official
AND that I was one of the first to be part of this fantastic initiative. 
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TheTelerikinsiderprogramisofficialandImi_C8B4/Telerik_Insiders_180x87_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="Telerik_Insiders_180x87" border="0" alt="Telerik_Insiders_180x87" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TheTelerikinsiderprogramisofficialandImi_C8B4/Telerik_Insiders_180x87_thumb.jpg" width="184" height="91"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Let me start by explaining what the program is all about: The Insiders Program, a
speaker’s bureau for the community run by Telerik, is comprised of 14 (thus far) passionate
and influential speakers conducting a variety of sessions at community events and
user groups. Check out their &lt;a href="http://www.telerik.com/community/insiders.aspx"&gt;profiles
and abstracts here &lt;/a&gt;and our &lt;a href="http://www.telerik.com/community/insiders/insiders-faq.aspx"&gt;FAQ &lt;/a&gt;page
for detailed information. The full explanation can be found here: &lt;a title="http://blogs.telerik.com/blogs/posts/11-04-04/telerik_insiders_are_out.aspx" href="http://blogs.telerik.com/blogs/posts/11-04-04/telerik_insiders_are_out.aspx"&gt;http://blogs.telerik.com/blogs/posts/11-04-04/telerik_insiders_are_out.aspx&lt;/a&gt; . 
&lt;/p&gt;
&lt;p&gt;
The official press release can be found here: &lt;a href="http://www.businesswire.com/news/home/20110404006464/en/Telerik-Emphasizes-Commitment-Developer-Community-Globally-Expanded"&gt;Telerik
Emphasizes Commitment to Developer Community with Globally Expanded Insiders Program.&lt;/a&gt; Some
interesting quotes:&lt;br&gt;
&lt;em&gt;
&lt;br&gt;
The Telerik Insiders Program delivers added value by providing entrée to influential
speakers willing to share their .NET &lt;/em&gt;&lt;em&gt;knowledge, insight, and expertise,”
said Svetozar Georgiev, CEO of Telerik.&lt;/em&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;“I cannot express enough how much of a benefactor Telerik has been to our community
throughout the last several years. They support user groups and community events by
providing much-needed resources and help, but also go that extra step by providing
top-notch, quality speakers who are passionate about training and knowledge-sharing,”
says Pensacola User Group leader, Karla Landrum.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;“User groups and regional events are really the heart of the developer community
– they provide unique opportunities for peer-to-peer engagement, and facilitate sharing
of real-world development best practices,” said Emily Parker, Community Program Manager
at Telerik.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
I was “enrolled” in the program December 2009 and have done quite a few speaker engagements
since then. I went to VBUG UK, visited user groups all over Sweden and the Netherlands…
This year, I’ll be visiting the UK (5 user groups) and Ireland (5 user groups) in
the coming months.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;What’s in it for you&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
The good news is that you can benefit from this program as well. If you have a &lt;strong&gt;user
group &lt;/strong&gt;(just about anywhere), you can contact us (&lt;a title="insidersprogram@telerik.com" href="mailto:insidersprogram@telerik.com"&gt;insidersprogram@telerik.com&lt;/a&gt;)
to have a Telerik Insider at your next event. &lt;strong&gt;All for free. &lt;/strong&gt;Just
send a mail and we can discuss things.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=68491607-20be-4659-a1d4-42641cf2abb3" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,68491607-20be-4659-a1d4-42641cf2abb3.aspx</comments>
      <category>Events</category>
      <category>telerik</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=5460eece-d251-45e6-a8ea-ead63df8f6fd</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,5460eece-d251-45e6-a8ea-ead63df8f6fd.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,5460eece-d251-45e6-a8ea-ead63df8f6fd.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=5460eece-d251-45e6-a8ea-ead63df8f6fd</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
This Wednesday, April 20th, I’ll be doing a webinar on LightSwitch on SilverlightShow!
</p>
        <p>
          <em>LightSwitch is a new part of the Visual Studio family and makes it possible to
more easily create professional-quality business applications for the desktop, the
web, and the cloud. <strong>The big question of course: Is LightSwitch something for
you?</strong></em>
        </p>
        <p>
          <em>In this webinar, you’ll get the answer! </em>
          <a href="http://www.snowball.be/">
            <em>Silverlight
MVP Gill Cleeren</em>
          </a>
          <em> will show how you can <strong>build professional LOB
applications quickly using LightSwitch</strong>. We will cover <strong>why you should
look at LightSwitch, binding to data, and building out the user interface</strong>.
LightSwitch is however more than just some predefined screens: developers will love
it for its <strong>extensibility</strong>, which we’ll cover deeply.</em>
        </p>
        <p>
As always, the webinar is free but registration is required. You can register here: <a title="http://www.silverlightshow.net/news/Upcoming-SilverlightShow-Webinar-Building-LOB-Applications-with-LightSwitch.aspx" href="http://www.silverlightshow.net/news/Upcoming-SilverlightShow-Webinar-Building-LOB-Applications-with-LightSwitch.aspx">http://www.silverlightshow.net/news/Upcoming-SilverlightShow-Webinar-Building-LOB-Applications-with-LightSwitch.aspx</a></p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=5460eece-d251-45e6-a8ea-ead63df8f6fd" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Visual Studio LightSwitch webinar this week!</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,5460eece-d251-45e6-a8ea-ead63df8f6fd.aspx</guid>
      <link>http://www.snowball.be/2011/04/18/Visual+Studio+LightSwitch+Webinar+This+Week.aspx</link>
      <pubDate>Mon, 18 Apr 2011 07:26:51 GMT</pubDate>
      <description>&lt;p&gt;
This Wednesday, April 20th, I’ll be doing a webinar on LightSwitch on SilverlightShow!
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;LightSwitch is a new part of the Visual Studio family and makes it possible to
more easily create professional-quality business applications for the desktop, the
web, and the cloud. &lt;strong&gt;The big question of course: Is LightSwitch something for
you?&lt;/strong&gt;&lt;/em&gt; 
&lt;p&gt;
&lt;em&gt;In this webinar, you’ll get the answer! &lt;/em&gt;&lt;a href="http://www.snowball.be/"&gt;&lt;em&gt;Silverlight
MVP Gill Cleeren&lt;/em&gt;&lt;/a&gt;&lt;em&gt; will show how you can &lt;strong&gt;build professional LOB
applications quickly using LightSwitch&lt;/strong&gt;. We will cover &lt;strong&gt;why you should
look at LightSwitch, binding to data, and building out the user interface&lt;/strong&gt;.
LightSwitch is however more than just some predefined screens: developers will love
it for its &lt;strong&gt;extensibility&lt;/strong&gt;, which we’ll cover deeply.&lt;/em&gt; 
&lt;p&gt;
As always, the webinar is free but registration is required. You can register here: &lt;a title="http://www.silverlightshow.net/news/Upcoming-SilverlightShow-Webinar-Building-LOB-Applications-with-LightSwitch.aspx" href="http://www.silverlightshow.net/news/Upcoming-SilverlightShow-Webinar-Building-LOB-Applications-with-LightSwitch.aspx"&gt;http://www.silverlightshow.net/news/Upcoming-SilverlightShow-Webinar-Building-LOB-Applications-with-LightSwitch.aspx&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=5460eece-d251-45e6-a8ea-ead63df8f6fd" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,5460eece-d251-45e6-a8ea-ead63df8f6fd.aspx</comments>
      <category>Events</category>
      <category>LightSwitch</category>
      <category>Silverlight</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=1921187c-0b3c-43ec-aa11-14caa7a0a461</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,1921187c-0b3c-43ec-aa11-14caa7a0a461.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,1921187c-0b3c-43ec-aa11-14caa7a0a461.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=1921187c-0b3c-43ec-aa11-14caa7a0a461</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
At TechDays Sweden, I was able to give away a Telerik license during my talk. The
lucky winner gets a full Telerik Ultimate license, worth $1.995! All thanks to the
people at Telerik.
</p>
        <p>
And the winner is… <a href="http://www.peterf.se/">Peter Forss</a>! Congratulations!!
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=1921187c-0b3c-43ec-aa11-14caa7a0a461" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Winner of Telerik license from Techdays Sweden</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,1921187c-0b3c-43ec-aa11-14caa7a0a461.aspx</guid>
      <link>http://www.snowball.be/2011/04/01/Winner+Of+Telerik+License+From+Techdays+Sweden.aspx</link>
      <pubDate>Fri, 01 Apr 2011 21:53:13 GMT</pubDate>
      <description>&lt;p&gt;
At TechDays Sweden, I was able to give away a Telerik license during my talk. The
lucky winner gets a full Telerik Ultimate license, worth $1.995! All thanks to the
people at Telerik.
&lt;/p&gt;
&lt;p&gt;
And the winner is… &lt;a href="http://www.peterf.se/"&gt;Peter Forss&lt;/a&gt;! Congratulations!!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=1921187c-0b3c-43ec-aa11-14caa7a0a461" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,1921187c-0b3c-43ec-aa11-14caa7a0a461.aspx</comments>
      <category>TechDays</category>
      <category>telerik</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=e3a0d1e0-6d2a-467b-a475-86152f5134b4</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,e3a0d1e0-6d2a-467b-a475-86152f5134b4.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,e3a0d1e0-6d2a-467b-a475-86152f5134b4.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=e3a0d1e0-6d2a-467b-a475-86152f5134b4</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
And as promised, here are the slides and demos for the Windows Phone 7 presentation.
</p>
        <p>
Slides: <a href="http://cid-bd64f22e01fad982.office.live.com/view.aspx/Public/Building%20a%20Windows%20Phone%207%20app%20from%20start%20with%20template.pptx">http://cid-bd64f22e01fad982.office.live.com/view.aspx/Public/Building%20a%20Windows%20Phone%207%20app%20from%20start%20with%20template.pptx</a><br />
Demos: <a href="http://cid-bd64f22e01fad982.office.live.com/self.aspx/Public/WP7%20End%20to%20end.zip">http://cid-bd64f22e01fad982.office.live.com/self.aspx/Public/WP7%20End%20to%20end.zip</a></p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=e3a0d1e0-6d2a-467b-a475-86152f5134b4" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Slides and demos from my Windows Phone 7 session at TechDays Sweden</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,e3a0d1e0-6d2a-467b-a475-86152f5134b4.aspx</guid>
      <link>http://www.snowball.be/2011/03/29/Slides+And+Demos+From+My+Windows+Phone+7+Session+At+TechDays+Sweden.aspx</link>
      <pubDate>Tue, 29 Mar 2011 21:42:31 GMT</pubDate>
      <description>&lt;p&gt;
And as promised, here are the slides and demos for the Windows Phone 7 presentation.
&lt;/p&gt;
&lt;p&gt;
Slides: &lt;a href="http://cid-bd64f22e01fad982.office.live.com/view.aspx/Public/Building%20a%20Windows%20Phone%207%20app%20from%20start%20with%20template.pptx"&gt;http://cid-bd64f22e01fad982.office.live.com/view.aspx/Public/Building%20a%20Windows%20Phone%207%20app%20from%20start%20with%20template.pptx&lt;/a&gt;
&lt;br&gt;
Demos: &lt;a href="http://cid-bd64f22e01fad982.office.live.com/self.aspx/Public/WP7%20End%20to%20end.zip"&gt;http://cid-bd64f22e01fad982.office.live.com/self.aspx/Public/WP7%20End%20to%20end.zip&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=e3a0d1e0-6d2a-467b-a475-86152f5134b4" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,e3a0d1e0-6d2a-467b-a475-86152f5134b4.aspx</comments>
      <category>Events</category>
      <category>TechDays</category>
      <category>Windows Phone 7</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=a237c31d-68fc-4a2c-8490-8cc12f02e4bb</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,a237c31d-68fc-4a2c-8490-8cc12f02e4bb.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,a237c31d-68fc-4a2c-8490-8cc12f02e4bb.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=a237c31d-68fc-4a2c-8490-8cc12f02e4bb</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I just finished my first talk at TechDays Sweden 2011 on jQuery. As promised, you
can find the slides and demos here.
</p>
        <p>
I hope you enjoyed the session (sadly not everyone could get in the room) although
it was extremely hot in the room. If you have any comments/questions, please send
them to me.
</p>
        <p>
Slides: <a href="http://cid-bd64f22e01fad982.office.live.com/view.aspx/Public/jQuery.pptx">http://cid-bd64f22e01fad982.office.live.com/view.aspx/Public/jQuery.pptx</a><br />
Demos: <a href="http://cid-bd64f22e01fad982.office.live.com/self.aspx/Public/jQueryDemos.zip">http://cid-bd64f22e01fad982.office.live.com/self.aspx/Public/jQueryDemos.zip</a> 
</p>
        <p>
Enjoy!
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=a237c31d-68fc-4a2c-8490-8cc12f02e4bb" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Slides and demos from my jQuery talk at TechDays Sweden</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,a237c31d-68fc-4a2c-8490-8cc12f02e4bb.aspx</guid>
      <link>http://www.snowball.be/2011/03/29/Slides+And+Demos+From+My+JQuery+Talk+At+TechDays+Sweden.aspx</link>
      <pubDate>Tue, 29 Mar 2011 14:49:22 GMT</pubDate>
      <description>&lt;p&gt;
I just finished my first talk at TechDays Sweden 2011 on jQuery. As promised, you
can find the slides and demos here.
&lt;/p&gt;
&lt;p&gt;
I hope you enjoyed the session (sadly not everyone could get in the room) although
it was extremely hot in the room. If you have any comments/questions, please send
them to me.
&lt;/p&gt;
&lt;p&gt;
Slides: &lt;a href="http://cid-bd64f22e01fad982.office.live.com/view.aspx/Public/jQuery.pptx"&gt;http://cid-bd64f22e01fad982.office.live.com/view.aspx/Public/jQuery.pptx&lt;/a&gt;
&lt;br&gt;
Demos: &lt;a href="http://cid-bd64f22e01fad982.office.live.com/self.aspx/Public/jQueryDemos.zip"&gt;http://cid-bd64f22e01fad982.office.live.com/self.aspx/Public/jQueryDemos.zip&lt;/a&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
Enjoy!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=a237c31d-68fc-4a2c-8490-8cc12f02e4bb" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,a237c31d-68fc-4a2c-8490-8cc12f02e4bb.aspx</comments>
      <category>ASP.net</category>
      <category>ASP.net AJAX</category>
      <category>Events</category>
      <category>Speaking</category>
      <category>TechDays</category>
      <category>jQuery</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=48a72812-c6d9-4945-b79b-c6d067bd2148</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,48a72812-c6d9-4945-b79b-c6d067bd2148.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,48a72812-c6d9-4945-b79b-c6d067bd2148.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=48a72812-c6d9-4945-b79b-c6d067bd2148</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
News update for all UK .NET/Silverlight/Windows Phone 7 developers: I'll be touring
the UK in the summer, giving quite a few sessions. This new tour is again sponsored
by Telerik, meaning that attendees can win licenses of Telerik!
</p>
        <p>
The following cities are currently on my schedule:
</p>
        <p>
Hereford - 4th July<br /><a href="http://www.nxtgenug.net/ViewEvent.aspx?EventID=404">http://www.nxtgenug.net/ViewEvent.aspx?EventID=404</a><br />
 <br />
Oxford - 5th July<br /><a href="http://www.nxtgenug.net/ViewEvent.aspx?EventID=405">http://www.nxtgenug.net/ViewEvent.aspx?EventID=405</a><br />
 <br />
Coventry - 6th July<br /><a href="http://www.nxtgenug.net/ViewEvent.aspx?EventID=406">http://www.nxtgenug.net/ViewEvent.aspx?EventID=406</a><br />
 <br />
Cambridge - 7th July<br /><a href="http://www.nxtgenug.net/ViewEvent.aspx?EventID=407">http://www.nxtgenug.net/ViewEvent.aspx?EventID=407</a><br />
 <br />
The exact content will be announced soon. Hope to meet many of you at one of these
events!
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=48a72812-c6d9-4945-b79b-c6d067bd2148" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Upcoming UK Telerik Tour</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,48a72812-c6d9-4945-b79b-c6d067bd2148.aspx</guid>
      <link>http://www.snowball.be/2011/03/29/Upcoming+UK+Telerik+Tour.aspx</link>
      <pubDate>Tue, 29 Mar 2011 11:15:20 GMT</pubDate>
      <description>&lt;p&gt;
News update for all UK .NET/Silverlight/Windows Phone 7 developers: I'll be touring
the UK in the summer, giving quite a few sessions. This new tour is again sponsored
by Telerik, meaning that attendees can win licenses of Telerik!
&lt;/p&gt;
&lt;p&gt;
The following cities are currently on my schedule:
&lt;/p&gt;
&lt;p&gt;
Hereford - 4th July&lt;br&gt;
&lt;a href="http://www.nxtgenug.net/ViewEvent.aspx?EventID=404"&gt;http://www.nxtgenug.net/ViewEvent.aspx?EventID=404&lt;/a&gt;
&lt;br&gt;
&amp;nbsp;&lt;br&gt;
Oxford - 5th July&lt;br&gt;
&lt;a href="http://www.nxtgenug.net/ViewEvent.aspx?EventID=405"&gt;http://www.nxtgenug.net/ViewEvent.aspx?EventID=405&lt;/a&gt;
&lt;br&gt;
&amp;nbsp;&lt;br&gt;
Coventry - 6th July&lt;br&gt;
&lt;a href="http://www.nxtgenug.net/ViewEvent.aspx?EventID=406"&gt;http://www.nxtgenug.net/ViewEvent.aspx?EventID=406&lt;/a&gt;
&lt;br&gt;
&amp;nbsp;&lt;br&gt;
Cambridge - 7th July&lt;br&gt;
&lt;a href="http://www.nxtgenug.net/ViewEvent.aspx?EventID=407"&gt;http://www.nxtgenug.net/ViewEvent.aspx?EventID=407&lt;/a&gt;
&lt;br&gt;
&amp;nbsp;&lt;br&gt;
The exact content will be announced soon. Hope to meet many of you at one of these
events!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=48a72812-c6d9-4945-b79b-c6d067bd2148" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,48a72812-c6d9-4945-b79b-c6d067bd2148.aspx</comments>
      <category>Events</category>
      <category>Telerik</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=8a249e53-9d45-4a9f-9d80-816e61c0d861</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,8a249e53-9d45-4a9f-9d80-816e61c0d861.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,8a249e53-9d45-4a9f-9d80-816e61c0d861.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=8a249e53-9d45-4a9f-9d80-816e61c0d861</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Have you been willing to start WP7 development but haven't had the time? Well, maybe
this will make you creating some spare time!
</p>
        <p>
Microsoft just took the wraps of a new challenge for WP7 development called WP7 Challenge.
More can be found on it via <a href="http://wp7challenge.com/">http://wp7challenge.com/</a>. 
</p>
        <p>
Basically, it's a contest in which you build an app and if it's selected as the winner,
you as the developer can go to WPC 2011 for free. Not a bad deal just to build a Windows
Phone application :) All apps should be entered before June 6th 2011.
</p>
        <p>
May the best app win!
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=8a249e53-9d45-4a9f-9d80-816e61c0d861" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>A great way to start WP7 development</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,8a249e53-9d45-4a9f-9d80-816e61c0d861.aspx</guid>
      <link>http://www.snowball.be/2011/03/29/A+Great+Way+To+Start+WP7+Development.aspx</link>
      <pubDate>Tue, 29 Mar 2011 11:12:09 GMT</pubDate>
      <description>&lt;p&gt;
Have you been willing to start WP7 development but haven't had the time? Well, maybe
this will make you creating some spare time!
&lt;/p&gt;
&lt;p&gt;
Microsoft just took the wraps of a new challenge for WP7 development called WP7 Challenge.
More can be found on it via &lt;a href="http://wp7challenge.com/"&gt;http://wp7challenge.com/&lt;/a&gt;. 
&lt;/p&gt;
&lt;p&gt;
Basically, it's a contest in which you build an app and if it's selected as the winner,
you as the developer can go to WPC 2011 for free. Not a bad deal just to build a Windows
Phone application :) All apps should be entered before June 6th 2011.
&lt;/p&gt;
&lt;p&gt;
May the best app win!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=8a249e53-9d45-4a9f-9d80-816e61c0d861" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,8a249e53-9d45-4a9f-9d80-816e61c0d861.aspx</comments>
      <category>Windows Phone 7</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=4aa1017f-a8c9-4fa3-a652-c348a5992fa8</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,4aa1017f-a8c9-4fa3-a652-c348a5992fa8.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,4aa1017f-a8c9-4fa3-a652-c348a5992fa8.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=4aa1017f-a8c9-4fa3-a652-c348a5992fa8</wfw:commentRss>
      <title>Learn more about Silverlight and Azure</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,4aa1017f-a8c9-4fa3-a652-c348a5992fa8.aspx</guid>
      <link>http://www.snowball.be/2011/03/29/Learn+More+About+Silverlight+And+Azure.aspx</link>
      <pubDate>Tue, 29 Mar 2011 11:05:26 GMT</pubDate>
      <description>&lt;p&gt;
Last week, I did a webinar where I showed quite a few scenarios on where Silverlight
and Windows Azure can be a very powerful combination. The webinar can be seen on-demand
for free via &lt;a href="http://www.silverlightshow.net/shows/Recording-of-webinar-Switching-on-the-Cloud-for-Silverlight-by-Gill-Cleeren.aspx"&gt;http://www.silverlightshow.net/shows/Recording-of-webinar-Switching-on-the-Cloud-for-Silverlight-by-Gill-Cleeren.aspx&lt;/a&gt;.
In this webinar, I covered the following items:
&lt;/p&gt;
&lt;p style="LINE-HEIGHT: 15pt; TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 10pt 73.5pt; BACKGROUND: white; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt" class=MsoNormal&gt;
&lt;span style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: #535353; FONT-SIZE: 10.5pt; mso-fareast-font-family: Arial; mso-fareast-language: NL-BE"&gt;&lt;span style="mso-list: Ignore"&gt;1.&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: #535353; FONT-SIZE: 10.5pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: NL-BE"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;Parts
of Windows Azure&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="LINE-HEIGHT: 15pt; TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 10pt 73.5pt; BACKGROUND: white; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt" class=MsoNormal&gt;
&lt;span style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: #535353; FONT-SIZE: 10.5pt; mso-fareast-font-family: Arial; mso-fareast-language: NL-BE; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;span style="mso-list: Ignore"&gt;2.&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: #535353; FONT-SIZE: 10.5pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: NL-BE; mso-ansi-language: EN-US" lang=EN-US&gt;Why
does a Silverlight developer need to care?&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="LINE-HEIGHT: 15pt; TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 10pt 73.5pt; BACKGROUND: white; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt" class=MsoNormal&gt;
&lt;span style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: #535353; FONT-SIZE: 10.5pt; mso-fareast-font-family: Arial; mso-fareast-language: NL-BE"&gt;&lt;span style="mso-list: Ignore"&gt;3.&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: #535353; FONT-SIZE: 10.5pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: NL-BE"&gt;Developing
for Windows Azure&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="LINE-HEIGHT: 15pt; TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 10pt 109.5pt; BACKGROUND: white; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level2 lfo1; tab-stops: list 72.0pt" class=MsoNormal&gt;
&lt;span style="FONT-FAMILY: 'Courier New'; COLOR: #535353; FONT-SIZE: 10pt; mso-fareast-font-family: 'Courier New'; mso-fareast-language: NL-BE; mso-bidi-font-size: 10.5pt"&gt;&lt;span style="mso-list: Ignore"&gt;o&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: #535353; FONT-SIZE: 10.5pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: NL-BE"&gt;Required
tools&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="LINE-HEIGHT: 15pt; TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 10pt 109.5pt; BACKGROUND: white; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level2 lfo1; tab-stops: list 72.0pt" class=MsoNormal&gt;
&lt;span style="FONT-FAMILY: 'Courier New'; COLOR: #535353; FONT-SIZE: 10pt; mso-fareast-font-family: 'Courier New'; mso-fareast-language: NL-BE; mso-bidi-font-size: 10.5pt"&gt;&lt;span style="mso-list: Ignore"&gt;o&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: #535353; FONT-SIZE: 10.5pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: NL-BE"&gt;Emulators
(“local cloud”)&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="LINE-HEIGHT: 15pt; TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 10pt 109.5pt; BACKGROUND: white; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level2 lfo1; tab-stops: list 72.0pt" class=MsoNormal&gt;
&lt;span style="FONT-FAMILY: 'Courier New'; COLOR: #535353; FONT-SIZE: 10pt; mso-fareast-font-family: 'Courier New'; mso-fareast-language: NL-BE; mso-bidi-font-size: 10.5pt"&gt;&lt;span style="mso-list: Ignore"&gt;o&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: #535353; FONT-SIZE: 10.5pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: NL-BE"&gt;Azure
Portal&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="LINE-HEIGHT: 15pt; TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 10pt 73.5pt; BACKGROUND: white; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt" class=MsoNormal&gt;
&lt;span style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: #535353; FONT-SIZE: 10.5pt; mso-fareast-font-family: Arial; mso-fareast-language: NL-BE; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;span style="mso-list: Ignore"&gt;4.&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: #535353; FONT-SIZE: 10.5pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: NL-BE; mso-ansi-language: EN-US" lang=EN-US&gt;Moving
Silverlight applications to the cloud&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="LINE-HEIGHT: 15pt; TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 10pt 109.5pt; BACKGROUND: white; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level2 lfo1; tab-stops: list 72.0pt" class=MsoNormal&gt;
&lt;span style="FONT-FAMILY: 'Courier New'; COLOR: #535353; FONT-SIZE: 10pt; mso-fareast-font-family: 'Courier New'; mso-fareast-language: NL-BE; mso-bidi-font-size: 10.5pt"&gt;&lt;span style="mso-list: Ignore"&gt;o&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: #535353; FONT-SIZE: 10.5pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: NL-BE"&gt;Database
only&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="LINE-HEIGHT: 15pt; TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 10pt 109.5pt; BACKGROUND: white; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level2 lfo1; tab-stops: list 72.0pt" class=MsoNormal&gt;
&lt;span style="FONT-FAMILY: 'Courier New'; COLOR: #535353; FONT-SIZE: 10pt; mso-fareast-font-family: 'Courier New'; mso-fareast-language: NL-BE; mso-bidi-font-size: 10.5pt"&gt;&lt;span style="mso-list: Ignore"&gt;o&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: #535353; FONT-SIZE: 10.5pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: NL-BE"&gt;WCF&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="LINE-HEIGHT: 15pt; TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 10pt 109.5pt; BACKGROUND: white; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level2 lfo1; tab-stops: list 72.0pt" class=MsoNormal&gt;
&lt;span style="FONT-FAMILY: 'Courier New'; COLOR: #535353; FONT-SIZE: 10pt; mso-fareast-font-family: 'Courier New'; mso-fareast-language: NL-BE; mso-bidi-font-size: 10.5pt"&gt;&lt;span style="mso-list: Ignore"&gt;o&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: #535353; FONT-SIZE: 10.5pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: NL-BE"&gt;REST&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="LINE-HEIGHT: 15pt; TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 10pt 109.5pt; BACKGROUND: white; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level2 lfo1; tab-stops: list 72.0pt" class=MsoNormal&gt;
&lt;span style="FONT-FAMILY: 'Courier New'; COLOR: #535353; FONT-SIZE: 10pt; mso-fareast-font-family: 'Courier New'; mso-fareast-language: NL-BE; mso-bidi-font-size: 10.5pt"&gt;&lt;span style="mso-list: Ignore"&gt;o&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: #535353; FONT-SIZE: 10.5pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: NL-BE"&gt;Entire
Silverlight applications&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="LINE-HEIGHT: 15pt; TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 10pt 109.5pt; BACKGROUND: white; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level2 lfo1; tab-stops: list 72.0pt" class=MsoNormal&gt;
&lt;span style="FONT-FAMILY: 'Courier New'; COLOR: #535353; FONT-SIZE: 10pt; mso-fareast-font-family: 'Courier New'; mso-fareast-language: NL-BE; mso-bidi-font-size: 10.5pt"&gt;&lt;span style="mso-list: Ignore"&gt;o&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: #535353; FONT-SIZE: 10.5pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: NL-BE"&gt;RIA
Services&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="LINE-HEIGHT: 15pt; TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 10pt 109.5pt; BACKGROUND: white; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level2 lfo1; tab-stops: list 72.0pt" class=MsoNormal&gt;
&lt;span style="FONT-FAMILY: 'Courier New'; COLOR: #535353; FONT-SIZE: 10pt; mso-fareast-font-family: 'Courier New'; mso-fareast-language: NL-BE; mso-ansi-language: EN-US; mso-bidi-font-size: 10.5pt" lang=EN-US&gt;&lt;span style="mso-list: Ignore"&gt;o&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: #535353; FONT-SIZE: 10.5pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: NL-BE; mso-ansi-language: EN-US" lang=EN-US&gt;Azure
as intermediate layer for Twitter&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="LINE-HEIGHT: 15pt; TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 10pt 73.5pt; BACKGROUND: white; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt" class=MsoNormal&gt;
&lt;span style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: #535353; FONT-SIZE: 10.5pt; mso-fareast-font-family: Arial; mso-fareast-language: NL-BE"&gt;&lt;span style="mso-list: Ignore"&gt;5.&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: #535353; FONT-SIZE: 10.5pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: NL-BE"&gt;Using
blob storage&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="LINE-HEIGHT: 15pt; TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 10pt 109.5pt; BACKGROUND: white; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level2 lfo1; tab-stops: list 72.0pt" class=MsoNormal&gt;
&lt;span style="FONT-FAMILY: 'Courier New'; COLOR: #535353; FONT-SIZE: 10pt; mso-fareast-font-family: 'Courier New'; mso-fareast-language: NL-BE; mso-bidi-font-size: 10.5pt"&gt;&lt;span style="mso-list: Ignore"&gt;o&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: #535353; FONT-SIZE: 10.5pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: NL-BE"&gt;Silverlight/Azure
video player&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="LINE-HEIGHT: 15pt; TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 10pt 73.5pt; BACKGROUND: white; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt" class=MsoNormal&gt;
&lt;span style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: #535353; FONT-SIZE: 10.5pt; mso-fareast-font-family: Arial; mso-fareast-language: NL-BE"&gt;&lt;span style="mso-list: Ignore"&gt;6.&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: #535353; FONT-SIZE: 10.5pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: NL-BE"&gt;Windows
Phone and Azure&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="LINE-HEIGHT: 15pt; TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 10pt 109.5pt; BACKGROUND: white; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level2 lfo1; tab-stops: list 72.0pt" class=MsoNormal&gt;
&lt;span style="FONT-FAMILY: 'Courier New'; COLOR: #535353; FONT-SIZE: 10pt; mso-fareast-font-family: 'Courier New'; mso-fareast-language: NL-BE; mso-bidi-font-size: 10.5pt"&gt;&lt;span style="mso-list: Ignore"&gt;o&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: #535353; FONT-SIZE: 10.5pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: NL-BE"&gt;Accessing
services in the cloud&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="LINE-HEIGHT: 15pt; TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 10pt 109.5pt; BACKGROUND: white; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level2 lfo1; tab-stops: list 72.0pt" class=MsoNormal&gt;
&lt;span style="FONT-FAMILY: 'Courier New'; COLOR: #535353; FONT-SIZE: 10pt; mso-fareast-font-family: 'Courier New'; mso-fareast-language: NL-BE; mso-bidi-font-size: 10.5pt"&gt;&lt;span style="mso-list: Ignore"&gt;o&lt;span style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: #535353; FONT-SIZE: 10.5pt; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: NL-BE"&gt;WP7
Push Notification services 
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
Also, I started writing some articles on this topic as well. The first one can be
found here: &lt;a href="http://www.silverlightshow.net/items/Silverlight-in-the-Azure-cloud-Part-1.aspx"&gt;http://www.silverlightshow.net/items/Silverlight-in-the-Azure-cloud-Part-1.aspx&lt;/a&gt;. 
&lt;/p&gt;
&lt;p&gt;
The next and last part will be published soon.
&lt;/p&gt;
&lt;p&gt;
Hope you like them and learn something from both of these resources.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=4aa1017f-a8c9-4fa3-a652-c348a5992fa8" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,4aa1017f-a8c9-4fa3-a652-c348a5992fa8.aspx</comments>
      <category>Events</category>
      <category>Silverlight</category>
      <category>Webcasts</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=998b4507-b5f9-44f9-9973-9c903af588f4</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,998b4507-b5f9-44f9-9973-9c903af588f4.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,998b4507-b5f9-44f9-9973-9c903af588f4.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=998b4507-b5f9-44f9-9973-9c903af588f4</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
In the coming months, I’ll be travelling through Europe and doing sessions in quite
a few locations. Here’s when and where you can catch me.
</p>
        <table border="0" cellspacing="0" cellpadding="2" width="698">
          <tbody>
            <tr>
              <td valign="top" width="150">
Event</td>
              <td valign="top" width="150">
Date</td>
              <td valign="top" width="150">
Location</td>
              <td valign="top" width="246">
Sessions</td>
            </tr>
            <tr>
              <td valign="top" width="150">
                <a href="http://www.techdays.se/">TechDays Sweden</a>
              </td>
              <td valign="top" width="150">
March 29-30</td>
              <td valign="top" width="150">
Orebrö, Sweden</td>
              <td valign="top" width="246">
                <ul>
                  <li>
What you, as an ASP.NET developer, need to know about jQuery</li>
                  <li>
Building a Windows Phone 7 application in 60 minutes</li>
                </ul>
              </td>
            </tr>
            <tr>
              <td valign="top" width="150">
                <a href="http://www.microsoft.com/switzerland/msdn/fr/techdays/">TechDays Switzerland</a>
              </td>
              <td valign="top" width="150">
April 5-6</td>
              <td valign="top" width="150">
Zürich, Switzerland</td>
              <td valign="top" width="246">
To jQuery or to Ajax Client Library, that is the question</td>
            </tr>
            <tr>
              <td valign="top" width="150">
                <a href="http://www.techdays.be/">TechDays Belgium</a>
              </td>
              <td valign="top" width="150">
April 26-28</td>
              <td valign="top" width="150">
Antwerp, Belgium</td>
              <td valign="top" width="246">
Switch on the LightSwitch</td>
            </tr>
            <tr>
              <td valign="top" width="150">
                <a href="http://www.techdays.nl">TechDays Netherlands</a>
              </td>
              <td valign="top" width="150">
April 27-29</td>
              <td valign="top" width="150">
Den Haag, The Netherlands</td>
              <td valign="top" width="246">
                <p>
What you, as an ASP.NET developer, need to know about jQuery 
</p>
              </td>
            </tr>
            <tr>
              <td valign="top" width="150">
                <a href="http://www.techdays.nl/GeekNight">GeekNight at TechDays</a>
              </td>
              <td valign="top" width="150">
April 28</td>
              <td valign="top" width="150">
Den Haag, The Netherlands</td>
              <td valign="top" width="246">
Introduction to the WebMatrix</td>
            </tr>
            <tr>
              <td valign="top" width="150">
                <a href="http://edu.ordina.be">Windows Phone 7 Tour Norway</a>
              </td>
              <td valign="top" width="150">
May 4-6</td>
              <td valign="top" width="150">
Oslo, Norway</td>
              <td valign="top" width="246">
3 day intensive training on Windows Phone 7</td>
            </tr>
            <tr>
              <td valign="top" width="150">
                <a href="http://edu.ordina.be/">Windows Phone 7 Tour Belgium</a>
              </td>
              <td valign="top" width="150">
May 11-13</td>
              <td valign="top" width="150">
Brussels, Belgium</td>
              <td valign="top" width="246">
3 day intensive training on Windows Phone 7</td>
            </tr>
            <tr>
              <td valign="top" width="150">
                <a href="http://edu.ordina.be/">Silverlight Tour Belgium</a>
              </td>
              <td valign="top" width="150">
May 16-20</td>
              <td valign="top" width="150">
Brussels, Belgium</td>
              <td valign="top" width="246">
5 day intensive training on Silverlight 4</td>
            </tr>
            <tr>
              <td valign="top" width="150">
                <a href="http://uktechdays.cloudapp.net/home.aspx">TechDays UK</a>
              </td>
              <td valign="top" width="150">
May 26th</td>
              <td valign="top" width="150">
London, UK</td>
              <td valign="top" width="246">
WCF RIA Services for Productive Silverlight App Development</td>
            </tr>
            <tr>
              <td valign="top" width="150">
                <a href="http://www.ndc2011.no">NDC 2011</a>
              </td>
              <td valign="top" width="150">
June 8-10</td>
              <td valign="top" width="150">
Oslo, Norway</td>
              <td valign="top" width="246">
                <ul>
                  <li>
Switch on the LightSwitch 
</li>
                  <li>
Blend for Developers</li>
                </ul>
              </td>
            </tr>
            <tr>
              <td valign="top" width="150">
                <a href="http://edu.ordina.be/">Silverlight Tour Norway</a>
              </td>
              <td valign="top" width="150">
June 15-17</td>
              <td valign="top" width="150">
Oslo, Norway</td>
              <td valign="top" width="246">
5 day intensive training on Silverlight 4</td>
            </tr>
            <tr>
              <td valign="top" width="150">
                <a href="http://www.communityday.be">Community Day Belgium</a>
              </td>
              <td valign="top" width="150">
June 23</td>
              <td valign="top" width="150">
Mechelen, Belgium</td>
              <td valign="top" width="246">
TBD</td>
            </tr>
            <tr>
              <td valign="top" width="150">
                <a href="http://edu.ordina.be/">Windows Phone 7 Tour The Netherlands</a>
              </td>
              <td valign="top" width="150">
27-29 June</td>
              <td valign="top" width="150">
Utrecht, The Netherlands</td>
              <td valign="top" width="246">
3 day intensive training on Windows Phone 7</td>
            </tr>
            <tr>
              <td valign="top" width="150">
Telerik Tour UK (TBC)</td>
              <td valign="top" width="150">
July 4-8</td>
              <td valign="top" width="150">
All over the UK</td>
              <td valign="top" width="246">
TBD</td>
            </tr>
            <tr>
              <td valign="top" width="150">
Telerik Tour Ireland (TBC)</td>
              <td valign="top" width="150">
September 19-23</td>
              <td valign="top" width="150">
All over Ireland</td>
              <td valign="top" width="246">
TBD</td>
            </tr>
          </tbody>
        </table>
        <p>
It’s going to be a very busy couple of months. I hope to see many of you on one of
these events!
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=998b4507-b5f9-44f9-9973-9c903af588f4" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Upcoming sessions all over Europe</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,998b4507-b5f9-44f9-9973-9c903af588f4.aspx</guid>
      <link>http://www.snowball.be/2011/03/25/Upcoming+Sessions+All+Over+Europe.aspx</link>
      <pubDate>Fri, 25 Mar 2011 07:30:43 GMT</pubDate>
      <description>&lt;p&gt;
In the coming months, I’ll be travelling through Europe and doing sessions in quite
a few locations. Here’s when and where you can catch me.
&lt;/p&gt;
&lt;table border="0" cellspacing="0" cellpadding="2" width="698"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top" width="150"&gt;
Event&lt;/td&gt;
&lt;td valign="top" width="150"&gt;
Date&lt;/td&gt;
&lt;td valign="top" width="150"&gt;
Location&lt;/td&gt;
&lt;td valign="top" width="246"&gt;
Sessions&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="150"&gt;
&lt;a href="http://www.techdays.se/"&gt;TechDays Sweden&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="150"&gt;
March 29-30&lt;/td&gt;
&lt;td valign="top" width="150"&gt;
Orebrö, Sweden&lt;/td&gt;
&lt;td valign="top" width="246"&gt;
&lt;ul&gt;
&lt;li&gt;
What you, as an ASP.NET developer, need to know about jQuery&lt;/li&gt;
&lt;li&gt;
Building a Windows Phone 7 application in 60 minutes&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="150"&gt;
&lt;a href="http://www.microsoft.com/switzerland/msdn/fr/techdays/"&gt;TechDays Switzerland&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="150"&gt;
April 5-6&lt;/td&gt;
&lt;td valign="top" width="150"&gt;
Zürich, Switzerland&lt;/td&gt;
&lt;td valign="top" width="246"&gt;
To jQuery or to Ajax Client Library, that is the question&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="150"&gt;
&lt;a href="http://www.techdays.be/"&gt;TechDays Belgium&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="150"&gt;
April 26-28&lt;/td&gt;
&lt;td valign="top" width="150"&gt;
Antwerp, Belgium&lt;/td&gt;
&lt;td valign="top" width="246"&gt;
Switch on the LightSwitch&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="150"&gt;
&lt;a href="http://www.techdays.nl"&gt;TechDays Netherlands&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="150"&gt;
April 27-29&lt;/td&gt;
&lt;td valign="top" width="150"&gt;
Den Haag, The Netherlands&lt;/td&gt;
&lt;td valign="top" width="246"&gt;
&lt;p&gt;
What you, as an ASP.NET developer, need to know about jQuery 
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="150"&gt;
&lt;a href="http://www.techdays.nl/GeekNight"&gt;GeekNight at TechDays&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="150"&gt;
April 28&lt;/td&gt;
&lt;td valign="top" width="150"&gt;
Den Haag, The Netherlands&lt;/td&gt;
&lt;td valign="top" width="246"&gt;
Introduction to the WebMatrix&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="150"&gt;
&lt;a href="http://edu.ordina.be"&gt;Windows Phone 7 Tour Norway&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="150"&gt;
May 4-6&lt;/td&gt;
&lt;td valign="top" width="150"&gt;
Oslo, Norway&lt;/td&gt;
&lt;td valign="top" width="246"&gt;
3 day intensive training on Windows Phone 7&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="150"&gt;
&lt;a href="http://edu.ordina.be/"&gt;Windows Phone 7 Tour Belgium&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="150"&gt;
May 11-13&lt;/td&gt;
&lt;td valign="top" width="150"&gt;
Brussels, Belgium&lt;/td&gt;
&lt;td valign="top" width="246"&gt;
3 day intensive training on Windows Phone 7&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="150"&gt;
&lt;a href="http://edu.ordina.be/"&gt;Silverlight Tour Belgium&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="150"&gt;
May 16-20&lt;/td&gt;
&lt;td valign="top" width="150"&gt;
Brussels, Belgium&lt;/td&gt;
&lt;td valign="top" width="246"&gt;
5 day intensive training on Silverlight 4&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="150"&gt;
&lt;a href="http://uktechdays.cloudapp.net/home.aspx"&gt;TechDays UK&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="150"&gt;
May 26th&lt;/td&gt;
&lt;td valign="top" width="150"&gt;
London, UK&lt;/td&gt;
&lt;td valign="top" width="246"&gt;
WCF RIA Services for Productive Silverlight App Development&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="150"&gt;
&lt;a href="http://www.ndc2011.no"&gt;NDC 2011&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="150"&gt;
June 8-10&lt;/td&gt;
&lt;td valign="top" width="150"&gt;
Oslo, Norway&lt;/td&gt;
&lt;td valign="top" width="246"&gt;
&lt;ul&gt;
&lt;li&gt;
Switch on the LightSwitch 
&lt;li&gt;
Blend for Developers&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="150"&gt;
&lt;a href="http://edu.ordina.be/"&gt;Silverlight Tour Norway&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="150"&gt;
June 15-17&lt;/td&gt;
&lt;td valign="top" width="150"&gt;
Oslo, Norway&lt;/td&gt;
&lt;td valign="top" width="246"&gt;
5 day intensive training on Silverlight 4&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="150"&gt;
&lt;a href="http://www.communityday.be"&gt;Community Day Belgium&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="150"&gt;
June 23&lt;/td&gt;
&lt;td valign="top" width="150"&gt;
Mechelen, Belgium&lt;/td&gt;
&lt;td valign="top" width="246"&gt;
TBD&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="150"&gt;
&lt;a href="http://edu.ordina.be/"&gt;Windows Phone 7 Tour The Netherlands&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="150"&gt;
27-29 June&lt;/td&gt;
&lt;td valign="top" width="150"&gt;
Utrecht, The Netherlands&lt;/td&gt;
&lt;td valign="top" width="246"&gt;
3 day intensive training on Windows Phone 7&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="150"&gt;
Telerik Tour UK (TBC)&lt;/td&gt;
&lt;td valign="top" width="150"&gt;
July 4-8&lt;/td&gt;
&lt;td valign="top" width="150"&gt;
All over the UK&lt;/td&gt;
&lt;td valign="top" width="246"&gt;
TBD&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="150"&gt;
Telerik Tour Ireland (TBC)&lt;/td&gt;
&lt;td valign="top" width="150"&gt;
September 19-23&lt;/td&gt;
&lt;td valign="top" width="150"&gt;
All over Ireland&lt;/td&gt;
&lt;td valign="top" width="246"&gt;
TBD&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;
It’s going to be a very busy couple of months. I hope to see many of you on one of
these events!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=998b4507-b5f9-44f9-9973-9c903af588f4" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,998b4507-b5f9-44f9-9973-9c903af588f4.aspx</comments>
      <category>Events</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=e3264913-b329-420b-ac31-b7506b91b766</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,e3264913-b329-420b-ac31-b7506b91b766.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,e3264913-b329-420b-ac31-b7506b91b766.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=e3264913-b329-420b-ac31-b7506b91b766</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Just a small reminder that this Wednesday, I’m doing another SilverlightShow webinar
titled “Switching on the cloud for Silverlight”. 
</p>
        <p>
          <strong>What happens if you combine 2 of the hottest technologies for your applications?</strong>
          <strong>Find
out in this very session! 
<br /></strong>
          <br />
If we combine the capabilities of <strong>Windows Azure</strong> with the rich <strong>UX
of Silverlight</strong>, we are capable of building great... what am I saying: <strong>exceptional
web applications</strong>. We'll look at building an app in Silverlight running from
Azure and we'll look at the topics of interest that you'll encounter when hosting
services in the cloud to be consumed from Silverlight, considerations for Windows
Azure Storage if used from Silverlight etc. 
</p>
        <p>
          <strong>Webinar agenda:</strong>
        </p>
        <ol>
          <li>
            <p>
Parts of Windows Azure
</p>
          </li>
          <li>
            <p>
Why does a Silverlight developer need to care?
</p>
          </li>
          <li>
            <p>
Developing for Windows Azure 
</p>
            <ul>
              <li>
                <p>
Required tools
</p>
              </li>
              <li>
                <p>
Emulators (“local cloud”)
</p>
              </li>
              <li>
                <p>
Azure Portal
</p>
              </li>
            </ul>
          </li>
          <li>
            <p>
Moving Silverlight applications to the cloud 
</p>
            <ul>
              <li>
                <p>
Database only
</p>
              </li>
              <li>
                <p>
WCF
</p>
              </li>
              <li>
                <p>
REST
</p>
              </li>
              <li>
                <p>
Entire Silverlight applications
</p>
              </li>
              <li>
                <p>
RIA Services
</p>
              </li>
              <li>
                <p>
Azure as intermediate layer for Twitter
</p>
              </li>
            </ul>
          </li>
          <li>
            <p>
Using blob storage 
</p>
            <ul>
              <li>
                <p>
Silverlight/Azure video player
</p>
              </li>
            </ul>
          </li>
          <li>
            <p>
Windows Phone and Azure 
</p>
            <ul>
              <li>
                <p>
Accessing services in the cloud
</p>
              </li>
              <li>
                <p>
WP7 Push Notification services 
</p>
              </li>
            </ul>
          </li>
        </ol>
        <p>
As always, these webinars are free and you can register here: <a title="http://www.silverlightshow.net/news/Upcoming-Silverlight-Show-Webinar-Switching-on-the-Cloud-for-Silverlight.aspx" href="http://www.silverlightshow.net/news/Upcoming-Silverlight-Show-Webinar-Switching-on-the-Cloud-for-Silverlight.aspx">http://www.silverlightshow.net/news/Upcoming-Silverlight-Show-Webinar-Switching-on-the-Cloud-for-Silverlight.aspx</a></p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=e3264913-b329-420b-ac31-b7506b91b766" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Upcoming webinar on Azure and Silverlight</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,e3264913-b329-420b-ac31-b7506b91b766.aspx</guid>
      <link>http://www.snowball.be/2011/03/21/Upcoming+Webinar+On+Azure+And+Silverlight.aspx</link>
      <pubDate>Mon, 21 Mar 2011 08:22:10 GMT</pubDate>
      <description>&lt;p&gt;
Just a small reminder that this Wednesday, I’m doing another SilverlightShow webinar
titled “Switching on the cloud for Silverlight”. 
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;What happens if you combine 2 of the hottest technologies for your applications?&lt;/strong&gt; &lt;strong&gt;Find
out in this very session! 
&lt;br&gt;
&lt;/strong&gt;
&lt;br&gt;
If we combine the capabilities of &lt;strong&gt;Windows Azure&lt;/strong&gt; with the rich &lt;strong&gt;UX
of Silverlight&lt;/strong&gt;, we are capable of building great... what am I saying: &lt;strong&gt;exceptional
web applications&lt;/strong&gt;. We'll look at building an app in Silverlight running from
Azure and we'll look at the topics of interest that you'll encounter when hosting
services in the cloud to be consumed from Silverlight, considerations for Windows
Azure Storage if used from Silverlight etc. 
&lt;p&gt;
&lt;strong&gt;Webinar agenda:&lt;/strong&gt; 
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;
Parts of Windows Azure
&lt;/p&gt;
&lt;li&gt;
&lt;p&gt;
Why does a Silverlight developer need to care?
&lt;/p&gt;
&lt;li&gt;
&lt;p&gt;
Developing for Windows Azure 
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
Required tools
&lt;/p&gt;
&lt;li&gt;
&lt;p&gt;
Emulators (“local cloud”)
&lt;/p&gt;
&lt;li&gt;
&lt;p&gt;
Azure Portal
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;
&lt;p&gt;
Moving Silverlight applications to the cloud 
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
Database only
&lt;/p&gt;
&lt;li&gt;
&lt;p&gt;
WCF
&lt;/p&gt;
&lt;li&gt;
&lt;p&gt;
REST
&lt;/p&gt;
&lt;li&gt;
&lt;p&gt;
Entire Silverlight applications
&lt;/p&gt;
&lt;li&gt;
&lt;p&gt;
RIA Services
&lt;/p&gt;
&lt;li&gt;
&lt;p&gt;
Azure as intermediate layer for Twitter
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;
&lt;p&gt;
Using blob storage 
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
Silverlight/Azure video player
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;
&lt;p&gt;
Windows Phone and Azure 
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
Accessing services in the cloud
&lt;/p&gt;
&lt;li&gt;
&lt;p&gt;
WP7 Push Notification services 
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
As always, these webinars are free and you can register here: &lt;a title="http://www.silverlightshow.net/news/Upcoming-Silverlight-Show-Webinar-Switching-on-the-Cloud-for-Silverlight.aspx" href="http://www.silverlightshow.net/news/Upcoming-Silverlight-Show-Webinar-Switching-on-the-Cloud-for-Silverlight.aspx"&gt;http://www.silverlightshow.net/news/Upcoming-Silverlight-Show-Webinar-Switching-on-the-Cloud-for-Silverlight.aspx&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=e3264913-b329-420b-ac31-b7506b91b766" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,e3264913-b329-420b-ac31-b7506b91b766.aspx</comments>
      <category>Azure</category>
      <category>Silverlight</category>
      <category>Webcasts</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=270a6118-981a-47dc-8534-1a391e53ca2a</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,270a6118-981a-47dc-8534-1a391e53ca2a.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,270a6118-981a-47dc-8534-1a391e53ca2a.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=270a6118-981a-47dc-8534-1a391e53ca2a</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
If you are one of my Norwegian readers (or any other reader willing to visit the great
city of Oslo while learning WP7 :) ), I’ll be teaching Silverlight and Windows Phone
7 at ProgramUtvikling in Oslo, Norway in the coming months. 
</p>
        <p>
You can register now for the Windows Phone 7 training already using <a href="http://www.programutvikling.no/nyheter.aspx?mid_1=1346&amp;mid=2046&amp;id=1024912">this
link</a>.
</p>
        <p>
          <b>
            <em>Writing Apps for a phone was never so easy. With Silverlight you can build
applications for the Windows Phone 7 as easy as you can build a web widget. When youre
ready to dive into building applications for phones, this is the course for you.</em>
          </b>
        </p>
        <p>
          <em>Silverlight for Windows Phone 7 is a three–day course on Windows Phone 7 Series
development using Silverlight. It divides the content into three distinct areas: Design,
Development and the Server–Side. Students should be able to develop applications for
the phone once they have attended the course. The Course is structured with a mix
of didactic lessons, demonstrations and hands–on labs. Each student will leave the
course having created several small Silverlight applications. This variety of learning
techniques will ensure that all students become proficient in the technology quickly
and in an exciting way.</em>
        </p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=270a6118-981a-47dc-8534-1a391e53ca2a" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Planned trainings in Norway</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,270a6118-981a-47dc-8534-1a391e53ca2a.aspx</guid>
      <link>http://www.snowball.be/2011/02/25/Planned+Trainings+In+Norway.aspx</link>
      <pubDate>Fri, 25 Feb 2011 20:47:36 GMT</pubDate>
      <description>&lt;p&gt;
If you are one of my Norwegian readers (or any other reader willing to visit the great
city of Oslo while learning WP7 :) ), I’ll be teaching Silverlight and Windows Phone
7 at ProgramUtvikling in Oslo, Norway in the coming months. 
&lt;/p&gt;
&lt;p&gt;
You can register now for the Windows Phone 7 training already using &lt;a href="http://www.programutvikling.no/nyheter.aspx?mid_1=1346&amp;amp;mid=2046&amp;amp;id=1024912"&gt;this
link&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;&lt;em&gt;Writing Apps for a phone was never so easy. With Silverlight you can build
applications for the Windows Phone 7 as easy as you can build a web widget. When youre
ready to dive into building applications for phones, this is the course for you.&lt;/em&gt;&lt;/b&gt; 
&lt;p&gt;
&lt;em&gt;Silverlight for Windows Phone 7 is a three–day course on Windows Phone 7 Series
development using Silverlight. It divides the content into three distinct areas: Design,
Development and the Server–Side. Students should be able to develop applications for
the phone once they have attended the course. The Course is structured with a mix
of didactic lessons, demonstrations and hands–on labs. Each student will leave the
course having created several small Silverlight applications. This variety of learning
techniques will ensure that all students become proficient in the technology quickly
and in an exciting way.&lt;/em&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=270a6118-981a-47dc-8534-1a391e53ca2a" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,270a6118-981a-47dc-8534-1a391e53ca2a.aspx</comments>
      <category>WP7</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=ffb1706d-6104-49b3-8aad-8ce0af2b1883</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,ffb1706d-6104-49b3-8aad-8ce0af2b1883.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,ffb1706d-6104-49b3-8aad-8ce0af2b1883.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=ffb1706d-6104-49b3-8aad-8ce0af2b1883</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
The reason I haven’t been blogging here is that I was busy writing the Silverlight
exam guide. The good news is that the entire guide is now ready and available at SilverlightShow!
Here are all the parts for you to explore
</p>
        <ul>
          <li>
            <a href="http://www.silverlightshow.net/items/Getting-ready-for-the-exams-Part-1.aspx">Getting
ready for Microsoft Silverlight Exam 70-506 (Part 1)</a>
          </li>
          <li>
            <a href="http://www.silverlightshow.net/items/Getting-ready-for-Microsoft-Silverlight-Exam-70-506-Part-2.aspx">Getting
ready for Microsoft Silverlight Exam 70-506 (Part 2) </a>
          </li>
          <li>
            <a href="http://www.silverlightshow.net/items/Getting-ready-for-Microsoft-Silverlight-Exam-70-506-Part-3.aspx">Getting
ready for Microsoft Silverlight Exam 70-506 (Part 3)</a>
          </li>
          <li>
            <a href="http://www.silverlightshow.net/items/Getting-ready-for-Microsoft-Silverlight-Exam-70-506-Part-4.aspx">Getting
ready for Microsoft Silverlight Exam 70-506 (Part 4)</a>
          </li>
          <li>
            <a href="http://www.silverlightshow.net/items/Getting-ready-for-Microsoft-Silverlight-Exam-70-506-Part-5.aspx">Getting
ready for Microsoft Silverlight Exam 70-506 (Part 5)</a>
          </li>
          <li>
            <a href="http://www.silverlightshow.net/items/Getting-ready-for-Microsoft-Silverlight-Exam-70-506-Part-6.aspx">Getting
ready for Microsoft Silverlight Exam 70-506 (Part 6)</a>
          </li>
          <li>
            <a href="http://www.silverlightshow.net/items/Getting-ready-for-Microsoft-Silverlight-Exam-70-506-Part-7.aspx">Getting
ready for Microsoft Silverlight Exam 70-506 (Part 7)</a>
          </li>
        </ul>
        <p>
Enjoy!
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=ffb1706d-6104-49b3-8aad-8ce0af2b1883" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Silverlight exam guide ready</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,ffb1706d-6104-49b3-8aad-8ce0af2b1883.aspx</guid>
      <link>http://www.snowball.be/2011/02/25/Silverlight+Exam+Guide+Ready.aspx</link>
      <pubDate>Fri, 25 Feb 2011 20:42:29 GMT</pubDate>
      <description>&lt;p&gt;
The reason I haven’t been blogging here is that I was busy writing the Silverlight
exam guide. The good news is that the entire guide is now ready and available at SilverlightShow!
Here are all the parts for you to explore
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="http://www.silverlightshow.net/items/Getting-ready-for-the-exams-Part-1.aspx"&gt;Getting
ready for Microsoft Silverlight Exam 70-506 (Part 1)&lt;/a&gt; 
&lt;li&gt;
&lt;a href="http://www.silverlightshow.net/items/Getting-ready-for-Microsoft-Silverlight-Exam-70-506-Part-2.aspx"&gt;Getting
ready for Microsoft Silverlight Exam 70-506 (Part 2) &lt;/a&gt; 
&lt;li&gt;
&lt;a href="http://www.silverlightshow.net/items/Getting-ready-for-Microsoft-Silverlight-Exam-70-506-Part-3.aspx"&gt;Getting
ready for Microsoft Silverlight Exam 70-506 (Part 3)&lt;/a&gt; 
&lt;li&gt;
&lt;a href="http://www.silverlightshow.net/items/Getting-ready-for-Microsoft-Silverlight-Exam-70-506-Part-4.aspx"&gt;Getting
ready for Microsoft Silverlight Exam 70-506 (Part 4)&lt;/a&gt; 
&lt;li&gt;
&lt;a href="http://www.silverlightshow.net/items/Getting-ready-for-Microsoft-Silverlight-Exam-70-506-Part-5.aspx"&gt;Getting
ready for Microsoft Silverlight Exam 70-506 (Part 5)&lt;/a&gt; 
&lt;li&gt;
&lt;a href="http://www.silverlightshow.net/items/Getting-ready-for-Microsoft-Silverlight-Exam-70-506-Part-6.aspx"&gt;Getting
ready for Microsoft Silverlight Exam 70-506 (Part 6)&lt;/a&gt; 
&lt;li&gt;
&lt;a href="http://www.silverlightshow.net/items/Getting-ready-for-Microsoft-Silverlight-Exam-70-506-Part-7.aspx"&gt;Getting
ready for Microsoft Silverlight Exam 70-506 (Part 7)&lt;/a&gt; 
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Enjoy!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=ffb1706d-6104-49b3-8aad-8ce0af2b1883" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,ffb1706d-6104-49b3-8aad-8ce0af2b1883.aspx</comments>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=9511fa2f-8ecc-4028-8c19-4cc7bc748f3e</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,9511fa2f-8ecc-4028-8c19-4cc7bc748f3e.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,9511fa2f-8ecc-4028-8c19-4cc7bc748f3e.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=9511fa2f-8ecc-4028-8c19-4cc7bc748f3e</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I was notified that part 2 of my Silverlight exam preparation guide was made available
at SilverlightShow. You can read part 2 here: <a title="http://www.silverlightshow.net/items/Getting-ready-for-Microsoft-Silverlight-Exam-70-506-Part-2.aspx" href="http://www.silverlightshow.net/items/Getting-ready-for-Microsoft-Silverlight-Exam-70-506-Part-2.aspx">http://www.silverlightshow.net/items/Getting-ready-for-Microsoft-Silverlight-Exam-70-506-Part-2.aspx</a> .<br />
Enjoy!
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=9511fa2f-8ecc-4028-8c19-4cc7bc748f3e" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Part 2 of Silverlight exam preparation online!</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,9511fa2f-8ecc-4028-8c19-4cc7bc748f3e.aspx</guid>
      <link>http://www.snowball.be/2011/01/25/Part+2+Of+Silverlight+Exam+Preparation+Online.aspx</link>
      <pubDate>Tue, 25 Jan 2011 21:23:56 GMT</pubDate>
      <description>&lt;p&gt;
I was notified that part 2 of my Silverlight exam preparation guide was made available
at SilverlightShow. You can read part 2 here: &lt;a title="http://www.silverlightshow.net/items/Getting-ready-for-Microsoft-Silverlight-Exam-70-506-Part-2.aspx" href="http://www.silverlightshow.net/items/Getting-ready-for-Microsoft-Silverlight-Exam-70-506-Part-2.aspx"&gt;http://www.silverlightshow.net/items/Getting-ready-for-Microsoft-Silverlight-Exam-70-506-Part-2.aspx&lt;/a&gt; .&lt;br&gt;
Enjoy!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=9511fa2f-8ecc-4028-8c19-4cc7bc748f3e" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,9511fa2f-8ecc-4028-8c19-4cc7bc748f3e.aspx</comments>
      <category>Silverlight</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=1505aafc-ec38-4880-958f-d4eb432c857e</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,1505aafc-ec38-4880-958f-d4eb432c857e.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,1505aafc-ec38-4880-958f-d4eb432c857e.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=1505aafc-ec38-4880-958f-d4eb432c857e</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Today, I got some great news: some of my sessions that I proposed for Mix 11 in Las
Vegas made the first cut! That means that you can now all vote for them via the <a href="http://live.visitmix.com/OpenCall">OpenCall</a> page
on the Mix 11 site! 
</p>
        <p>
          <strong>So, want me out of here? This is your chance to send me to Vegas, baby!! Voting
can be done here: </strong>
          <a title="http://live.visitmix.com/OpenCall" href="http://live.visitmix.com/OpenCall">
            <strong>http://live.visitmix.com/OpenCall</strong>
          </a>
          <strong> .
All votes are really appreciated, thanks in advance!</strong>
        </p>
        <p>
          <a href="http://live.visitmix.com/OpenCall">
            <img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="300x250_Mix11_011011_US_b" border="0" alt="300x250_Mix11_011011_US_b" src="http://www.snowball.be/content/binary/WindowsLiveWriter/SendmetoVegastospeakatMix_136FC/300x250_Mix11_011011_US_b_3.gif" width="244" height="204" />
          </a> 
</p>
        <p>
These are my sessions that made the first selection:
</p>
        <ul>
          <li>
            <a href="http://live.visitmix.com/OpenCall/Vote/Session/30">Data access from Windows
Phone 7</a>
            <br />
Gill Cleeren<br />
Windows Phone 7 apps need access to data, that's a sure thing. In this session, we'll
look at what of our knowledge from Silverlight we can leverage into the Windows Phone
platform. We'll look at what we need to keep track of on the service side and what
actions we need to do on the phone platform itself. 
<br />
Level 300<br />
Technology: Silverlight, Windows Phone 7, Services</li>
          <li>
            <a href="http://live.visitmix.com/OpenCall/Vote/Session/27">The session where Hello
World is forbidden: Advanced Silverlight</a>
            <br />
Gill Cleeren<br />
Byebye 'Hello World'. We've all had the time to play with Silverlight by now so it's
time to switch gears. In this advanced Silverlight session, Gill Cleeren will show
you advanced topics in Silverlight, such as unit testing, profiling, MEF, security
and authentication, advanced printing scenarios, sockets etc... You'll learn stuff
that you were afraid to ask about before!<br />
Level 400/Silverlight experience required. 
<br />
Technologies: Silverlight 4</li>
          <li>
            <a href="http://live.visitmix.com/OpenCall/Vote/Session/29">Advanced WCF RIA Services</a>
            <br />
Gill Cleeren<br />
Since Silverlight 4, WCF RIA Services has been part of the platform. We all had some
time to experiment with RIA Services a bit, didn't we? So now it's time for the serious
work. In this session, we won't be creating your basic "Hello RIA Services" application!
Instead, we'll take a deeper look at RIA services by answering questions such as:How
should we architect our applications around them?What patterns and best practices
can be applied? How can RIA Services be used in an MVVM scenario?How can I do validation
with RIA services?And much more!<br />
Level 300<br />
Technologies: Silverlight 4, WCF RIA Services</li>
          <li>
            <a href="http://live.visitmix.com/OpenCall/Vote/Session/28">Building custom controls
in Silverlight 4</a>
            <br />
Gill Cleeren<br />
While Silverlight has a rich set of controls on board, sometimes you still need a
control that does not exist. In Silverlight, there are more options than you ever
considered possible to do this. Varying from templating a control to building a control
from scratch, we'll cover it all. We'll also look at building a container from scratch!Level
300<br />
Technologies: Silverlight 4</li>
        </ul>
        <p>
Love one (or more) of these sessions? Please vote! Thanks!
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=1505aafc-ec38-4880-958f-d4eb432c857e" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Send me to Vegas to speak at Mix!</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,1505aafc-ec38-4880-958f-d4eb432c857e.aspx</guid>
      <link>http://www.snowball.be/2011/01/25/Send+Me+To+Vegas+To+Speak+At+Mix.aspx</link>
      <pubDate>Tue, 25 Jan 2011 21:06:53 GMT</pubDate>
      <description>&lt;p&gt;
Today, I got some great news: some of my sessions that I proposed for Mix 11 in Las
Vegas made the first cut! That means that you can now all vote for them via the &lt;a href="http://live.visitmix.com/OpenCall"&gt;OpenCall&lt;/a&gt; page
on the Mix 11 site! 
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;So, want me out of here? This is your chance to send me to Vegas, baby!! Voting
can be done here: &lt;/strong&gt;&lt;a title="http://live.visitmix.com/OpenCall" href="http://live.visitmix.com/OpenCall"&gt;&lt;strong&gt;http://live.visitmix.com/OpenCall&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; .
All votes are really appreciated, thanks in advance!&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://live.visitmix.com/OpenCall"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="300x250_Mix11_011011_US_b" border="0" alt="300x250_Mix11_011011_US_b" src="http://www.snowball.be/content/binary/WindowsLiveWriter/SendmetoVegastospeakatMix_136FC/300x250_Mix11_011011_US_b_3.gif" width="244" height="204"&gt;&lt;/a&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
These are my sessions that made the first selection:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="http://live.visitmix.com/OpenCall/Vote/Session/30"&gt;Data access from Windows
Phone 7&lt;/a&gt;
&lt;br&gt;
Gill Cleeren&lt;br&gt;
Windows Phone 7 apps need access to data, that's a sure thing. In this session, we'll
look at what of our knowledge from Silverlight we can leverage into the Windows Phone
platform. We'll look at what we need to keep track of on the service side and what
actions we need to do on the phone platform itself. 
&lt;br&gt;
Level 300&lt;br&gt;
Technology: Silverlight, Windows Phone 7, Services&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://live.visitmix.com/OpenCall/Vote/Session/27"&gt;The session where Hello
World is forbidden: Advanced Silverlight&lt;/a&gt;
&lt;br&gt;
Gill Cleeren&lt;br&gt;
Byebye 'Hello World'. We've all had the time to play with Silverlight by now so it's
time to switch gears. In this advanced Silverlight session, Gill Cleeren will show
you advanced topics in Silverlight, such as unit testing, profiling, MEF, security
and authentication, advanced printing scenarios, sockets etc... You'll learn stuff
that you were afraid to ask about before!&lt;br&gt;
Level 400/Silverlight experience required. 
&lt;br&gt;
Technologies: Silverlight 4&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://live.visitmix.com/OpenCall/Vote/Session/29"&gt;Advanced WCF RIA Services&lt;/a&gt;
&lt;br&gt;
Gill Cleeren&lt;br&gt;
Since Silverlight 4, WCF RIA Services has been part of the platform. We all had some
time to experiment with RIA Services a bit, didn't we? So now it's time for the serious
work. In this session, we won't be creating your basic "Hello RIA Services" application!
Instead, we'll take a deeper look at RIA services by answering questions such as:How
should we architect our applications around them?What patterns and best practices
can be applied? How can RIA Services be used in an MVVM scenario?How can I do validation
with RIA services?And much more!&lt;br&gt;
Level 300&lt;br&gt;
Technologies: Silverlight 4, WCF RIA Services&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://live.visitmix.com/OpenCall/Vote/Session/28"&gt;Building custom controls
in Silverlight 4&lt;/a&gt;
&lt;br&gt;
Gill Cleeren&lt;br&gt;
While Silverlight has a rich set of controls on board, sometimes you still need a
control that does not exist. In Silverlight, there are more options than you ever
considered possible to do this. Varying from templating a control to building a control
from scratch, we'll cover it all. We'll also look at building a container from scratch!Level
300&lt;br&gt;
Technologies: Silverlight 4&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Love one (or more) of these sessions? Please vote! Thanks!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=1505aafc-ec38-4880-958f-d4eb432c857e" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,1505aafc-ec38-4880-958f-d4eb432c857e.aspx</comments>
      <category>Efficiency</category>
      <category>Mix 11</category>
      <category>Silverlight</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=bdf70902-bdb1-4392-b032-ca85c7c6b9df</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,bdf70902-bdb1-4392-b032-ca85c7c6b9df.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,bdf70902-bdb1-4392-b032-ca85c7c6b9df.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=bdf70902-bdb1-4392-b032-ca85c7c6b9df</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
The Silverlight exam (70-506) is being released soon. Together with the people of
SilverlightShow, I decided to create a guide to help with the exam preparation. The
first part is online now, you can find it <a href="http://www.silverlightshow.net/items/Getting-ready-for-the-exams-Part-1.aspx">here</a>.
</p>
        <p>
          <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/Part1ofSilverlightexampreparationonline_9A3B/image_4.png">
            <img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://www.snowball.be/content/binary/WindowsLiveWriter/Part1ofSilverlightexampreparationonline_9A3B/image_thumb_1.png" width="244" height="100" />
          </a>
        </p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=bdf70902-bdb1-4392-b032-ca85c7c6b9df" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Part 1 of Silverlight exam preparation online</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,bdf70902-bdb1-4392-b032-ca85c7c6b9df.aspx</guid>
      <link>http://www.snowball.be/2011/01/18/Part+1+Of+Silverlight+Exam+Preparation+Online.aspx</link>
      <pubDate>Tue, 18 Jan 2011 09:58:07 GMT</pubDate>
      <description>&lt;p&gt;
The Silverlight exam (70-506) is being released soon. Together with the people of
SilverlightShow, I decided to create a guide to help with the exam preparation. The
first part is online now, you can find it &lt;a href="http://www.silverlightshow.net/items/Getting-ready-for-the-exams-Part-1.aspx"&gt;here&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/Part1ofSilverlightexampreparationonline_9A3B/image_4.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://www.snowball.be/content/binary/WindowsLiveWriter/Part1ofSilverlightexampreparationonline_9A3B/image_thumb_1.png" width="244" height="100"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=bdf70902-bdb1-4392-b032-ca85c7c6b9df" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,bdf70902-bdb1-4392-b032-ca85c7c6b9df.aspx</comments>
      <category>Silverlight</category>
      <category>sl4</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=ae20eb21-5383-45f7-b26d-37f2957b3706</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,ae20eb21-5383-45f7-b26d-37f2957b3706.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,ae20eb21-5383-45f7-b26d-37f2957b3706.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=ae20eb21-5383-45f7-b26d-37f2957b3706</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Here’s something interesting from my publisher, Packt Publishing: Microsoft Monday.
On Monday 24th of January, Packt is set to release 5 books on Microsoft technologies.
To celebrate this, they are giving away a year’s subscription on their entire library
of Microsoft books. More info can be found <a href="https://www.packtpub.com/article/microsoft-books-competition">here</a>.
</p>
        <p>
          <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/MicrosoftMondayatPacktpublishing_DA0D/MicrosoftMonday_2.png">
            <img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="MicrosoftMonday" border="0" alt="MicrosoftMonday" src="http://www.snowball.be/content/binary/WindowsLiveWriter/MicrosoftMondayatPacktpublishing_DA0D/MicrosoftMonday_thumb.png" width="228" height="228" />
          </a>
        </p>
        <p>
Additionally, all Packt books get a 25% discount if you buy 2 books! That includes <a href="https://www.packtpub.com/microsoft-silverlight-4-data-and-services-cookbook/book?utm_source=packtpub.com&amp;utm_medium=article&amp;utm_content=other&amp;utm_campaign=mdb_005642">my
book</a> as well!
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=ae20eb21-5383-45f7-b26d-37f2957b3706" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Microsoft Monday at Packt publishing</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,ae20eb21-5383-45f7-b26d-37f2957b3706.aspx</guid>
      <link>http://www.snowball.be/2011/01/13/Microsoft+Monday+At+Packt+Publishing.aspx</link>
      <pubDate>Thu, 13 Jan 2011 14:30:24 GMT</pubDate>
      <description>&lt;p&gt;
Here’s something interesting from my publisher, Packt Publishing: Microsoft Monday.
On Monday 24th of January, Packt is set to release 5 books on Microsoft technologies.
To celebrate this, they are giving away a year’s subscription on their entire library
of Microsoft books. More info can be found &lt;a href="https://www.packtpub.com/article/microsoft-books-competition"&gt;here&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/MicrosoftMondayatPacktpublishing_DA0D/MicrosoftMonday_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="MicrosoftMonday" border="0" alt="MicrosoftMonday" src="http://www.snowball.be/content/binary/WindowsLiveWriter/MicrosoftMondayatPacktpublishing_DA0D/MicrosoftMonday_thumb.png" width="228" height="228"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Additionally, all Packt books get a 25% discount if you buy 2 books! That includes &lt;a href="https://www.packtpub.com/microsoft-silverlight-4-data-and-services-cookbook/book?utm_source=packtpub.com&amp;amp;utm_medium=article&amp;amp;utm_content=other&amp;amp;utm_campaign=mdb_005642"&gt;my
book&lt;/a&gt; as well!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=ae20eb21-5383-45f7-b26d-37f2957b3706" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,ae20eb21-5383-45f7-b26d-37f2957b3706.aspx</comments>
      <category>Personal</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=0f0a3733-e757-492e-aee1-195a0489add8</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,0f0a3733-e757-492e-aee1-195a0489add8.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,0f0a3733-e757-492e-aee1-195a0489add8.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=0f0a3733-e757-492e-aee1-195a0489add8</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
My good friends from SilverlightShow have announced their 2011 contest: the Eco Contest!
I am selected to be one of the five judges this year!
</p>
        <p>
          <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/SilverlightShowEcoContesthasbegunWin3pas_9002/eco_badge_150_2.png">
            <img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="eco_badge_150" border="0" alt="eco_badge_150" src="http://www.snowball.be/content/binary/WindowsLiveWriter/SilverlightShowEcoContesthasbegunWin3pas_9002/eco_badge_150_thumb.png" width="154" height="154" />
          </a>
          <br />
          <strong>
            <br />
What is this contest about?<br /></strong>2011 has been declared the <a href="http://www.un.org/en/events/iyof2011/">International
Year of Forests</a><strong></strong> by the United Nations. We at SilverlightShow
would like to join the worldwide efforts to promote a broader understanding of sustainable
forest management and generate ideas to participate in the celebration of forests
throughout 2011 and beyond.
</p>
        <p>
We initiate this year's <strong>Forests Eco Contest</strong> to show the power that
Silverlight technologies have in conveying an idea, and reach a huge audience in no
time with striking visual and interactive features. Be a part of this year's challenge; <strong>tiny
individual steps can lead us to a greener and sustainable future on this planet we
all share</strong>.<br /></p>
        <p>
          <em>
            <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/SilverlightShowEcoContesthasbegunWin3pas_9002/banner400_forest_rounded_2.png">
              <img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="banner400_forest_rounded" border="0" alt="banner400_forest_rounded" src="http://www.snowball.be/content/binary/WindowsLiveWriter/SilverlightShowEcoContesthasbegunWin3pas_9002/banner400_forest_rounded_thumb.png" width="463" height="63" />
            </a>
          </em>
        </p>
        <p>
          <strong>The Contest</strong>
        </p>
        <p>
We invite you to take part in our contest by creating a Silverlight application that
informs about the critical situation with forests preservation, or urges to take actions
in protecting this resource. We, on our end, will make sure, that your applications
reached as many people as possible.  Please read the <a href="http://contest.silverlightshow.net/ContestRules.aspx">Official
Rules</a> of our green contest! 
</p>
        <p>
          <strong>The Judges<br /></strong>
          <a href="http://crocusgirl.com">Cigdem Patlak</a> - community vote winner
in <a href="http://contest2010.silverlightshow.net/">SilvelightShow Eco Contest 2010</a>,
Silveright MVP 
<br /><a href="http://emil.silverlightshow.net/">Emil Stoychev</a> - founder of SilverlightShow,
Silverlight MVP 
<br /><a href="http://www.snowball.be">Gill Cleeren</a> - Microsoft Regional Director, SilverlightShow
Webinar Presenter, Silverlight MVP 
<br /><a href="http://briannoyes.net/">Brian Noyes</a> - Microsoft Regional Director, Silverlight
MVP 
<br /><a href="http://timheuer.com/blog/">Tim Heuer</a> - Microsoft program manager for
Microsoft Silverlight 
</p>
        <p>
        </p>
        <p>
          <strong>All the information can be found here: </strong>
          <a title="http://contest.silverlightshow.net/" href="http://contest.silverlightshow.net/">
            <strong>http://contest.silverlightshow.net/</strong>
          </a>
        </p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=0f0a3733-e757-492e-aee1-195a0489add8" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Silverlight Show Eco Contest has begun: Win 3 passes for Mix 2011!!</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,0f0a3733-e757-492e-aee1-195a0489add8.aspx</guid>
      <link>http://www.snowball.be/2011/01/13/Silverlight+Show+Eco+Contest+Has+Begun+Win+3+Passes+For+Mix+2011.aspx</link>
      <pubDate>Thu, 13 Jan 2011 09:14:33 GMT</pubDate>
      <description>&lt;p&gt;
My good friends from SilverlightShow have announced their 2011 contest: the Eco Contest!
I am selected to be one of the five judges this year!
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/SilverlightShowEcoContesthasbegunWin3pas_9002/eco_badge_150_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="eco_badge_150" border="0" alt="eco_badge_150" src="http://www.snowball.be/content/binary/WindowsLiveWriter/SilverlightShowEcoContesthasbegunWin3pas_9002/eco_badge_150_thumb.png" width="154" height="154"&gt;&lt;/a&gt; 
&lt;br&gt;
&lt;strong&gt;
&lt;br&gt;
What is this contest about?&lt;br&gt;
&lt;/strong&gt;2011 has been declared the &lt;a href="http://www.un.org/en/events/iyof2011/"&gt;International
Year of Forests&lt;/a&gt;&lt;strong&gt;&lt;/strong&gt; by the United Nations. We at SilverlightShow
would like to join the worldwide efforts to promote a broader understanding of sustainable
forest management and generate ideas to participate in the celebration of forests
throughout 2011 and beyond.
&lt;/p&gt;
&lt;p&gt;
We initiate this year's &lt;strong&gt;Forests Eco Contest&lt;/strong&gt; to show the power that
Silverlight technologies have in conveying an idea, and reach a huge audience in no
time with striking visual and interactive features. Be a part of this year's challenge; &lt;strong&gt;tiny
individual steps can lead us to a greener and sustainable future on this planet we
all share&lt;/strong&gt;.&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;&lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/SilverlightShowEcoContesthasbegunWin3pas_9002/banner400_forest_rounded_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="banner400_forest_rounded" border="0" alt="banner400_forest_rounded" src="http://www.snowball.be/content/binary/WindowsLiveWriter/SilverlightShowEcoContesthasbegunWin3pas_9002/banner400_forest_rounded_thumb.png" width="463" height="63"&gt;&lt;/a&gt; 
&lt;/p&gt;
&gt; 
&lt;p&gt;
&lt;strong&gt;The Contest&lt;/strong&gt; 
&lt;p&gt;
We invite you to take part in our contest by creating a Silverlight application that
informs about the critical situation with forests preservation, or urges to take actions
in protecting this resource. We, on our end, will make sure, that your applications
reached as many people as possible.&amp;nbsp; Please read the &lt;a href="http://contest.silverlightshow.net/ContestRules.aspx"&gt;Official
Rules&lt;/a&gt; of our green contest! 
&lt;p&gt;
&lt;strong&gt;The Judges&lt;br&gt;
&lt;/strong&gt;&lt;a href="http://crocusgirl.com"&gt;Cigdem Patlak&lt;/a&gt; - community vote winner
in &lt;a href="http://contest2010.silverlightshow.net/"&gt;SilvelightShow Eco Contest 2010&lt;/a&gt;,
Silveright MVP 
&lt;br&gt;
&lt;a href="http://emil.silverlightshow.net/"&gt;Emil Stoychev&lt;/a&gt; - founder of SilverlightShow,
Silverlight MVP 
&lt;br&gt;
&lt;a href="http://www.snowball.be"&gt;Gill Cleeren&lt;/a&gt; - Microsoft Regional Director, SilverlightShow
Webinar Presenter, Silverlight MVP 
&lt;br&gt;
&lt;a href="http://briannoyes.net/"&gt;Brian Noyes&lt;/a&gt; - Microsoft Regional Director, Silverlight
MVP 
&lt;br&gt;
&lt;a href="http://timheuer.com/blog/"&gt;Tim Heuer&lt;/a&gt; - Microsoft program manager for
Microsoft Silverlight 
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;All the information can be found here: &lt;/strong&gt;&lt;a title="http://contest.silverlightshow.net/" href="http://contest.silverlightshow.net/"&gt;&lt;strong&gt;http://contest.silverlightshow.net/&lt;/strong&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=0f0a3733-e757-492e-aee1-195a0489add8" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,0f0a3733-e757-492e-aee1-195a0489add8.aspx</comments>
      <category>Silverlight</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=38e4cde1-67aa-4d9d-b575-ebdee2e0fa96</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,38e4cde1-67aa-4d9d-b575-ebdee2e0fa96.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,38e4cde1-67aa-4d9d-b575-ebdee2e0fa96.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=38e4cde1-67aa-4d9d-b575-ebdee2e0fa96</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I’ll be at Ordina Netherlands (Nieuwegein) for the ”Innoveer jij mee” event on February
7th.<br /><strong><em>SilverLight 4 door Gill Cleeren</em></strong><b><br /></b><em>Op maandag 7 februari a.s. geeft Gill Cleeren een masterclass. Gedurende het
programma is er aandacht voor de positionering van Silverlight met name in het licht
van desktops en mobile devices (als Windows Phone 7). Natuurlijk is er aansluitend
veel aandacht voor de technische in’s and out’s van Silverlight 4 en de wijze waarop
applicaties met Silverlight 4 ontwikkeld kunnen worden.</em></p>
        <p>
          <em>Silverlight is Microsoft’s platform voor het ontwikkelen van Rich Internet Applications
(RIA’s) op desktops en mobile devices als Windows Phone 7, Microsoft’s nieuwe mobiele
platform.</em>
        </p>
        <p>
          <em>Microsoft heeft veel geïnvesteerd in Silverlight en Silverlight is inmiddels toe
aan zijn vierde iteratie (Silverlight 4) en daarmee klaar voor de ontwikkeling van
business applicaties.</em>
        </p>
        <p>
Registration is free but obligatory at <a title="https://www.ordina.nl/nieuws/evenementen/kennissessie/20110207%20-%20innoveer%20jij%20mee%20-%20silverlight%204%20door%20gill%20cleeren.aspx" href="https://www.ordina.nl/nieuws/evenementen/kennissessie/20110207%20-%20innoveer%20jij%20mee%20-%20silverlight%204%20door%20gill%20cleeren.aspx">https://www.ordina.nl/nieuws/evenementen/kennissessie/20110207%20-%20innoveer%20jij%20mee%20-%20silverlight%204%20door%20gill%20cleeren.aspx</a>. 
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=38e4cde1-67aa-4d9d-b575-ebdee2e0fa96" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Ordina NL session on Silverlight 4</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,38e4cde1-67aa-4d9d-b575-ebdee2e0fa96.aspx</guid>
      <link>http://www.snowball.be/2011/01/13/Ordina+NL+Session+On+Silverlight+4.aspx</link>
      <pubDate>Thu, 13 Jan 2011 09:08:27 GMT</pubDate>
      <description>&lt;p&gt;
I’ll be at Ordina Netherlands (Nieuwegein) for the ”Innoveer jij mee” event on February
7th.&lt;br&gt;
&lt;strong&gt;&lt;em&gt;SilverLight 4 door Gill Cleeren&lt;/em&gt;&lt;/strong&gt;&lt;b&gt;
&lt;br&gt;
&lt;/b&gt;&lt;em&gt;Op maandag 7 februari a.s. geeft Gill Cleeren een masterclass. Gedurende het
programma is er aandacht voor de positionering van Silverlight met name in het licht
van desktops en mobile devices (als Windows Phone 7). Natuurlijk is er aansluitend
veel aandacht voor de technische in’s and out’s van Silverlight 4 en de wijze waarop
applicaties met Silverlight 4 ontwikkeld kunnen worden.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Silverlight is Microsoft’s platform voor het ontwikkelen van Rich Internet Applications
(RIA’s) op desktops en mobile devices als Windows Phone 7, Microsoft’s nieuwe mobiele
platform.&lt;/em&gt; 
&lt;p&gt;
&lt;em&gt;Microsoft heeft veel geïnvesteerd in Silverlight en Silverlight is inmiddels toe
aan zijn vierde iteratie (Silverlight 4) en daarmee klaar voor de ontwikkeling van
business applicaties.&lt;/em&gt; 
&lt;p&gt;
Registration is free but obligatory at &lt;a title="https://www.ordina.nl/nieuws/evenementen/kennissessie/20110207%20-%20innoveer%20jij%20mee%20-%20silverlight%204%20door%20gill%20cleeren.aspx" href="https://www.ordina.nl/nieuws/evenementen/kennissessie/20110207%20-%20innoveer%20jij%20mee%20-%20silverlight%204%20door%20gill%20cleeren.aspx"&gt;https://www.ordina.nl/nieuws/evenementen/kennissessie/20110207%20-%20innoveer%20jij%20mee%20-%20silverlight%204%20door%20gill%20cleeren.aspx&lt;/a&gt;. 
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=38e4cde1-67aa-4d9d-b575-ebdee2e0fa96" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,38e4cde1-67aa-4d9d-b575-ebdee2e0fa96.aspx</comments>
      <category>Silverlight</category>
      <category>Speaking</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=febba1d5-18d4-4dfd-b04f-3c4e6c8a233b</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,febba1d5-18d4-4dfd-b04f-3c4e6c8a233b.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,febba1d5-18d4-4dfd-b04f-3c4e6c8a233b.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=febba1d5-18d4-4dfd-b04f-3c4e6c8a233b</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
With the new year now almost 2 weeks old, we have put online the first Visug events
of 2011 (and we have a great list of upcoming ones as well, more on that soon).
</p>
        <p>
To start with a bang, we have Scott Hanselman doing a session on January 24th! The
final session content will be available soon, but it will be in the MVC/NuGet area.
As we expect this to be fully booked very soon, register quickly via <a title="http://visug.be/Eventdetails/tabid/95/EventId/37/Default.aspx" href="http://visug.be/Eventdetails/tabid/95/EventId/37/Default.aspx">http://visug.be/Eventdetails/tabid/95/EventId/37/Default.aspx</a></p>
        <p>
Secondly, Bart Wullems will be doing a session on Caliburn.Micro. 
<br /><em>You've heard a lot about Model-View-ViewModel (MVVM), but you've struggled to
see how it can help you in your day-to-day work. Or, you're experienced at implementing
MVVM, but looking for some ways to maximize your investment in this methodology. In
this session, we explore Caliburn.Micro(</em><a href="http://caliburnmicro.codeplex.com/"><em>http://caliburnmicro.codeplex.com/</em></a><em>),
a simple MVVM framework, by iteratively identifying pain points in our UI development
and eliminating them with simple solutions. You'll walk away with code, but more importantly
with an understanding of how to apply some simple ideas to improve productivity with
MVVM in your own projects.</em></p>
        <p>
Register here: <a title="http://visug.be/Eventdetails/tabid/95/EventId/36/Default.aspx" href="http://visug.be/Eventdetails/tabid/95/EventId/36/Default.aspx">http://visug.be/Eventdetails/tabid/95/EventId/36/Default.aspx</a></p>
        <p>
It will be another great Visug year!
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=febba1d5-18d4-4dfd-b04f-3c4e6c8a233b" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>First Visug events of 2011 online</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,febba1d5-18d4-4dfd-b04f-3c4e6c8a233b.aspx</guid>
      <link>http://www.snowball.be/2011/01/13/First+Visug+Events+Of+2011+Online.aspx</link>
      <pubDate>Thu, 13 Jan 2011 09:05:25 GMT</pubDate>
      <description>&lt;p&gt;
With the new year now almost 2 weeks old, we have put online the first Visug events
of 2011 (and we have a great list of upcoming ones as well, more on that soon).
&lt;/p&gt;
&lt;p&gt;
To start with a bang, we have Scott Hanselman doing a session on January 24th! The
final session content will be available soon, but it will be in the MVC/NuGet area.
As we expect this to be fully booked very soon, register quickly via &lt;a title="http://visug.be/Eventdetails/tabid/95/EventId/37/Default.aspx" href="http://visug.be/Eventdetails/tabid/95/EventId/37/Default.aspx"&gt;http://visug.be/Eventdetails/tabid/95/EventId/37/Default.aspx&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Secondly, Bart Wullems will be doing a session on Caliburn.Micro. 
&lt;br&gt;
&lt;em&gt;You've heard a lot about Model-View-ViewModel (MVVM), but you've struggled to
see how it can help you in your day-to-day work. Or, you're experienced at implementing
MVVM, but looking for some ways to maximize your investment in this methodology. In
this session, we explore Caliburn.Micro(&lt;/em&gt;&lt;a href="http://caliburnmicro.codeplex.com/"&gt;&lt;em&gt;http://caliburnmicro.codeplex.com/&lt;/em&gt;&lt;/a&gt;&lt;em&gt;),
a simple MVVM framework, by iteratively identifying pain points in our UI development
and eliminating them with simple solutions. You'll walk away with code, but more importantly
with an understanding of how to apply some simple ideas to improve productivity with
MVVM in your own projects.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
Register here: &lt;a title="http://visug.be/Eventdetails/tabid/95/EventId/36/Default.aspx" href="http://visug.be/Eventdetails/tabid/95/EventId/36/Default.aspx"&gt;http://visug.be/Eventdetails/tabid/95/EventId/36/Default.aspx&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
It will be another great Visug year!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=febba1d5-18d4-4dfd-b04f-3c4e6c8a233b" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,febba1d5-18d4-4dfd-b04f-3c4e6c8a233b.aspx</comments>
      <category>Events</category>
      <category>Visug</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=4e173be4-e3f9-43c1-83bb-3b6a5807d3ee</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,4e173be4-e3f9-43c1-83bb-3b6a5807d3ee.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,4e173be4-e3f9-43c1-83bb-3b6a5807d3ee.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=4e173be4-e3f9-43c1-83bb-3b6a5807d3ee</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
On January 24th, the first Belgian Web Camp takes place. Some updates have been done
to the agenda, including another speaker being added. 
</p>
        <p>
          <a href="http://bit.ly/gVWONY">
            <img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="WebCamps_signature_v2" border="0" alt="WebCamps_signature_v2" src="http://www.snowball.be/content/binary/WindowsLiveWriter/UpdatestoWebCampcalendar_85E8/WebCamps_signature_v2_3.jpg" width="467" height="191" />
          </a>
        </p>
        <p>
This is the final agenda:
</p>
        <p>
          <b>8:30 - 9:00 </b>
          <i>Welcome and registration</i>
        </p>
        <p>
          <b>9:00 - 11:00 </b>
          <b>Opening Keynote – What’s new in the Microsoft Web Platform </b>
          <b>(Scott
Hanselman, Principle Program Manager, Microsoft)<br /></b>Just recently, Microsoft have released a bunch of new products that web developers
can use to build websites and web applications.  Scott, Drew and Jonathan will
take you on a whirlwind tour of what’s new in the Microsoft Web Platform, including
ASP.NET MVC 3, NuGet and more.<b></b></p>
        <p>
          <b>11:00 - 11:30 </b>
          <i>Coffee Break</i>
        </p>
        <p>
          <b>11:30 - 12:30 </b>
          <b>HTML5: How about today? </b>
          <b>(Katrien De Graeve, Developer
Evangelist, Microsoft)<br /></b>What is HTML5? With more and more browsers supporting HTML5, ECMAScript 5 and
other web standards, developers now have a strong web platform they can use to create
a new class of web application that is more powerful and interactive than ever before. 
What's in HTML5 that lets us take our sites to the next level?<br />
Expect demos and code! 
</p>
        <p>
          <b>12:30 - 13:30 </b>
          <i>Lunch</i>
        </p>
        <p>
          <b>13:30 - 14:45 </b>
          <b>Come in as jQuery zero, go out as jQuery hero </b>
          <b>(Gill
Cleeren)<br /></b>jQuery is the web developers’ new favorite. This lightweight JavaScript library
has developers writing JavaScript code again, and loving it! What previously needed
20 lines of code can now be done in just 3 lines. Who wouldn’t be enthusiastic? Microsoft
showed its love for the library by fully integrating it in Visual Studio. I dare to
ask: should you stay behind? In this session, we’ll take a look at jQuery and we’ll
teach you what you need to know to get you on your way. More specifically, we’ll look
at selectors, attributes, working with WCF, jQuery UI, and much more. You could easily
walk out of this session wearing a sticker: “I love jQuery”! 
</p>
        <p>
          <b>14:45 - 15:15 </b>
          <i>Coffee Break</i>
        </p>
        <p>
          <b>15:15 - 16:30 </b>
          <b>OData: Open Data for the Open Web </b>
          <b>(Jonathan Carter,
Senior Technical Evangelist, Microsoft)<br /></b>There is no shortage of valuable data being generated by applications, reports,
tools, Web sites, etc. Unfortunately, this leaves many of us wishing we could programmatically
access the data and logic behind an app, report, or Web site. To break down data silos
and increase the shared value of data and its associated business logic through the
Web, Microsoft has recently announced the Open Data Protocol which enables exposing
any data source as a Web-friendly data feed. Join this session to understand what
the Open Data Protocol (OData) is and how it adds end-user and developer value to
many of Microsoft's leading products and services (such as SharePoint Server 2010,
Microsoft Codename "Dallas", Windows Azure, SQL Server Reporting Services, SQL Server
PowerPivot for Excel, Visual Studio, .NET, Silverlight, AJAX, etc.), as well as being
accessible from a range of platforms such as Java and PHP. " 
</p>
        <p>
          <b>16:30 - 17:30 </b>
          <i>Closing drink</i>
        </p>
        <p>
Registration can be completed <a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032472434&amp;Culture=en-US">here</a> (there
are a few seats left!!)<br />
Location: 
<br /><strong>Business Faculty 
<br /></strong>St. Lendriksborre 6 / Font Saint Landry 6<br />
Brussel - Neder over Heembeek 1120<br />
Belgium<br /><br />
You can also watch the live stream but you need to register from <a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032472819&amp;Culture=en-US">here</a>.
And if you want to view the event from within your company, you can get a free breakfast
(Register <a href="http://blogs.msdn.com/b/belux/archive/2011/01/06/web-camp-belgium-join-online-and-breakfast-is-on-us.aspx">here</a>) <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=4e173be4-e3f9-43c1-83bb-3b6a5807d3ee" /><br /><hr />
Snowball.be - The blog of Gill Cleeren 
</p>
      </body>
      <title>Updates to Web Camp calendar</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,4e173be4-e3f9-43c1-83bb-3b6a5807d3ee.aspx</guid>
      <link>http://www.snowball.be/2011/01/07/Updates+To+Web+Camp+Calendar.aspx</link>
      <pubDate>Fri, 07 Jan 2011 08:31:20 GMT</pubDate>
      <description>&lt;p&gt;
On January 24th, the first Belgian Web Camp takes place. Some updates have been done
to the agenda, including another speaker being added. 
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://bit.ly/gVWONY"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="WebCamps_signature_v2" border="0" alt="WebCamps_signature_v2" src="http://www.snowball.be/content/binary/WindowsLiveWriter/UpdatestoWebCampcalendar_85E8/WebCamps_signature_v2_3.jpg" width="467" height="191"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
This is the final agenda:
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;8:30 - 9:00 &lt;/b&gt;&lt;i&gt;Welcome and registration&lt;/i&gt; 
&lt;p&gt;
&lt;b&gt;9:00 - 11:00 &lt;/b&gt;&lt;b&gt;Opening Keynote – What’s new in the Microsoft Web Platform &lt;/b&gt;&lt;b&gt;(Scott
Hanselman, Principle Program Manager, Microsoft)&lt;br&gt;
&lt;/b&gt;Just recently, Microsoft have released a bunch of new products that web developers
can use to build websites and web applications.&amp;nbsp; Scott, Drew and Jonathan will
take you on a whirlwind tour of what’s new in the Microsoft Web Platform, including
ASP.NET MVC 3, NuGet and more.&lt;b&gt;&lt;/b&gt; 
&lt;p&gt;
&lt;b&gt;11:00 - 11:30 &lt;/b&gt;&lt;i&gt;Coffee Break&lt;/i&gt; 
&lt;p&gt;
&lt;b&gt;11:30 - 12:30 &lt;/b&gt;&lt;b&gt;HTML5: How about today? &lt;/b&gt;&lt;b&gt;(Katrien De Graeve, Developer
Evangelist, Microsoft)&lt;br&gt;
&lt;/b&gt;What is HTML5? With more and more browsers supporting HTML5, ECMAScript 5 and
other web standards, developers now have a strong web platform they can use to create
a new class of web application that is more powerful and interactive than ever before.&amp;nbsp;
What's in HTML5 that lets us take our sites to the next level?&lt;br&gt;
Expect demos and code! 
&lt;p&gt;
&lt;b&gt;12:30 - 13:30 &lt;/b&gt;&lt;i&gt;Lunch&lt;/i&gt; 
&lt;p&gt;
&lt;b&gt;13:30 - 14:45 &lt;/b&gt;&lt;b&gt;Come in as jQuery zero, go out as jQuery hero &lt;/b&gt;&lt;b&gt;(Gill
Cleeren)&lt;br&gt;
&lt;/b&gt;jQuery is the web developers’ new favorite. This lightweight JavaScript library
has developers writing JavaScript code again, and loving it! What previously needed
20 lines of code can now be done in just 3 lines. Who wouldn’t be enthusiastic? Microsoft
showed its love for the library by fully integrating it in Visual Studio. I dare to
ask: should you stay behind? In this session, we’ll take a look at jQuery and we’ll
teach you what you need to know to get you on your way. More specifically, we’ll look
at selectors, attributes, working with WCF, jQuery UI, and much more. You could easily
walk out of this session wearing a sticker: “I love jQuery”! 
&lt;p&gt;
&lt;b&gt;14:45 - 15:15 &lt;/b&gt;&lt;i&gt;Coffee Break&lt;/i&gt; 
&lt;p&gt;
&lt;b&gt;15:15 - 16:30 &lt;/b&gt;&lt;b&gt;OData: Open Data for the Open Web &lt;/b&gt;&lt;b&gt;(Jonathan Carter,
Senior Technical Evangelist, Microsoft)&lt;br&gt;
&lt;/b&gt;There is no shortage of valuable data being generated by applications, reports,
tools, Web sites, etc. Unfortunately, this leaves many of us wishing we could programmatically
access the data and logic behind an app, report, or Web site. To break down data silos
and increase the shared value of data and its associated business logic through the
Web, Microsoft has recently announced the Open Data Protocol which enables exposing
any data source as a Web-friendly data feed. Join this session to understand what
the Open Data Protocol (OData) is and how it adds end-user and developer value to
many of Microsoft's leading products and services (such as SharePoint Server 2010,
Microsoft Codename "Dallas", Windows Azure, SQL Server Reporting Services, SQL Server
PowerPivot for Excel, Visual Studio, .NET, Silverlight, AJAX, etc.), as well as being
accessible from a range of platforms such as Java and PHP. " 
&lt;p&gt;
&lt;b&gt;16:30 - 17:30 &lt;/b&gt;&lt;i&gt;Closing drink&lt;/i&gt; 
&lt;p&gt;
Registration can be completed &lt;a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032472434&amp;amp;Culture=en-US"&gt;here&lt;/a&gt; (there
are a few seats left!!)&lt;br&gt;
Location: 
&lt;br&gt;
&lt;strong&gt;Business Faculty 
&lt;br&gt;
&lt;/strong&gt;St. Lendriksborre 6 / Font Saint Landry 6&lt;br&gt;
Brussel - Neder over Heembeek 1120&lt;br&gt;
Belgium&lt;br&gt;
&lt;br&gt;
You can also watch the live stream but you need to register from &lt;a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032472819&amp;amp;Culture=en-US"&gt;here&lt;/a&gt;.
And if you want to view the event from within your company, you can get a free breakfast
(Register &lt;a href="http://blogs.msdn.com/b/belux/archive/2011/01/06/web-camp-belgium-join-online-and-breakfast-is-on-us.aspx"&gt;here&lt;/a&gt;) &lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=4e173be4-e3f9-43c1-83bb-3b6a5807d3ee" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,4e173be4-e3f9-43c1-83bb-3b6a5807d3ee.aspx</comments>
      <category>.NET 4</category>
      <category>ASP.net</category>
      <category>ASP.net AJAX</category>
      <category>ASP.NET MVC</category>
      <category>Efficiency</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=1c135572-9448-491d-aa9b-02858abefef9</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,1c135572-9448-491d-aa9b-02858abefef9.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,1c135572-9448-491d-aa9b-02858abefef9.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=1c135572-9448-491d-aa9b-02858abefef9</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
If in this new year, you want to hop onto a new job, why not try Ordina Air? We’re
hiring talented people!
</p>
        <p>
Go to <a title="http://ordina-air.ordina.be/" href="http://ordina-air.ordina.be/">ordina-air.ordina.be</a> and
check in for your new job!
</p>
        <p>
          <a href="http://ordina-air.ordina.be/">
            <img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://www.snowball.be/content/binary/WindowsLiveWriter/Werehiring_96C0/image_3.png" width="462" height="348" />
          </a>
        </p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=1c135572-9448-491d-aa9b-02858abefef9" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>We’re hiring!</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,1c135572-9448-491d-aa9b-02858abefef9.aspx</guid>
      <link>http://www.snowball.be/2011/01/04/Were+Hiring.aspx</link>
      <pubDate>Tue, 04 Jan 2011 09:43:15 GMT</pubDate>
      <description>&lt;p&gt;
If in this new year, you want to hop onto a new job, why not try Ordina Air? We’re
hiring talented people!
&lt;/p&gt;
&lt;p&gt;
Go to &lt;a title="http://ordina-air.ordina.be/" href="http://ordina-air.ordina.be/"&gt;ordina-air.ordina.be&lt;/a&gt; and
check in for your new job!
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://ordina-air.ordina.be/"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://www.snowball.be/content/binary/WindowsLiveWriter/Werehiring_96C0/image_3.png" width="462" height="348"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=1c135572-9448-491d-aa9b-02858abefef9" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,1c135572-9448-491d-aa9b-02858abefef9.aspx</comments>
      <category>Personal</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=a25427bf-7d8e-4af4-a0dd-e5dbff3ad207</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,a25427bf-7d8e-4af4-a0dd-e5dbff3ad207.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,a25427bf-7d8e-4af4-a0dd-e5dbff3ad207.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=a25427bf-7d8e-4af4-a0dd-e5dbff3ad207</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I just noticed that the book I’m writing a chapter for these days is announced on
Amazon already, although the release is still some time away. The book is titled <strong>Real
World .NET 4 and C#: Indispensible Experiences from 15 .NET and C# MVPs </strong> and
can be pre-ordered from <a href="http://www.amazon.co.uk/Real-World-NET-Indispensible-Experiences/dp/1118021967/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1294129665&amp;sr=8-1">Amazon</a> from
now.
</p>
        <p>
          <a href="http://www.amazon.co.uk/Real-World-NET-Indispensible-Experiences/dp/1118021967/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1294129665&amp;sr=8-1">
            <img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="51n-40EviKL__SS500_" border="0" alt="51n-40EviKL__SS500_" src="http://www.snowball.be/content/binary/WindowsLiveWriter/MynewbookisonAmazonsortof_8658/51n-40EviKL__SS500__3.jpg" width="244" height="244" />
          </a>(That’s
me on the right there on the cover… ;-) ) 
</p>
        <p>
They did completely misspell my name though (I got renamed to Gil Gleeren for some
reason), I’m looking into getting this fixed.
</p>
        <p>
Meanwhile, my very first book I wrote with Kevin Dockx still keeps doing great and
getting great reviews, both at <a href="http://www.amazon.com/Microsoft-Silverlight-Data-Services-Cookbook/dp/1847199844/ref=sr_1_1?ie=UTF8&amp;qid=1294129963&amp;sr=8-1">Amazon.com</a> and <a href="http://www.amazon.co.uk/Microsoft-Silverlight-Data-Services-Cookbook/dp/1847199844/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1294129939&amp;sr=1-1">Amazon.co.uk</a>! 
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=a25427bf-7d8e-4af4-a0dd-e5dbff3ad207" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>My new book is on Amazon (sort of)</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,a25427bf-7d8e-4af4-a0dd-e5dbff3ad207.aspx</guid>
      <link>http://www.snowball.be/2011/01/04/My+New+Book+Is+On+Amazon+Sort+Of.aspx</link>
      <pubDate>Tue, 04 Jan 2011 08:33:12 GMT</pubDate>
      <description>&lt;p&gt;
I just noticed that the book I’m writing a chapter for these days is announced on
Amazon already, although the release is still some time away. The book is titled &lt;strong&gt;Real
World .NET 4 and C#: Indispensible Experiences from 15 .NET and C# MVPs &lt;/strong&gt; and
can be pre-ordered from &lt;a href="http://www.amazon.co.uk/Real-World-NET-Indispensible-Experiences/dp/1118021967/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1294129665&amp;amp;sr=8-1"&gt;Amazon&lt;/a&gt; from
now.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.amazon.co.uk/Real-World-NET-Indispensible-Experiences/dp/1118021967/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1294129665&amp;amp;sr=8-1"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="51n-40EviKL__SS500_" border="0" alt="51n-40EviKL__SS500_" src="http://www.snowball.be/content/binary/WindowsLiveWriter/MynewbookisonAmazonsortof_8658/51n-40EviKL__SS500__3.jpg" width="244" height="244"&gt;&lt;/a&gt;(That’s
me on the right there on the cover… ;-) ) 
&lt;/p&gt;
&lt;p&gt;
They did completely misspell my name though (I got renamed to Gil Gleeren for some
reason), I’m looking into getting this fixed.
&lt;/p&gt;
&lt;p&gt;
Meanwhile, my very first book I wrote with Kevin Dockx still keeps doing great and
getting great reviews, both at &lt;a href="http://www.amazon.com/Microsoft-Silverlight-Data-Services-Cookbook/dp/1847199844/ref=sr_1_1?ie=UTF8&amp;amp;qid=1294129963&amp;amp;sr=8-1"&gt;Amazon.com&lt;/a&gt; and &lt;a href="http://www.amazon.co.uk/Microsoft-Silverlight-Data-Services-Cookbook/dp/1847199844/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1294129939&amp;amp;sr=1-1"&gt;Amazon.co.uk&lt;/a&gt;! 
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=a25427bf-7d8e-4af4-a0dd-e5dbff3ad207" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,a25427bf-7d8e-4af4-a0dd-e5dbff3ad207.aspx</comments>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=ada79b47-5f0a-4ec8-bc08-b96244b4bcd9</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,ada79b47-5f0a-4ec8-bc08-b96244b4bcd9.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,ada79b47-5f0a-4ec8-bc08-b96244b4bcd9.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=ada79b47-5f0a-4ec8-bc08-b96244b4bcd9</wfw:commentRss>
      <slash:comments>5</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
After checking my mailbox frantically for the last couple of hours, I just got my
confirmation mail that I’m awarded MVP for the 4th year!
</p>
        <p>
          <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/MVPforthe4thyearSilverlightMVPforthefirs_E665/MVP_Horizontal_FullColor_2.gif">
            <img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="MVP_Horizontal_FullColor" border="0" alt="MVP_Horizontal_FullColor" src="http://www.snowball.be/content/binary/WindowsLiveWriter/MVPforthe4thyearSilverlightMVPforthefirs_E665/MVP_Horizontal_FullColor_thumb.gif" width="324" height="133" />
          </a>
        </p>
        <p>
          <strong>This one was a bit special though, as I’m changed from ASP.NET MVP to Silverlight
MVP!</strong>
        </p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=ada79b47-5f0a-4ec8-bc08-b96244b4bcd9" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>MVP for the 4th year, Silverlight MVP for the first year!</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,ada79b47-5f0a-4ec8-bc08-b96244b4bcd9.aspx</guid>
      <link>http://www.snowball.be/2011/01/01/MVP+For+The+4th+Year+Silverlight+MVP+For+The+First+Year.aspx</link>
      <pubDate>Sat, 01 Jan 2011 15:23:05 GMT</pubDate>
      <description>&lt;p&gt;
After checking my mailbox frantically for the last couple of hours, I just got my
confirmation mail that I’m awarded MVP for the 4th year!
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/MVPforthe4thyearSilverlightMVPforthefirs_E665/MVP_Horizontal_FullColor_2.gif"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="MVP_Horizontal_FullColor" border="0" alt="MVP_Horizontal_FullColor" src="http://www.snowball.be/content/binary/WindowsLiveWriter/MVPforthe4thyearSilverlightMVPforthefirs_E665/MVP_Horizontal_FullColor_thumb.gif" width="324" height="133"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;This one was a bit special though, as I’m changed from ASP.NET MVP to Silverlight
MVP!&lt;/strong&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=ada79b47-5f0a-4ec8-bc08-b96244b4bcd9" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,ada79b47-5f0a-4ec8-bc08-b96244b4bcd9.aspx</comments>
      <category>MVP</category>
      <category>Personal</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=4fa5a410-2ca0-4fc9-a8a3-d416c52e5f3f</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,4fa5a410-2ca0-4fc9-a8a3-d416c52e5f3f.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,4fa5a410-2ca0-4fc9-a8a3-d416c52e5f3f.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=4fa5a410-2ca0-4fc9-a8a3-d416c52e5f3f</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
When working with MVVM, the Command pattern is used to bind actions (such as a Click
on a Button) in the View with commands in the ViewModel. The ICommand interface in
Silverlight has 3 members:
</p>
        <div id="codeSnippetWrapper">
          <div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #008000">//
Summary:</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #008000">//
Defines the contract for commanding, using the same contract as used in WPF.</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">interface</span> ICommand</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">{</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #008000">//
Summary:</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #008000">//
Occurs when changes occur that affect whether the command should execute.</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">event</span> EventHandler
CanExecuteChanged;</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #008000">//
Summary:</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #008000">//
Defines the method that determines whether the command can execute in its</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #008000">//
current state.</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #008000">//</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #008000">//
Parameters:</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #008000">//
parameter:</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #008000">//
Data used by the command. If the command does not require data to be passed,</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #008000">//
this object can be set to null.</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #008000">//</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #008000">//
Returns:</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #008000">//
true if this command can be executed; otherwise, false.</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">bool</span> CanExecute(<span style="color: #0000ff">object</span> parameter);</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #008000">//</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #008000">//
Summary:</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #008000">//
Defines the method to be called when the command is invoked.</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #008000">//</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #008000">//
Parameters:</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #008000">//
parameter:</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #008000">//
Data used by the command. If the command does not require data to be passed,</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #008000">//
this object can be set to null.</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">void</span> Execute(<span style="color: #0000ff">object</span> parameter);</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">}</pre>
            <!--CRLF-->
          </div>
        </div>
        <p>
        </p>
        <p>
The fact whether or not the command can be executed (read: a Button is enabled or
not) depends on the boolean value returned by the CanExecute. By default, this value
is evaluated on first load of the View: a Save button should initially be disabled.
However, during user input, this value has to be re-evaluated: after the user has
filled in a field, we need to check if the Save button should be enabled. For this
purpose, the CanExecuteChanged event exist. This event should be raised whenever the
value of CanExecute should be evaluated once again.
</p>
        <p>
In MVVM Light, the lightwork MVVM framework by Laurent Bugnion, a method called RaiseCanExecuteChanged
exists on the RelayCommand class for this very purpose. Let’s take a look at how we
can use this method.
</p>
        <p>
I have a very basic view, containing some TextBox fields. Note that initially, the
Save button is disabled:
</p>
        <p>
          <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/WorkingwiththeRaiseCanExecuteChangedinMV_9C56/image_2.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.snowball.be/content/binary/WindowsLiveWriter/WorkingwiththeRaiseCanExecuteChangedinMV_9C56/image_thumb.png" width="347" height="140" />
          </a>
        </p>
        <p>
The XAML code is shown below. The fields are bound to a Person object, that I expose
in the ViewModel (shown further).
</p>
        <div id="codeSnippetWrapper">
          <div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">&lt;</span>
              <span style="color: #800000">Grid</span>
              <span style="color: #ff0000">Width</span>
              <span style="color: #0000ff">="450"</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">&lt;</span>
              <span style="color: #800000">Grid.RowDefinitions</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">&lt;</span>
              <span style="color: #800000">RowDefinition</span>
              <span style="color: #ff0000">Height</span>
              <span style="color: #0000ff">="50"</span>
              <span style="color: #0000ff">&gt;&lt;/</span>
              <span style="color: #800000">RowDefinition</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">&lt;</span>
              <span style="color: #800000">RowDefinition</span>
              <span style="color: #ff0000">Height</span>
              <span style="color: #0000ff">="40"</span>
              <span style="color: #0000ff">&gt;&lt;/</span>
              <span style="color: #800000">RowDefinition</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">&lt;</span>
              <span style="color: #800000">RowDefinition</span>
              <span style="color: #ff0000">Height</span>
              <span style="color: #0000ff">="40"</span>
              <span style="color: #0000ff">&gt;&lt;/</span>
              <span style="color: #800000">RowDefinition</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">&lt;</span>
              <span style="color: #800000">RowDefinition</span>
              <span style="color: #ff0000">Height</span>
              <span style="color: #0000ff">="40"</span>
              <span style="color: #0000ff">&gt;&lt;/</span>
              <span style="color: #800000">RowDefinition</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">&lt;</span>
              <span style="color: #800000">RowDefinition</span>
              <span style="color: #ff0000">Height</span>
              <span style="color: #0000ff">="40"</span>
              <span style="color: #0000ff">&gt;&lt;/</span>
              <span style="color: #800000">RowDefinition</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">&lt;/</span>
              <span style="color: #800000">Grid.RowDefinitions</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">&lt;</span>
              <span style="color: #800000">Grid.ColumnDefinitions</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">&lt;</span>
              <span style="color: #800000">ColumnDefinition</span>
              <span style="color: #ff0000">Width</span>
              <span style="color: #0000ff">="*"</span>
              <span style="color: #0000ff">&gt;&lt;/</span>
              <span style="color: #800000">ColumnDefinition</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">&lt;</span>
              <span style="color: #800000">ColumnDefinition</span>
              <span style="color: #ff0000">Width</span>
              <span style="color: #0000ff">="*"</span>
              <span style="color: #0000ff">&gt;&lt;/</span>
              <span style="color: #800000">ColumnDefinition</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">&lt;/</span>
              <span style="color: #800000">Grid.ColumnDefinitions</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">&lt;</span>
              <span style="color: #800000">TextBlock</span>
              <span style="color: #ff0000">x:Name</span>
              <span style="color: #0000ff">="FirstNameTextBlock"</span>
              <span style="color: #ff0000">Grid</span>.<span style="color: #ff0000">Row</span><span style="color: #0000ff">="1"</span></pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #ff0000">Grid</span>.<span style="color: #ff0000">Column</span><span style="color: #0000ff">="0"</span><span style="color: #ff0000">Text</span><span style="color: #0000ff">="First
name"</span><span style="color: #ff0000">VerticalAlignment</span><span style="color: #0000ff">="Center"</span><span style="color: #ff0000">Margin</span><span style="color: #0000ff">="3"</span><span style="color: #0000ff">&gt;&lt;/</span><span style="color: #800000">TextBlock</span><span style="color: #0000ff">&gt;</span></pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">&lt;</span>
              <span style="color: #800000">TextBlock</span>
              <span style="color: #ff0000">x:Name</span>
              <span style="color: #0000ff">="LastNameTextBlock"</span>
              <span style="color: #ff0000">Grid</span>.<span style="color: #ff0000">Row</span><span style="color: #0000ff">="2"</span></pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #ff0000">Grid</span>.<span style="color: #ff0000">Column</span><span style="color: #0000ff">="0"</span><span style="color: #ff0000">Text</span><span style="color: #0000ff">="Last
name"</span><span style="color: #ff0000">VerticalAlignment</span><span style="color: #0000ff">="Center"</span><span style="color: #ff0000">Margin</span><span style="color: #0000ff">="3"</span><span style="color: #0000ff">&gt;&lt;/</span><span style="color: #800000">TextBlock</span><span style="color: #0000ff">&gt;</span></pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">&lt;</span>
              <span style="color: #800000">TextBlock</span>
              <span style="color: #ff0000">x:Name</span>
              <span style="color: #0000ff">="EmailTextBlock"</span>
              <span style="color: #ff0000">Grid</span>.<span style="color: #ff0000">Row</span><span style="color: #0000ff">="3"</span></pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #ff0000">Grid</span>.<span style="color: #ff0000">Column</span><span style="color: #0000ff">="0"</span><span style="color: #ff0000">Text</span><span style="color: #0000ff">="Email"</span><span style="color: #ff0000">VerticalAlignment</span><span style="color: #0000ff">="Center"</span><span style="color: #ff0000">Margin</span><span style="color: #0000ff">="3"</span><span style="color: #0000ff">&gt;&lt;/</span><span style="color: #800000">TextBlock</span><span style="color: #0000ff">&gt;</span></pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">&lt;</span>
              <span style="color: #800000">TextBox</span>
              <span style="color: #ff0000">x:Name</span>
              <span style="color: #0000ff">="FirstNameTextBox"</span>
              <span style="color: #ff0000">Grid</span>.<span style="color: #ff0000">Row</span><span style="color: #0000ff">="1"</span></pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #ff0000">Grid</span>.<span style="color: #ff0000">Column</span><span style="color: #0000ff">="1"</span><span style="color: #ff0000">VerticalAlignment</span><span style="color: #0000ff">="Center"</span><span style="color: #ff0000">HorizontalAlignment</span><span style="color: #0000ff">="Left"</span><span style="color: #ff0000">Width</span><span style="color: #0000ff">="200"</span></pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #ff0000">Margin</span>
              <span style="color: #0000ff">="3"</span>
              <span style="color: #ff0000">Text</span>
              <span style="color: #0000ff">="{Binding
Person.FirstName, Mode=TwoWay}"</span>
              <span style="color: #0000ff">&gt;&lt;/</span>
              <span style="color: #800000">TextBox</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">&lt;</span>
              <span style="color: #800000">TextBox</span>
              <span style="color: #ff0000">x:Name</span>
              <span style="color: #0000ff">="LastNameTextBox"</span>
              <span style="color: #ff0000">Grid</span>.<span style="color: #ff0000">Row</span><span style="color: #0000ff">="2"</span><span style="color: #ff0000">Grid</span>.<span style="color: #ff0000">Column</span><span style="color: #0000ff">="1"</span></pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #ff0000">VerticalAlignment</span>
              <span style="color: #0000ff">="Center"</span>
              <span style="color: #ff0000">HorizontalAlignment</span>
              <span style="color: #0000ff">="Left"</span>
              <span style="color: #ff0000">Width</span>
              <span style="color: #0000ff">="200"</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #ff0000">Margin</span>
              <span style="color: #0000ff">="3"</span>
              <span style="color: #ff0000">Text</span>
              <span style="color: #0000ff">="{Binding
Person.LastName, Mode=TwoWay}"</span>
              <span style="color: #0000ff">&gt;&lt;/</span>
              <span style="color: #800000">TextBox</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">&lt;</span>
              <span style="color: #800000">TextBox</span>
              <span style="color: #ff0000">x:Name</span>
              <span style="color: #0000ff">="EmailTextBox"</span>
              <span style="color: #ff0000">Grid</span>.<span style="color: #ff0000">Row</span><span style="color: #0000ff">="3"</span><span style="color: #ff0000">Grid</span>.<span style="color: #ff0000">Column</span><span style="color: #0000ff">="1"</span></pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #ff0000">VerticalAlignment</span>
              <span style="color: #0000ff">="Center"</span>
              <span style="color: #ff0000">HorizontalAlignment</span>
              <span style="color: #0000ff">="Left"</span>
              <span style="color: #ff0000">Width</span>
              <span style="color: #0000ff">="200"</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #ff0000">Margin</span>
              <span style="color: #0000ff">="3"</span>
              <span style="color: #ff0000">Text</span>
              <span style="color: #0000ff">="{Binding
Person.Email, Mode=TwoWay}"</span>
              <span style="color: #0000ff">&gt;&lt;/</span>
              <span style="color: #800000">TextBox</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">&lt;</span>
              <span style="color: #800000">Button</span>
              <span style="color: #ff0000">Content</span>
              <span style="color: #0000ff">="Save"</span>
              <span style="color: #ff0000">Grid</span>.<span style="color: #ff0000">Row</span><span style="color: #0000ff">="4"</span><span style="color: #ff0000">Grid</span>.<span style="color: #ff0000">Column</span><span style="color: #0000ff">="1"</span></pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #ff0000">Command</span>
              <span style="color: #0000ff">="{Binding
SaveCommand}"</span>
              <span style="color: #ff0000">VerticalAlignment</span>
              <span style="color: #0000ff">="Center"</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #ff0000">HorizontalAlignment</span>
              <span style="color: #0000ff">="Right"</span>
              <span style="color: #0000ff">&gt;&lt;/</span>
              <span style="color: #800000">Button</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">&lt;/</span>
              <span style="color: #800000">Grid</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <!--CRLF-->
          </div>
        </div>
        <p>
        </p>
        <p>
        </p>
        <p>
The ViewModel called MainPageViewModel is set as the DataContext for this View. This
ViewModel exposes a Person instance (a Model class) and a RelayCommand for the View
to bind to.
</p>
        <div id="codeSnippetWrapper">
          <div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">class</span> MainPageViewModel:
ViewModelBase</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">{</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">public</span> Person
Person { get; set; }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">public</span> RelayCommand
SaveCommand { get; set; }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">}</pre>
            <!--CRLF-->
          </div>
        </div>
        <p>
The SaveCommand is initialized as follows:
</p>
        <div id="codeSnippetWrapper">
          <div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">private</span>
              <span style="color: #0000ff">void</span> InitializeCommands()</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">{</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    SaveCommand = <span style="color: #0000ff">new</span> RelayCommand(OnSave,
OnCanSave);</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">}</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">private</span>
              <span style="color: #0000ff">void</span> OnSave()</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">{</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #008000">//Perform
save to database</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">}</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">bool</span> OnCanSave()</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">{</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">return</span> !<span style="color: #0000ff">string</span>.IsNullOrEmpty(Person.FirstName) </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        &amp;&amp; !<span style="color: #0000ff">string</span>.IsNullOrEmpty(Person.LastName) </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        &amp;&amp; !<span style="color: #0000ff">string</span>.IsNullOrEmpty(Person.Email);</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">}</pre>
            <!--CRLF-->
          </div>
        </div>
        <p>
Note that the OnCanSave (the implementation of the CanExecuteChanged) will at this
point only be called upon binding of the ViewModel. However, I need this to be evaluated
every time a value of the bound Person changes: only after all 3 fields have a value,
the Save should be enabled.
</p>
        <p>
To implement this, I changed the Person class as follows. It implements the INotifyPropertyChanged
interface.
</p>
        <div id="codeSnippetWrapper">
          <div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">class</span> Person
: INotifyPropertyChanged</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">{</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">private</span>
              <span style="color: #0000ff">string</span> _firstName;</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">private</span>
              <span style="color: #0000ff">string</span> _lastName;</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">private</span>
              <span style="color: #0000ff">string</span> _email;</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">event</span> PropertyChangedEventHandler
PropertyChanged;</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">string</span> FirstName</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        get</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">return</span> _firstName;</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        set</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">if</span> (_firstName
!= <span style="color: #0000ff">value</span>)</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">                _firstName = <span style="color: #0000ff">value</span>;</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">if</span> (PropertyChanged
!= <span style="color: #0000ff">null</span>)</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">                {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">                    PropertyChanged(<span style="color: #0000ff">this</span>, <span style="color: #0000ff">new</span> PropertyChangedEventArgs(<span style="color: #006080">"FirstName"</span>));</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">                }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">string</span> LastName</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        get</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">return</span> _lastName;</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        set</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">if</span> (_lastName
!= <span style="color: #0000ff">value</span>)</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">                _lastName = <span style="color: #0000ff">value</span>;</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">if</span> (PropertyChanged
!= <span style="color: #0000ff">null</span>)</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">                {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">                    PropertyChanged(<span style="color: #0000ff">this</span>, <span style="color: #0000ff">new</span> PropertyChangedEventArgs(<span style="color: #006080">"LastName"</span>));</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">                }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">string</span> Email</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        get</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">return</span> _email;</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        set</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">if</span> (_email
!= <span style="color: #0000ff">value</span>)</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">                _email = <span style="color: #0000ff">value</span>;</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">if</span> (PropertyChanged
!= <span style="color: #0000ff">null</span>)</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">                {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">                    PropertyChanged(<span style="color: #0000ff">this</span>, <span style="color: #0000ff">new</span> PropertyChangedEventArgs(<span style="color: #006080">"Email"</span>));</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">                }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">}</pre>
            <!--CRLF-->
          </div>
        </div>
        <p>
In the constructor of the ViewModel, I register for the PropertyChanged event being
raised from the Person model.
</p>
        <div id="codeSnippetWrapper">
          <div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">public</span> MainPageViewModel()</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">{</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    InitializeCommands();</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    Person = <span style="color: #0000ff">new</span> Model.Person();</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    Person.PropertyChanged += </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">new</span> System.ComponentModel.PropertyChangedEventHandler(Person_PropertyChanged);</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">}</pre>
            <!--CRLF-->
          </div>
        </div>
        <p>
        </p>
        <p>
In this event handler, I now call the RaiseCanExecuteChanged method, part of the RelayCommand
class of MVVM Light.
</p>
        <div id="codeSnippetWrapper">
          <div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">void</span> Person_PropertyChanged(<span style="color: #0000ff">object</span> sender,
System.ComponentModel.PropertyChangedEventArgs e)</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">{</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    SaveCommand.RaiseCanExecuteChanged();</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">}</pre>
            <!--CRLF-->
          </div>
        </div>
        <p>
This causes the CanExecuteChanged to be raised, causing Silverlight to evaluate again
if the Command should be enabled or not. In this particular case, I do this as follows
(this code was already shown and executed also on the initial binding):
</p>
        <div id="codeSnippetWrapper">
          <div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">bool</span> OnCanSave()</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">{</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">return</span> !<span style="color: #0000ff">string</span>.IsNullOrEmpty(Person.FirstName) </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        &amp;&amp; !<span style="color: #0000ff">string</span>.IsNullOrEmpty(Person.LastName) </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        &amp;&amp; !<span style="color: #0000ff">string</span>.IsNullOrEmpty(Person.Email);</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">}</pre>
            <!--CRLF-->
          </div>
        </div>
        <p>
Whenever a value is provided for all 3 fields, the Button will be enabled.
</p>
        <p>
          <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/WorkingwiththeRaiseCanExecuteChangedinMV_9C56/image_4.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.snowball.be/content/binary/WindowsLiveWriter/WorkingwiththeRaiseCanExecuteChangedinMV_9C56/image_thumb_1.png" width="382" height="157" />
          </a>
        </p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=4fa5a410-2ca0-4fc9-a8a3-d416c52e5f3f" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Working with the RaiseCanExecuteChanged in MVVM Light (Silverlight)</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,4fa5a410-2ca0-4fc9-a8a3-d416c52e5f3f.aspx</guid>
      <link>http://www.snowball.be/2010/12/31/Working+With+The+RaiseCanExecuteChanged+In+MVVM+Light+Silverlight.aspx</link>
      <pubDate>Fri, 31 Dec 2010 10:19:12 GMT</pubDate>
      <description>&lt;p&gt;
When working with MVVM, the Command pattern is used to bind actions (such as a Click
on a Button) in the View with commands in the ViewModel. The ICommand interface in
Silverlight has 3 members:
&lt;/p&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #008000"&gt;//
Summary:&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #008000"&gt;//
Defines the contract for commanding, using the same contract as used in WPF.&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;interface&lt;/span&gt; ICommand&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;{&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #008000"&gt;//
Summary:&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #008000"&gt;//
Occurs when changes occur that affect whether the command should execute.&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;event&lt;/span&gt; EventHandler
CanExecuteChanged;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #008000"&gt;//
Summary:&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #008000"&gt;//
Defines the method that determines whether the command can execute in its&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #008000"&gt;//
current state.&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #008000"&gt;//
Parameters:&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #008000"&gt;//
parameter:&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #008000"&gt;//
Data used by the command. If the command does not require data to be passed,&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #008000"&gt;//
this object can be set to null.&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #008000"&gt;//
Returns:&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #008000"&gt;//
true if this command can be executed; otherwise, false.&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;bool&lt;/span&gt; CanExecute(&lt;span style="color: #0000ff"&gt;object&lt;/span&gt; parameter);&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #008000"&gt;//
Summary:&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #008000"&gt;//
Defines the method to be called when the command is invoked.&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #008000"&gt;//
Parameters:&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #008000"&gt;//
parameter:&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #008000"&gt;//
Data used by the command. If the command does not require data to be passed,&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #008000"&gt;//
this object can be set to null.&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; Execute(&lt;span style="color: #0000ff"&gt;object&lt;/span&gt; parameter);&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
The fact whether or not the command can be executed (read: a Button is enabled or
not) depends on the boolean value returned by the CanExecute. By default, this value
is evaluated on first load of the View: a Save button should initially be disabled.
However, during user input, this value has to be re-evaluated: after the user has
filled in a field, we need to check if the Save button should be enabled. For this
purpose, the CanExecuteChanged event exist. This event should be raised whenever the
value of CanExecute should be evaluated once again.
&lt;/p&gt;
&lt;p&gt;
In MVVM Light, the lightwork MVVM framework by Laurent Bugnion, a method called RaiseCanExecuteChanged
exists on the RelayCommand class for this very purpose. Let’s take a look at how we
can use this method.
&lt;/p&gt;
&lt;p&gt;
I have a very basic view, containing some TextBox fields. Note that initially, the
Save button is disabled:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/WorkingwiththeRaiseCanExecuteChangedinMV_9C56/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.snowball.be/content/binary/WindowsLiveWriter/WorkingwiththeRaiseCanExecuteChangedinMV_9C56/image_thumb.png" width="347" height="140"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
The XAML code is shown below. The fields are bound to a Person object, that I expose
in the ViewModel (shown further).
&lt;/p&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Grid&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Width&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="450"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Grid.RowDefinitions&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;RowDefinition&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Height&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="50"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;RowDefinition&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;RowDefinition&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Height&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="40"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;RowDefinition&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;RowDefinition&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Height&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="40"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;RowDefinition&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;RowDefinition&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Height&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="40"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;RowDefinition&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;RowDefinition&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Height&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="40"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;RowDefinition&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Grid.RowDefinitions&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;ColumnDefinition&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Width&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="*"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;ColumnDefinition&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;ColumnDefinition&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Width&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="*"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;ColumnDefinition&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Grid.ColumnDefinitions&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;TextBlock&lt;/span&gt; &lt;span style="color: #ff0000"&gt;x:Name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="FirstNameTextBlock"&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;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #ff0000"&gt;Grid&lt;/span&gt;.&lt;span style="color: #ff0000"&gt;Column&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="0"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Text&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="First
name"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;VerticalAlignment&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Center"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Margin&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="3"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;TextBlock&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;TextBlock&lt;/span&gt; &lt;span style="color: #ff0000"&gt;x:Name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="LastNameTextBlock"&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;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #ff0000"&gt;Grid&lt;/span&gt;.&lt;span style="color: #ff0000"&gt;Column&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="0"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Text&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Last
name"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;VerticalAlignment&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Center"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Margin&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="3"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;TextBlock&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;TextBlock&lt;/span&gt; &lt;span style="color: #ff0000"&gt;x:Name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="EmailTextBlock"&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;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #ff0000"&gt;Grid&lt;/span&gt;.&lt;span style="color: #ff0000"&gt;Column&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="0"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Text&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Email"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;VerticalAlignment&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Center"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Margin&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="3"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;TextBlock&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;TextBox&lt;/span&gt; &lt;span style="color: #ff0000"&gt;x:Name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="FirstNameTextBox"&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;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #ff0000"&gt;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;VerticalAlignment&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Center"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;HorizontalAlignment&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Left"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Width&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="200"&lt;/span&gt; &lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #ff0000"&gt;Margin&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="3"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Text&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="{Binding
Person.FirstName, Mode=TwoWay}"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;TextBox&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;TextBox&lt;/span&gt; &lt;span style="color: #ff0000"&gt;x:Name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="LastNameTextBox"&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: #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;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #ff0000"&gt;VerticalAlignment&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Center"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;HorizontalAlignment&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Left"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Width&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="200"&lt;/span&gt; &lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #ff0000"&gt;Margin&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="3"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Text&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="{Binding
Person.LastName, Mode=TwoWay}"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;TextBox&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;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;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: #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;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #ff0000"&gt;VerticalAlignment&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Center"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;HorizontalAlignment&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Left"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Width&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="200"&lt;/span&gt; &lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #ff0000"&gt;Margin&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="3"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Text&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="{Binding
Person.Email, Mode=TwoWay}"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;TextBox&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Button&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Content&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Save"&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;Column&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="1"&lt;/span&gt; &lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #ff0000"&gt;Command&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="{Binding
SaveCommand}"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;VerticalAlignment&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Center"&lt;/span&gt; &lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #ff0000"&gt;HorizontalAlignment&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Right"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Button&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Grid&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
The ViewModel called MainPageViewModel is set as the DataContext for this View. This
ViewModel exposes a Person instance (a Model class) and a RelayCommand for the View
to bind to.
&lt;/p&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; MainPageViewModel:
ViewModelBase&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;{&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; Person
Person { get; set; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; RelayCommand
SaveCommand { get; set; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
The SaveCommand is initialized as follows:
&lt;/p&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; InitializeCommands()&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;{&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    SaveCommand = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; RelayCommand(OnSave,
OnCanSave);&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; OnSave()&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;{&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #008000"&gt;//Perform
save to database&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;bool&lt;/span&gt; OnCanSave()&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;{&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; !&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;.IsNullOrEmpty(Person.FirstName) &lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &amp;amp;&amp;amp; !&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;.IsNullOrEmpty(Person.LastName) &lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &amp;amp;&amp;amp; !&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;.IsNullOrEmpty(Person.Email);&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
Note that the OnCanSave (the implementation of the CanExecuteChanged) will at this
point only be called upon binding of the ViewModel. However, I need this to be evaluated
every time a value of the bound Person changes: only after all 3 fields have a value,
the Save should be enabled.
&lt;/p&gt;
&lt;p&gt;
To implement this, I changed the Person class as follows. It implements the INotifyPropertyChanged
interface.
&lt;/p&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; Person
: INotifyPropertyChanged&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;{&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; _firstName;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; _lastName;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; _email;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;event&lt;/span&gt; PropertyChangedEventHandler
PropertyChanged;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; FirstName&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        get&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; _firstName;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        set&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (_firstName
!= &lt;span style="color: #0000ff"&gt;value&lt;/span&gt;)&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                _firstName = &lt;span style="color: #0000ff"&gt;value&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (PropertyChanged
!= &lt;span style="color: #0000ff"&gt;null&lt;/span&gt;)&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                    PropertyChanged(&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;, &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; PropertyChangedEventArgs(&lt;span style="color: #006080"&gt;"FirstName"&lt;/span&gt;));&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; LastName&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        get&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; _lastName;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        set&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (_lastName
!= &lt;span style="color: #0000ff"&gt;value&lt;/span&gt;)&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                _lastName = &lt;span style="color: #0000ff"&gt;value&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (PropertyChanged
!= &lt;span style="color: #0000ff"&gt;null&lt;/span&gt;)&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                    PropertyChanged(&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;, &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; PropertyChangedEventArgs(&lt;span style="color: #006080"&gt;"LastName"&lt;/span&gt;));&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; Email&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        get&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; _email;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        set&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (_email
!= &lt;span style="color: #0000ff"&gt;value&lt;/span&gt;)&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                _email = &lt;span style="color: #0000ff"&gt;value&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (PropertyChanged
!= &lt;span style="color: #0000ff"&gt;null&lt;/span&gt;)&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                    PropertyChanged(&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;, &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; PropertyChangedEventArgs(&lt;span style="color: #006080"&gt;"Email"&lt;/span&gt;));&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
In the constructor of the ViewModel, I register for the PropertyChanged event being
raised from the Person model.
&lt;/p&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; MainPageViewModel()&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;{&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    InitializeCommands();&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    Person = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Model.Person();&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    Person.PropertyChanged += &lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; System.ComponentModel.PropertyChangedEventHandler(Person_PropertyChanged);&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
In this event handler, I now call the RaiseCanExecuteChanged method, part of the RelayCommand
class of MVVM Light.
&lt;/p&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt; Person_PropertyChanged(&lt;span style="color: #0000ff"&gt;object&lt;/span&gt; sender,
System.ComponentModel.PropertyChangedEventArgs e)&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;{&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    SaveCommand.RaiseCanExecuteChanged();&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
This causes the CanExecuteChanged to be raised, causing Silverlight to evaluate again
if the Command should be enabled or not. In this particular case, I do this as follows
(this code was already shown and executed also on the initial binding):
&lt;/p&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;bool&lt;/span&gt; OnCanSave()&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;{&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; !&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;.IsNullOrEmpty(Person.FirstName) &lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &amp;amp;&amp;amp; !&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;.IsNullOrEmpty(Person.LastName) &lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &amp;amp;&amp;amp; !&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;.IsNullOrEmpty(Person.Email);&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
Whenever a value is provided for all 3 fields, the Button will be enabled.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/WorkingwiththeRaiseCanExecuteChangedinMV_9C56/image_4.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.snowball.be/content/binary/WindowsLiveWriter/WorkingwiththeRaiseCanExecuteChangedinMV_9C56/image_thumb_1.png" width="382" height="157"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=4fa5a410-2ca0-4fc9-a8a3-d416c52e5f3f" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,4fa5a410-2ca0-4fc9-a8a3-d416c52e5f3f.aspx</comments>
      <category>mvvm</category>
      <category>Silverlight</category>
      <category>sl4</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=12095703-bf5b-496e-8df0-60403476e50a</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,12095703-bf5b-496e-8df0-60403476e50a.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,12095703-bf5b-496e-8df0-60403476e50a.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=12095703-bf5b-496e-8df0-60403476e50a</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I’m a fan of SketchFlow, definitely. I really like the tool, part of Expression Blend,
to create prototypes of applications I’m building. It gives me a means of talking
with the stake holders about how I see the application and change where needed. Because
of the support for iterative feedback of the prototype, it’s easy to come to a prototype
that is a reflection of what the application will look like in the end. At Ordina,
we made sure that our analysts know SketchFlow and use it instead of Visio or PowerPoint
during the analysis and requirements gathering phase.
</p>
        <p>
One of the questions I do get a lot is whether it is a good idea to start the development
of the “real” application with the code created by SketchFlow. I tend to say no on
this question. Why you may ask? Well, here are the reasons for this:
</p>
        <ul>
          <li>
The application prototype is not designed with the real application in mind. Things
like where can I create a user control (re-using parts) or a custom control are neglected
during the prototyping phase. This is logical: during this phase, you should not be
worrying about these things at all.</li>
          <li>
In some occasions, the prototype is created by an analyst. Chances are that your analyst
will not think about the code you need to write…</li>
          <li>
SketchFlow uses styles to create the sketchy look of the controls. You need to remove
these manually, which can take some time.</li>
        </ul>
        <p>
While I say no to reusing the prototype for the final application, I do say yes to
perhaps using a part of the generated code.
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=12095703-bf5b-496e-8df0-60403476e50a" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>SketchFlow: should I be starting from my prototype for my final application or not?</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,12095703-bf5b-496e-8df0-60403476e50a.aspx</guid>
      <link>http://www.snowball.be/2010/12/30/SketchFlow+Should+I+Be+Starting+From+My+Prototype+For+My+Final+Application+Or+Not.aspx</link>
      <pubDate>Thu, 30 Dec 2010 21:22:48 GMT</pubDate>
      <description>&lt;p&gt;
I’m a fan of SketchFlow, definitely. I really like the tool, part of Expression Blend,
to create prototypes of applications I’m building. It gives me a means of talking
with the stake holders about how I see the application and change where needed. Because
of the support for iterative feedback of the prototype, it’s easy to come to a prototype
that is a reflection of what the application will look like in the end. At Ordina,
we made sure that our analysts know SketchFlow and use it instead of Visio or PowerPoint
during the analysis and requirements gathering phase.
&lt;/p&gt;
&lt;p&gt;
One of the questions I do get a lot is whether it is a good idea to start the development
of the “real” application with the code created by SketchFlow. I tend to say no on
this question. Why you may ask? Well, here are the reasons for this:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
The application prototype is not designed with the real application in mind. Things
like where can I create a user control (re-using parts) or a custom control are neglected
during the prototyping phase. This is logical: during this phase, you should not be
worrying about these things at all.&lt;/li&gt;
&lt;li&gt;
In some occasions, the prototype is created by an analyst. Chances are that your analyst
will not think about the code you need to write…&lt;/li&gt;
&lt;li&gt;
SketchFlow uses styles to create the sketchy look of the controls. You need to remove
these manually, which can take some time.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
While I say no to reusing the prototype for the final application, I do say yes to
perhaps using a part of the generated code.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=12095703-bf5b-496e-8df0-60403476e50a" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,12095703-bf5b-496e-8df0-60403476e50a.aspx</comments>
      <category>Silverlight</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=79d4da02-683d-4fb3-85e4-c9ebbfef991c</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,79d4da02-683d-4fb3-85e4-c9ebbfef991c.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,79d4da02-683d-4fb3-85e4-c9ebbfef991c.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=79d4da02-683d-4fb3-85e4-c9ebbfef991c</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/MerryChristmas_8EEE/MerryChristmas_2.jpg">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="MerryChristmas" border="0" alt="MerryChristmas" src="http://www.snowball.be/content/binary/WindowsLiveWriter/MerryChristmas_8EEE/MerryChristmas_thumb.jpg" width="669" height="420" />
          </a>
        </p>
        <p>
Enjoy these magical days with your family and loved ones and have a great 2011!
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=79d4da02-683d-4fb3-85e4-c9ebbfef991c" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Merry Christmas!</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,79d4da02-683d-4fb3-85e4-c9ebbfef991c.aspx</guid>
      <link>http://www.snowball.be/2010/12/24/Merry+Christmas.aspx</link>
      <pubDate>Fri, 24 Dec 2010 09:09:56 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/MerryChristmas_8EEE/MerryChristmas_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="MerryChristmas" border="0" alt="MerryChristmas" src="http://www.snowball.be/content/binary/WindowsLiveWriter/MerryChristmas_8EEE/MerryChristmas_thumb.jpg" width="669" height="420"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Enjoy these magical days with your family and loved ones and have a great 2011!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=79d4da02-683d-4fb3-85e4-c9ebbfef991c" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,79d4da02-683d-4fb3-85e4-c9ebbfef991c.aspx</comments>
      <category>Personal</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=34049bdd-3c40-4828-8b1a-c2e52fded635</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,34049bdd-3c40-4828-8b1a-c2e52fded635.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,34049bdd-3c40-4828-8b1a-c2e52fded635.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=34049bdd-3c40-4828-8b1a-c2e52fded635</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
It’s the time of the year again when we everyone starts reflecting on the year that
has gone by. While 2010 was great, 2011 is certainly another great one coming up.
So instead of thinking of what has been, let’s take a look into 2011… from a Microsoft
developer perspective that it :) 
</p>
        <p>
          <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/Mypredictionsfor2011_C3B9/Visual-Studio-2010-Ultimate_2.png">
            <img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="Visual-Studio-2010-Ultimate" border="0" alt="Visual-Studio-2010-Ultimate" src="http://www.snowball.be/content/binary/WindowsLiveWriter/Mypredictionsfor2011_C3B9/Visual-Studio-2010-Ultimate_thumb.png" width="202" height="244" />
          </a>
        </p>
        <p>
While 2010 was the launch year of Visual Studio 2010, in 2011 we’ll get several new
things on our plate. No Visual Studio 2011, that’s true, although when thinking about
the 18-24 month release cycle of Visual Studio, chances are that we’ll see the first
alphas or betas late in 2011. Nothing is disclosed on this at the moment though, so
that’s a pure guess of mine. 
</p>
        <p>
          <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/Mypredictionsfor2011_C3B9/Microsoft_Silverlight_2.jpg">
            <img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="Microsoft_Silverlight" border="0" alt="Microsoft_Silverlight" src="http://www.snowball.be/content/binary/WindowsLiveWriter/Mypredictionsfor2011_C3B9/Microsoft_Silverlight_thumb.jpg" width="219" height="244" />
          </a>
        </p>
        <p>
Silverlight will definitely see a new release in 2011. In H1 2011, we’ll have the
beta and in the second half of the year, we’ll have a released version. Silverlight
5 brings many new features, you can watch Scott Guthrie’s keynote on the new version
right <a href="http://www.silverlight.net/news/events/firestarter/">here</a>. 
</p>
        <p>
The statement that was put out with showing the early version of Silverlight 5 put
all the blown-out-of-proportion-rumors about Silverlight’s death to rest. It clearly
shows that any investment in Silverlight is a safe one, future-proof for years to
come. I’m looking forward to doing many sessions on this new version in the new year,
that’s for sure!
</p>
        <p>
Heavily related to Silverlight is of course the further development of Windows Phone
7. Released late 2010, the new kid on the block has caused quite a lot of stir in
the mobile world. Microsoft created a new, refreshing interface for their devices.
Some things are missing, definitely, but due to the easy updating model that is in
place, Microsoft can create and distribute updates easily, which is entirely different
from previous versions of the mobile OS. Heck, comparing WP7 with Windows Mobile…
I should not be doing that! Several (unconfirmed as of yet) updates have been rumored,
the first one coming already in January, adding copy/paste functionality as a core
function of the phone. Later updates are rumored as well, including a v7.5 in the
second half of the year and even Windows Phone 8 in 2012. While these are based on
rumors, it shows that Microsoft is both committed to the platform AND investing heavily
in creating new, updated version of the OS.
</p>
        <p>
          <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/Mypredictionsfor2011_C3B9/windows-phone-7-logo_2.jpg">
            <img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="windows-phone-7-logo" border="0" alt="windows-phone-7-logo" src="http://www.snowball.be/content/binary/WindowsLiveWriter/Mypredictionsfor2011_C3B9/windows-phone-7-logo_thumb.jpg" width="244" height="244" />
          </a>
        </p>
        <p>
For me as a Silverlight developer, Windows Phone 7 was a gift. I practically didn’t
have to learn anything new to become a mobile developer. The tooling around Windows
Phone development is by far the best there is, just install the tools in Visual Studio
and you’re good to go. 
</p>
        <p>
I now personally have a Samsung Omnia 7 (coming from an iPhone 3Gs) and I love the
phone. It’s fast, stable (I didn’t restart it since I have it I think)… True, applications
are still lacking a bit, but consider that the phone is only here for a couple of
months and consider also there are already over 4000 apps in the store and you’ll
understand that we’ll have an interesting year there as well. Oh and yes, Angry Birds
will be coming to Windows Phone 7 as well (as said by Rovio on Twitter).
</p>
        <p>
Speaking of mobile, 2011 certainly will be the year of the tablet. At CES, taking
place in January, there will be a flood of tablets coming out. Small, large, somewhere
in between, running Android or Windows 7, we’ll see them all. I do hope here on a
strong answer from Microsoft, but there’s nothing confirmed yet. I’m sure we’ll see
some really interesting stuff there as well. 
</p>
        <p>
To finish off with, let’s hope we’ll see in the new year the next version of Windows
(Windows 8??) in some form. There’s very little known currently about the new OS though.
</p>
        <p>
Enjoy these last days of 2010!
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=34049bdd-3c40-4828-8b1a-c2e52fded635" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>My Microsoft predictions for 2011</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,34049bdd-3c40-4828-8b1a-c2e52fded635.aspx</guid>
      <link>http://www.snowball.be/2010/12/23/My+Microsoft+Predictions+For+2011.aspx</link>
      <pubDate>Thu, 23 Dec 2010 13:11:42 GMT</pubDate>
      <description>&lt;p&gt;
It’s the time of the year again when we everyone starts reflecting on the year that
has gone by. While 2010 was great, 2011 is certainly another great one coming up.
So instead of thinking of what has been, let’s take a look into 2011… from a Microsoft
developer perspective that it :) 
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/Mypredictionsfor2011_C3B9/Visual-Studio-2010-Ultimate_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="Visual-Studio-2010-Ultimate" border="0" alt="Visual-Studio-2010-Ultimate" src="http://www.snowball.be/content/binary/WindowsLiveWriter/Mypredictionsfor2011_C3B9/Visual-Studio-2010-Ultimate_thumb.png" width="202" height="244"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
While 2010 was the launch year of Visual Studio 2010, in 2011 we’ll get several new
things on our plate. No Visual Studio 2011, that’s true, although when thinking about
the 18-24 month release cycle of Visual Studio, chances are that we’ll see the first
alphas or betas late in 2011. Nothing is disclosed on this at the moment though, so
that’s a pure guess of mine. 
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/Mypredictionsfor2011_C3B9/Microsoft_Silverlight_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="Microsoft_Silverlight" border="0" alt="Microsoft_Silverlight" src="http://www.snowball.be/content/binary/WindowsLiveWriter/Mypredictionsfor2011_C3B9/Microsoft_Silverlight_thumb.jpg" width="219" height="244"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Silverlight will definitely see a new release in 2011. In H1 2011, we’ll have the
beta and in the second half of the year, we’ll have a released version. Silverlight
5 brings many new features, you can watch Scott Guthrie’s keynote on the new version
right &lt;a href="http://www.silverlight.net/news/events/firestarter/"&gt;here&lt;/a&gt;. 
&lt;/p&gt;
&lt;p&gt;
The statement that was put out with showing the early version of Silverlight 5 put
all the blown-out-of-proportion-rumors about Silverlight’s death to rest. It clearly
shows that any investment in Silverlight is a safe one, future-proof for years to
come. I’m looking forward to doing many sessions on this new version in the new year,
that’s for sure!
&lt;/p&gt;
&lt;p&gt;
Heavily related to Silverlight is of course the further development of Windows Phone
7. Released late 2010, the new kid on the block has caused quite a lot of stir in
the mobile world. Microsoft created a new, refreshing interface for their devices.
Some things are missing, definitely, but due to the easy updating model that is in
place, Microsoft can create and distribute updates easily, which is entirely different
from previous versions of the mobile OS. Heck, comparing WP7 with Windows Mobile…
I should not be doing that! Several (unconfirmed as of yet) updates have been rumored,
the first one coming already in January, adding copy/paste functionality as a core
function of the phone. Later updates are rumored as well, including a v7.5 in the
second half of the year and even Windows Phone 8 in 2012. While these are based on
rumors, it shows that Microsoft is both committed to the platform AND investing heavily
in creating new, updated version of the OS.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/Mypredictionsfor2011_C3B9/windows-phone-7-logo_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="windows-phone-7-logo" border="0" alt="windows-phone-7-logo" src="http://www.snowball.be/content/binary/WindowsLiveWriter/Mypredictionsfor2011_C3B9/windows-phone-7-logo_thumb.jpg" width="244" height="244"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
For me as a Silverlight developer, Windows Phone 7 was a gift. I practically didn’t
have to learn anything new to become a mobile developer. The tooling around Windows
Phone development is by far the best there is, just install the tools in Visual Studio
and you’re good to go. 
&lt;/p&gt;
&lt;p&gt;
I now personally have a Samsung Omnia 7 (coming from an iPhone 3Gs) and I love the
phone. It’s fast, stable (I didn’t restart it since I have it I think)… True, applications
are still lacking a bit, but consider that the phone is only here for a couple of
months and consider also there are already over 4000 apps in the store and you’ll
understand that we’ll have an interesting year there as well. Oh and yes, Angry Birds
will be coming to Windows Phone 7 as well (as said by Rovio on Twitter).
&lt;/p&gt;
&lt;p&gt;
Speaking of mobile, 2011 certainly will be the year of the tablet. At CES, taking
place in January, there will be a flood of tablets coming out. Small, large, somewhere
in between, running Android or Windows 7, we’ll see them all. I do hope here on a
strong answer from Microsoft, but there’s nothing confirmed yet. I’m sure we’ll see
some really interesting stuff there as well. 
&lt;/p&gt;
&lt;p&gt;
To finish off with, let’s hope we’ll see in the new year the next version of Windows
(Windows 8??) in some form. There’s very little known currently about the new OS though.
&lt;/p&gt;
&lt;p&gt;
Enjoy these last days of 2010!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=34049bdd-3c40-4828-8b1a-c2e52fded635" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,34049bdd-3c40-4828-8b1a-c2e52fded635.aspx</comments>
      <category>.net</category>
      <category>.NET 4</category>
      <category>Microsoft</category>
      <category>Personal</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=153fed60-10e7-4113-90b1-1c885939883c</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,153fed60-10e7-4113-90b1-1c885939883c.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,153fed60-10e7-4113-90b1-1c885939883c.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=153fed60-10e7-4113-90b1-1c885939883c</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I noticed the video recording of my webinar “Building an end-to-end Silverlight 4
application” is now online (90 minutes). I hope you enjoy it and if you have questions,
please contact me via mail or comments.<br /><a href="http://www.silverlightshow.net/shows/Build-a-Silverlight-Application.aspx">Video</a><br /><a href="http://www.snowball.be/2010/12/16/Slides+And+Demos+For+SilverlightShow+Webinar.aspx">Slides
and demos were posted here</a></p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=153fed60-10e7-4113-90b1-1c885939883c" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Video recording for my latest webinar posted</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,153fed60-10e7-4113-90b1-1c885939883c.aspx</guid>
      <link>http://www.snowball.be/2010/12/19/Video+Recording+For+My+Latest+Webinar+Posted.aspx</link>
      <pubDate>Sun, 19 Dec 2010 11:32:56 GMT</pubDate>
      <description>&lt;p&gt;
I noticed the video recording of my webinar “Building an end-to-end Silverlight 4
application” is now online (90 minutes). I hope you enjoy it and if you have questions,
please contact me via mail or comments.&lt;br&gt;
&lt;a href="http://www.silverlightshow.net/shows/Build-a-Silverlight-Application.aspx"&gt;Video&lt;/a&gt;
&lt;br&gt;
&lt;a href="http://www.snowball.be/2010/12/16/Slides+And+Demos+For+SilverlightShow+Webinar.aspx"&gt;Slides
and demos were posted here&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=153fed60-10e7-4113-90b1-1c885939883c" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,153fed60-10e7-4113-90b1-1c885939883c.aspx</comments>
      <category>Silverlight</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=a1b8aa72-8f44-4d66-9811-ddcb82fda7fc</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,a1b8aa72-8f44-4d66-9811-ddcb82fda7fc.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,a1b8aa72-8f44-4d66-9811-ddcb82fda7fc.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=a1b8aa72-8f44-4d66-9811-ddcb82fda7fc</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Since Silverlight 3, we have had the Navigation Application template available. Using
this template, we did not need any tricks anymore to do navigation between “pages”
(which did not exist in Silverlight 2, we only had the UserControl). In SL3, a Navigation
Application was however rather locked down: developers had little to none options
available to hook into the navigation process itself. 
</p>
        <p>
With Silverlight 4, the INavigationContentLoader interface was introduced. This interface
provides a means for us to override how the navigation framework works: we can provide
our own logic for the page-loading process. Based on the target URI that is passed
in, we can load the page, but we can do other actions as well first. Let’s first look
at this interface: 
</p>
        <div id="codeSnippetWrapper">
          <div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">interface</span> INavigationContentLoader</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">{</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    IAsyncResult BeginLoad(Uri targetUri, Uri currentUri, </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        AsyncCallback userCallback, <span style="color: #0000ff">object</span> asyncState);</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">void</span> CancelLoad(IAsyncResult
asyncResult);</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">bool</span> CanLoad(Uri
targetUri, Uri currentUri);</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    LoadResult EndLoad(IAsyncResult asyncResult);</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">}</pre>
            <!--CRLF-->
          </div>
        </div>
        <p>
        </p>
        <p>
Because we can provide whatever functionality we want, this simple interface does
much more, we can practically do whatever we want when a user clicks on a link. Think
of actions such as the following: 
</p>
        <ul>
          <li>
The target URI could contain the name of the XAP file in which the XAML view can be
found (ex. MyXap.xap/View1.xaml). Our custom logic could check if this XAP file is
already available/downloaded on the client. If not, it can be downloaded on-demand. 
</li>
          <li>
Check that the user has permissions to see the requested URL.</li>
          <li>
Load the ViewModel corresponding to the View that is navigated to.</li>
          <li>
Pass parameters to the constructor of a page</li>
          <li>
…</li>
        </ul>
        <p>
The flow to load a page (and the corresponding calls can be seen in the interface): 
</p>
        <ul>
          <li>
A check is done using the CanLoad method if the requested page can be found. This
can be a location to handle in our own way how errors resulting from navigating to
a non-existing page are shown to the user.</li>
          <li>
The page loading process is using a cancellable asynchronous way to load pages, starting
with the BeginLoad. In the BeginLoad, we, quite logically, start the loading process. 
</li>
          <li>
Once BeginLoad started the loading process, the navigation framework waits for the
loading to be complete. Once complete, the Endload is called. In normal circumstances,
the LoadResult is a fully initialized Page that can now be displayed to the user.</li>
        </ul>
        <p>
Let’s now look at a small sample. Assume we have a service that returns, based on
the role name of the logged-in user, a list of pages the user has access to. 
</p>
        <p>
  
</p>
        <div id="codeSnippetWrapper">
          <div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">[OperationContract]</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">public</span> List&lt;SitePermission&gt;
GetAccesiblePages(<span style="color: #0000ff">string</span> roleName)</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">{</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">switch</span> (roleName)</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">case</span>
              <span style="color: #006080">"user"</span>:</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">return</span>
              <span style="color: #0000ff">new</span> List&lt;SitePermission&gt;() </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">new</span> SitePermission(){PageName=<span style="color: #006080">"/Views/Home.xaml"</span>,Allowed= <span style="color: #0000ff">true</span>},</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">new</span> SitePermission(){PageName=<span style="color: #006080">"/Views/About.xaml"</span>,Allowed= <span style="color: #0000ff">true</span>},</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">new</span> SitePermission(){PageName=<span style="color: #006080">"/Views/Products.xaml"</span>,Allowed= <span style="color: #0000ff">true</span>},</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">new</span> SitePermission(){PageName=<span style="color: #006080">"/Views/Admin.xaml"</span>,Allowed= <span style="color: #0000ff">false</span>}</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            };</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">case</span>
              <span style="color: #006080">"administrator"</span>:</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">return</span>
              <span style="color: #0000ff">new</span> List&lt;SitePermission&gt;() </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">new</span> SitePermission(){PageName=<span style="color: #006080">"/Views/Home.xaml"</span>,Allowed= <span style="color: #0000ff">true</span>},</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">new</span> SitePermission(){PageName=<span style="color: #006080">"/Views/About.xaml"</span>,Allowed= <span style="color: #0000ff">true</span>},</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">new</span> SitePermission(){PageName=<span style="color: #006080">"/Views/Products.xaml"</span>,Allowed= <span style="color: #0000ff">true</span>},</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">new</span> SitePermission(){PageName=<span style="color: #006080">"/Views/Admin.xaml"</span>,Allowed= <span style="color: #0000ff">true</span>}</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            };</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">default</span>:</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">return</span>
              <span style="color: #0000ff">new</span> List&lt;SitePermission&gt;() </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">new</span> SitePermission(){PageName=<span style="color: #006080">"/Views/Home.xaml"</span>,Allowed= <span style="color: #0000ff">false</span>},</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">new</span> SitePermission(){PageName=<span style="color: #006080">"/Views/About.xaml"</span>,Allowed= <span style="color: #0000ff">false</span>},</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">new</span> SitePermission(){PageName=<span style="color: #006080">"/Views/Products.xaml"</span>,Allowed= <span style="color: #0000ff">false</span>},</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">new</span> SitePermission(){PageName=<span style="color: #006080">"/Views/Admin.xaml"</span>,Allowed= <span style="color: #0000ff">false</span>}</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">            };</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">}</pre>
            <!--CRLF-->
          </div>
        </div>
        <p>
        </p>
        <p>
In our Silverlight code, we download this list upon start of the application and which
each navigation action, we check if the target URI is allowed to be accessed by the
user. Because we want to do this using the navigation application template, we need
to write a custom implementation of the page loading. 
</p>
        <p>
To do this, we start by adding a class that implements the INavigationContentLoader
interface. 
</p>
        <div id="codeSnippetWrapper">
          <div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">class</span> AutorizedPageContentLoader:INavigationContentLoader</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">{</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    ...</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">}</pre>
            <!--CRLF-->
          </div>
        </div>
        <p>
        </p>
        <p>
To keep things simple initially, we’ll use the default instance for the page loading
process, we’ll only change the CanLoad implementation. In the CanLoad, we need to
access the list of SitePermissions, downloaded from the service. The following code
is the service call, which was placed here in the App.xaml.cs (could be placed in
a custom bootstrapper as well):
</p>
        <div id="codeSnippetWrapper">
          <div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">public</span> ObservableCollection&lt;SitePermission&gt;
SitePermissions { get; set; }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">private</span>
              <span style="color: #0000ff">void</span> Application_Startup(<span style="color: #0000ff">object</span> sender,
StartupEventArgs e)</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">{</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    LoadSitePermissions();</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">}</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">private</span>
              <span style="color: #0000ff">void</span> LoadSitePermissions()</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">{</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    AuthorizedPageService.AuthorizedPageLoadServiceClient client = </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">new</span> AuthorizedPageService.AuthorizedPageLoadServiceClient();</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    client.GetAccesiblePagesCompleted += (s, e) =&gt;</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        SitePermissions = e.Result;</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">this</span>.RootVisual
= <span style="color: #0000ff">new</span> MainPage();</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    };</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    client.GetAccesiblePagesAsync(<span style="color: #006080">"user"</span>);</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">}</pre>
            <!--CRLF-->
          </div>
        </div>
        <p>
        </p>
        <p>
The CanLoad now checks this list and returns true or false based on the requested
Uri. 
</p>
        <div id="codeSnippetWrapper">
          <div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">bool</span> CanLoad(Uri
targetUri, Uri currentUri)</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">{</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    var item = ((App)Application.Current).SitePermissions.</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        Where(s =&gt; s.PageName == targetUri.ToString()).FirstOrDefault();</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">if</span> (item
!= <span style="color: #0000ff">null</span>)</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    {</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">return</span> item.Allowed;</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    }</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">return</span>
              <span style="color: #0000ff">false</span>;</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">}</pre>
            <!--CRLF-->
          </div>
        </div>
        <p>
        </p>
        <p>
The BeginLoad, EndLoad and CancelLoad can be handled using the default instance of
the page loading process: 
</p>
        <div id="codeSnippetWrapper">
          <div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">private</span> PageResourceContentLoader
_loader = <span style="color: #0000ff">new</span> PageResourceContentLoader();</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">public</span> IAsyncResult
BeginLoad(Uri targetUri, Uri currentUri, </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    AsyncCallback userCallback, <span style="color: #0000ff">object</span> asyncState)</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">{</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">return</span> _loader.BeginLoad(targetUri,
currentUri, userCallback, asyncState);</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">}        </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">public</span>
              <span style="color: #0000ff">void</span> CancelLoad(IAsyncResult
asyncResult)</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">{</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">    _loader.CancelLoad(asyncResult);</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">}</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">public</span> LoadResult
EndLoad(IAsyncResult asyncResult)</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">{</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">return</span> _loader.EndLoad(asyncResult);</pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">}</pre>
            <!--CRLF-->
          </div>
        </div>
        <p>
        </p>
        <p>
The final thing we need to do is of course making sure that our content loader implementation
is used by the navigation frame. 
</p>
        <p>
 
</p>
        <div id="codeSnippetWrapper">
          <div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">&lt;</span>
              <span style="color: #800000">navigation:Frame</span>
              <span style="color: #ff0000">x:Name</span>
              <span style="color: #0000ff">="ContentFrame"</span>
              <span style="color: #ff0000">Style</span>
              <span style="color: #0000ff">="{StaticResource
ContentFrameStyle}"</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #ff0000">Source</span>
              <span style="color: #0000ff">="/Home"</span>
              <span style="color: #ff0000">Navigated</span>
              <span style="color: #0000ff">="ContentFrame_Navigated"</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #ff0000">NavigationFailed</span>
              <span style="color: #0000ff">="ContentFrame_NavigationFailed"</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">&lt;</span>
              <span style="color: #800000">navigation:Frame.UriMapper</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">&lt;</span>
              <span style="color: #800000">uriMapper:UriMapper</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">&lt;</span>
              <span style="color: #800000">uriMapper:UriMapping</span>
              <span style="color: #ff0000">Uri</span>
              <span style="color: #0000ff">=""</span>
              <span style="color: #ff0000">MappedUri</span>
              <span style="color: #0000ff">="/Views/Home.xaml"</span>
              <span style="color: #0000ff">/&gt;</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">&lt;</span>
              <span style="color: #800000">uriMapper:UriMapping</span>
              <span style="color: #ff0000">Uri</span>
              <span style="color: #0000ff">="/{pageName}"</span>
              <span style="color: #ff0000">MappedUri</span>
              <span style="color: #0000ff">="/Views/{pageName}.xaml"</span>
              <span style="color: #0000ff">/&gt;</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">&lt;/</span>
              <span style="color: #800000">uriMapper:UriMapper</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">&lt;/</span>
              <span style="color: #800000">navigation:Frame.UriMapper</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">&lt;</span>
              <span style="color: #800000">navigation:Frame.ContentLoader</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">&lt;</span>
              <span style="color: #800000">local:AutorizedPageContentLoader</span>
              <span style="color: #0000ff">&gt;&lt;/</span>
              <span style="color: #800000">local:AutorizedPageContentLoader</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">&lt;/</span>
              <span style="color: #800000">navigation:Frame.ContentLoader</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <!--CRLF-->
            <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
              <span style="color: #0000ff">&lt;/</span>
              <span style="color: #800000">navigation:Frame</span>
              <span style="color: #0000ff">&gt;</span>
            </pre>
            <!--CRLF-->
          </div>
        </div>
        <p>
        </p>
        <p>
When the user now navigates to the Admin page (which is not allowed), the navigation
will not be allowed. 
</p>
        <p>
          <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TheINavigationContentLoaderinterfaceinSi_AD74/clip_image002_2.jpg">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TheINavigationContentLoaderinterfaceinSi_AD74/clip_image002_thumb.jpg" width="440" height="211" />
          </a>
          <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=a1b8aa72-8f44-4d66-9811-ddcb82fda7fc" />
          <br />
          <hr />
Snowball.be - The blog of Gill Cleeren 
</p>
      </body>
      <title>The INavigationContentLoader interface in Silverlight 4</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,a1b8aa72-8f44-4d66-9811-ddcb82fda7fc.aspx</guid>
      <link>http://www.snowball.be/2010/12/19/The+INavigationContentLoader+Interface+In+Silverlight+4.aspx</link>
      <pubDate>Sun, 19 Dec 2010 11:20:17 GMT</pubDate>
      <description>&lt;p&gt;
Since Silverlight 3, we have had the Navigation Application template available. Using
this template, we did not need any tricks anymore to do navigation between “pages”
(which did not exist in Silverlight 2, we only had the UserControl). In SL3, a Navigation
Application was however rather locked down: developers had little to none options
available to hook into the navigation process itself. 
&lt;p&gt;
With Silverlight 4, the INavigationContentLoader interface was introduced. This interface
provides a means for us to override how the navigation framework works: we can provide
our own logic for the page-loading process. Based on the target URI that is passed
in, we can load the page, but we can do other actions as well first. Let’s first look
at this interface: 
&lt;div id="codeSnippetWrapper"&gt;
&lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;interface&lt;/span&gt; INavigationContentLoader&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;{&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    IAsyncResult BeginLoad(Uri targetUri, Uri currentUri, &lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        AsyncCallback userCallback, &lt;span style="color: #0000ff"&gt;object&lt;/span&gt; asyncState);&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; CancelLoad(IAsyncResult
asyncResult);&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;   &lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;bool&lt;/span&gt; CanLoad(Uri
targetUri, Uri currentUri);&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    LoadResult EndLoad(IAsyncResult asyncResult);&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
Because we can provide whatever functionality we want, this simple interface does
much more, we can practically do whatever we want when a user clicks on a link. Think
of actions such as the following: 
&lt;ul&gt;
&lt;li&gt;
The target URI could contain the name of the XAP file in which the XAML view can be
found (ex. MyXap.xap/View1.xaml). Our custom logic could check if this XAP file is
already available/downloaded on the client. If not, it can be downloaded on-demand. 
&lt;/li&gt;
&lt;li&gt;
Check that the user has permissions to see the requested URL.&lt;/li&gt;
&lt;li&gt;
Load the ViewModel corresponding to the View that is navigated to.&lt;/li&gt;
&lt;li&gt;
Pass parameters to the constructor of a page&lt;/li&gt;
&lt;li&gt;
…&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
The flow to load a page (and the corresponding calls can be seen in the interface): 
&lt;ul&gt;
&lt;li&gt;
A check is done using the CanLoad method if the requested page can be found. This
can be a location to handle in our own way how errors resulting from navigating to
a non-existing page are shown to the user.&lt;/li&gt;
&lt;li&gt;
The page loading process is using a cancellable asynchronous way to load pages, starting
with the BeginLoad. In the BeginLoad, we, quite logically, start the loading process. 
&lt;/li&gt;
&lt;li&gt;
Once BeginLoad started the loading process, the navigation framework waits for the
loading to be complete. Once complete, the Endload is called. In normal circumstances,
the LoadResult is a fully initialized Page that can now be displayed to the user.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Let’s now look at a small sample. Assume we have a service that returns, based on
the role name of the logged-in user, a list of pages the user has access to. 
&lt;p&gt;
&amp;nbsp; 
&lt;div id="codeSnippetWrapper"&gt;
&lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;[OperationContract]&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; List&amp;lt;SitePermission&amp;gt;
GetAccesiblePages(&lt;span style="color: #0000ff"&gt;string&lt;/span&gt; roleName)&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;{&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;switch&lt;/span&gt; (roleName)&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;case&lt;/span&gt; &lt;span style="color: #006080"&gt;"user"&lt;/span&gt;:&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; List&amp;lt;SitePermission&amp;gt;() &lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; SitePermission(){PageName=&lt;span style="color: #006080"&gt;"/Views/Home.xaml"&lt;/span&gt;,Allowed= &lt;span style="color: #0000ff"&gt;true&lt;/span&gt;},&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; SitePermission(){PageName=&lt;span style="color: #006080"&gt;"/Views/About.xaml"&lt;/span&gt;,Allowed= &lt;span style="color: #0000ff"&gt;true&lt;/span&gt;},&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; SitePermission(){PageName=&lt;span style="color: #006080"&gt;"/Views/Products.xaml"&lt;/span&gt;,Allowed= &lt;span style="color: #0000ff"&gt;true&lt;/span&gt;},&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; SitePermission(){PageName=&lt;span style="color: #006080"&gt;"/Views/Admin.xaml"&lt;/span&gt;,Allowed= &lt;span style="color: #0000ff"&gt;false&lt;/span&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            };&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;case&lt;/span&gt; &lt;span style="color: #006080"&gt;"administrator"&lt;/span&gt;:&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; List&amp;lt;SitePermission&amp;gt;() &lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; SitePermission(){PageName=&lt;span style="color: #006080"&gt;"/Views/Home.xaml"&lt;/span&gt;,Allowed= &lt;span style="color: #0000ff"&gt;true&lt;/span&gt;},&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; SitePermission(){PageName=&lt;span style="color: #006080"&gt;"/Views/About.xaml"&lt;/span&gt;,Allowed= &lt;span style="color: #0000ff"&gt;true&lt;/span&gt;},&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; SitePermission(){PageName=&lt;span style="color: #006080"&gt;"/Views/Products.xaml"&lt;/span&gt;,Allowed= &lt;span style="color: #0000ff"&gt;true&lt;/span&gt;},&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; SitePermission(){PageName=&lt;span style="color: #006080"&gt;"/Views/Admin.xaml"&lt;/span&gt;,Allowed= &lt;span style="color: #0000ff"&gt;true&lt;/span&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            };&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;default&lt;/span&gt;:&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; List&amp;lt;SitePermission&amp;gt;() &lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; SitePermission(){PageName=&lt;span style="color: #006080"&gt;"/Views/Home.xaml"&lt;/span&gt;,Allowed= &lt;span style="color: #0000ff"&gt;false&lt;/span&gt;},&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; SitePermission(){PageName=&lt;span style="color: #006080"&gt;"/Views/About.xaml"&lt;/span&gt;,Allowed= &lt;span style="color: #0000ff"&gt;false&lt;/span&gt;},&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; SitePermission(){PageName=&lt;span style="color: #006080"&gt;"/Views/Products.xaml"&lt;/span&gt;,Allowed= &lt;span style="color: #0000ff"&gt;false&lt;/span&gt;},&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; SitePermission(){PageName=&lt;span style="color: #006080"&gt;"/Views/Admin.xaml"&lt;/span&gt;,Allowed= &lt;span style="color: #0000ff"&gt;false&lt;/span&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            };&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
In our Silverlight code, we download this list upon start of the application and which
each navigation action, we check if the target URI is allowed to be accessed by the
user. Because we want to do this using the navigation application template, we need
to write a custom implementation of the page loading. 
&lt;p&gt;
To do this, we start by adding a class that implements the INavigationContentLoader
interface. 
&lt;div id="codeSnippetWrapper"&gt;
&lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; AutorizedPageContentLoader:INavigationContentLoader&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;{&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    ...&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
To keep things simple initially, we’ll use the default instance for the page loading
process, we’ll only change the CanLoad implementation. In the CanLoad, we need to
access the list of SitePermissions, downloaded from the service. The following code
is the service call, which was placed here in the App.xaml.cs (could be placed in
a custom bootstrapper as well):
&lt;/p&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; ObservableCollection&amp;lt;SitePermission&amp;gt;
SitePermissions { get; set; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; Application_Startup(&lt;span style="color: #0000ff"&gt;object&lt;/span&gt; sender,
StartupEventArgs e)&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;{&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    LoadSitePermissions();&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; LoadSitePermissions()&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;{&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    AuthorizedPageService.AuthorizedPageLoadServiceClient client = &lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; AuthorizedPageService.AuthorizedPageLoadServiceClient();&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    client.GetAccesiblePagesCompleted += (s, e) =&amp;gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        SitePermissions = e.Result;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;this&lt;/span&gt;.RootVisual
= &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; MainPage();&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    };&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    client.GetAccesiblePagesAsync(&lt;span style="color: #006080"&gt;"user"&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
The CanLoad now checks this list and returns true or false based on the requested
Uri. 
&lt;div id="codeSnippetWrapper"&gt;
&lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;bool&lt;/span&gt; CanLoad(Uri
targetUri, Uri currentUri)&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;{&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    var item = ((App)Application.Current).SitePermissions.&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        Where(s =&amp;gt; s.PageName == targetUri.ToString()).FirstOrDefault();&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (item
!= &lt;span style="color: #0000ff"&gt;null&lt;/span&gt;)&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; item.Allowed;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff"&gt;false&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
The BeginLoad, EndLoad and CancelLoad can be handled using the default instance of
the page loading process: 
&lt;div id="codeSnippetWrapper"&gt;
&lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;private&lt;/span&gt; PageResourceContentLoader
_loader = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; PageResourceContentLoader();&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; IAsyncResult
BeginLoad(Uri targetUri, Uri currentUri, &lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    AsyncCallback userCallback, &lt;span style="color: #0000ff"&gt;object&lt;/span&gt; asyncState)&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;{&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; _loader.BeginLoad(targetUri,
currentUri, userCallback, asyncState);&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;}        &lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; CancelLoad(IAsyncResult
asyncResult)&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;{&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    _loader.CancelLoad(asyncResult);&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; LoadResult
EndLoad(IAsyncResult asyncResult)&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;{&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; _loader.EndLoad(asyncResult);&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
The final thing we need to do is of course making sure that our content loader implementation
is used by the navigation frame. 
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;navigation:Frame&lt;/span&gt; &lt;span style="color: #ff0000"&gt;x:Name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="ContentFrame"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Style&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="{StaticResource
ContentFrameStyle}"&lt;/span&gt; &lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #ff0000"&gt;Source&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="/Home"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Navigated&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="ContentFrame_Navigated"&lt;/span&gt; &lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #ff0000"&gt;NavigationFailed&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="ContentFrame_NavigationFailed"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;navigation:Frame.UriMapper&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;uriMapper:UriMapper&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;uriMapper:UriMapping&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Uri&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=""&lt;/span&gt; &lt;span style="color: #ff0000"&gt;MappedUri&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="/Views/Home.xaml"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;uriMapper:UriMapping&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Uri&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="/{pageName}"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;MappedUri&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="/Views/{pageName}.xaml"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;uriMapper:UriMapper&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;navigation:Frame.UriMapper&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;navigation:Frame.ContentLoader&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;local:AutorizedPageContentLoader&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;local:AutorizedPageContentLoader&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;navigation:Frame.ContentLoader&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;navigation:Frame&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;
When the user now navigates to the Admin page (which is not allowed), the navigation
will not be allowed. 
&lt;p&gt;
&lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TheINavigationContentLoaderinterfaceinSi_AD74/clip_image002_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TheINavigationContentLoaderinterfaceinSi_AD74/clip_image002_thumb.jpg" width="440" height="211"&gt;&lt;/a&gt;&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=a1b8aa72-8f44-4d66-9811-ddcb82fda7fc" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,a1b8aa72-8f44-4d66-9811-ddcb82fda7fc.aspx</comments>
      <category>Silverlight</category>
      <category>sl4</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=8616b56e-5664-44ee-be91-3ba0094102b0</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,8616b56e-5664-44ee-be91-3ba0094102b0.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,8616b56e-5664-44ee-be91-3ba0094102b0.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=8616b56e-5664-44ee-be91-3ba0094102b0</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
OK, now what is a webcamp then? 
<br /><a href="http://www.webcamps.ms/">Microsoft Web Camps</a> are free events that allow
you to learn and build on the Microsoft Web Platform. Good news: <strong>Web Camps
are coming to Belgium!</strong></p>
        <p>
The Belgian Web Camp event on 24th of January 2011 is a full-day event where will
hear from Microsoft experts on the latest components of the platform, including <a href="http://www.asp.net/mvc">ASP.NET
MVC 3</a>, jQuery, <a href="http://msdn.microsoft.com/scriptjunkie/">HTML5</a>, <a href="http://www.odata.org/developers">OData</a> and <a href="http://www.microsoft.com/web/webmatrix/">WebMatrix</a>. 
<br /><strong>Scott Hanselman</strong> is doing a two-hour keynote together with <strong>James
Senior. I’ll be doing the oData and JQuery sessions and Katrien De Graeve is doing
the HTML5 talk</strong>. 
</p>
        <p>
          <strong>Two options to registering for the event:</strong>
        </p>
        <ol>
          <li>
Register to attend in-person: <a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032472434&amp;Culture=en-US">https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032472434&amp;Culture=en-US</a></li>
          <li>
Register for the keynote live stream and see how you <strong>could have free breakfast</strong> delivered
to your company: <a href="https://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032472819&amp;EventCategory=2&amp;culture=en-US&amp;CountryCode=US">https://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032472819&amp;EventCategory=2&amp;culture=en-US&amp;CountryCode=US</a></li>
        </ol>
        <p>
          <strong>Location:</strong> Business Faculty 
<br /><a href="http://www.bing.com/maps/explore/?org=aj#5003/0.6002=q:Font+Saint+Landry+6,+Brussels:nelat:50.9168893442459:nelong:4.41648563507079:swlat:50.9006786557541:swlong:4.37657436492919:nosp:0:adj:0/5872/style=auto&amp;lat=50.908784&amp;lon=4.39653&amp;z=16&amp;pid=5874">St.
Lendriksborre 6 / Font Saint Landry 6</a><br />
Brussel - Neder over Heembeek 1120 
<br />
Belgium 
<br /><strong>Timing:</strong> Monday 24 January 2011 – 8:30 to 17:00 
</p>
        <p>
          <a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032472434&amp;Culture=en-US">
            <img title="WebCamps_signature_v2 (2)" border="0" alt="WebCamps_signature_v2 (2)" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-95-94-metablogapi/4745.WebCamps_5F00_signature_5F00_v2-_2800_2_29005F00_3.jpg" width="451" height="183" />
          </a>
        </p>
        <p>
          <strong>
            <em>Full agenda:</em>
          </strong>
        </p>
        <p>
          <b>8:30 </b>
          <b>9:00</b>
        </p>
        <p>
Welcome and registration 
</p>
        <p>
          <b>9:00-</b>
          <b>11:00</b>
        </p>
        <p>
          <b>Opening Keynote by Scott Hanselman and James Senior on ASP.NET MVC 3 and WebMatrix</b>
        </p>
        <p>
          <b>11:00-</b>
          <b>11:30</b>
        </p>
        <p>
          <i>Coffee Break</i>
        </p>
        <p>
          <b>11:30-</b>
          <b>12:30</b>
        </p>
        <p>
          <b>HTML5: How about today? (Katrien De Graeve)</b>
        </p>
        <p>
What is HTML5? With more and more browsers supporting HTML5, ECMAScript 5 and other
web standards, developers now have a strong web platform they can use to create a
new class of web application that is more powerful and interactive than ever before.
What's in HTML5 that lets us take our sites to the next level? 
<br />
Expect demos and code! 
</p>
        <p>
          <b>12:30-</b>
          <b>13:30</b>
        </p>
        <p>
          <i>Lunch</i>
        </p>
        <p>
          <b>13:30-</b>
          <b>14:45</b>
        </p>
        <p>
          <b>Come in as jQuery zero, go out as jQuery hero (Gill Cleeren)</b>
        </p>
        <p>
jQuery is the web developers’ new favorite. This lightweight JavaScript library has
developers writing JavaScript code again, and loving it! What previously needed 20
lines of code can now be done in just 3 lines. Who wouldn’t be enthusiastic? Microsoft
showed its love for the library by fully integrating it in Visual Studio. I dare to
ask: should you stay behind? In this session, we’ll take a look at jQuery and we’ll
teach you what you need to know to get you on your way. More specifically, we’ll look
at selectors, attributes, working with WCF, jQuery UI, and much more. You could easily
walk out of this session wearing a sticker: “I love jQuery”! 
</p>
        <p>
          <b>14:45-</b>
          <b>15:15</b>
        </p>
        <p>
          <i>Coffee Break</i>
        </p>
        <p>
          <b>15:15-</b>
          <b>16:30</b>
        </p>
        <p>
          <b>Oh, look at that data: using oData to expose your data over the web (Gill Cleeren)</b>
        </p>
        <p>
While applications, sites, tools all generate tons of useful data, it is sometimes
hard to access that data from your own application. To increase the shared value of
data, Microsoft has introduced the Open Data protocol. Using Open Data, we can expose
any data source as a web-friendly data feed. 
<br />
In this session, we'll start by looking at oData, to make sure that everyone is on
board with all the concepts. We'll see how it adds value for the developer and the
end user for many of Microsoft's products and services. We'll then look at how we
can build our own oData services using WCF Data Services, from working with the basic
concepts to more advanced features such as query interceptors and service operations. 
<br />
Come and learn about information and entity services that are stunning in their simplicity! 
</p>
        <p>
          <b>16:30-</b>
          <b>17:30</b>
        </p>
        <p>
          <i>Closing drink</i>
        </p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=8616b56e-5664-44ee-be91-3ba0094102b0" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>First web camp being organized in Belgium on January 24th</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,8616b56e-5664-44ee-be91-3ba0094102b0.aspx</guid>
      <link>http://www.snowball.be/2010/12/16/First+Web+Camp+Being+Organized+In+Belgium+On+January+24th.aspx</link>
      <pubDate>Thu, 16 Dec 2010 09:01:38 GMT</pubDate>
      <description>&lt;p&gt;
OK, now what is a webcamp then? 
&lt;br&gt;
&lt;a href="http://www.webcamps.ms/"&gt;Microsoft Web Camps&lt;/a&gt; are free events that allow
you to learn and build on the Microsoft Web Platform. Good news: &lt;strong&gt;Web Camps
are coming to Belgium!&lt;/strong&gt; 
&lt;p&gt;
The Belgian Web Camp event on 24th of January 2011 is a full-day event where will
hear from Microsoft experts on the latest components of the platform, including &lt;a href="http://www.asp.net/mvc"&gt;ASP.NET
MVC 3&lt;/a&gt;, jQuery, &lt;a href="http://msdn.microsoft.com/scriptjunkie/"&gt;HTML5&lt;/a&gt;, &lt;a href="http://www.odata.org/developers"&gt;OData&lt;/a&gt; and &lt;a href="http://www.microsoft.com/web/webmatrix/"&gt;WebMatrix&lt;/a&gt;. 
&lt;br&gt;
&lt;strong&gt;Scott Hanselman&lt;/strong&gt; is doing a two-hour keynote together with &lt;strong&gt;James
Senior. I’ll be doing the oData and JQuery sessions and Katrien De Graeve is doing
the HTML5 talk&lt;/strong&gt;. 
&lt;p&gt;
&lt;strong&gt;Two options to registering for the event:&lt;/strong&gt; 
&lt;ol&gt;
&lt;li&gt;
Register to attend in-person: &lt;a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032472434&amp;amp;Culture=en-US"&gt;https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032472434&amp;amp;Culture=en-US&lt;/a&gt; 
&lt;li&gt;
Register for the keynote live stream and see how you &lt;strong&gt;could have free breakfast&lt;/strong&gt; delivered
to your company: &lt;a href="https://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032472819&amp;amp;EventCategory=2&amp;amp;culture=en-US&amp;amp;CountryCode=US"&gt;https://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032472819&amp;amp;EventCategory=2&amp;amp;culture=en-US&amp;amp;CountryCode=US&lt;/a&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
&lt;strong&gt;Location:&lt;/strong&gt; Business Faculty 
&lt;br&gt;
&lt;a href="http://www.bing.com/maps/explore/?org=aj#5003/0.6002=q:Font+Saint+Landry+6,+Brussels:nelat:50.9168893442459:nelong:4.41648563507079:swlat:50.9006786557541:swlong:4.37657436492919:nosp:0:adj:0/5872/style=auto&amp;amp;lat=50.908784&amp;amp;lon=4.39653&amp;amp;z=16&amp;amp;pid=5874"&gt;St.
Lendriksborre 6 / Font Saint Landry 6&lt;/a&gt;
&lt;br&gt;
Brussel - Neder over Heembeek 1120 
&lt;br&gt;
Belgium 
&lt;br&gt;
&lt;strong&gt;Timing:&lt;/strong&gt; Monday 24 January 2011 – 8:30 to 17:00 
&lt;p&gt;
&lt;a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032472434&amp;amp;Culture=en-US"&gt;&lt;img title="WebCamps_signature_v2 (2)" border=0 alt="WebCamps_signature_v2 (2)" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-95-94-metablogapi/4745.WebCamps_5F00_signature_5F00_v2-_2800_2_29005F00_3.jpg" width=451 height=183&gt;&lt;/a&gt; 
&lt;p&gt;
&lt;strong&gt;&lt;em&gt;Full agenda:&lt;/em&gt;&lt;/strong&gt; 
&lt;p&gt;
&lt;b&gt;8:30 &lt;/b&gt;&lt;b&gt;9:00&lt;/b&gt; 
&lt;p&gt;
Welcome and registration 
&lt;p&gt;
&lt;b&gt;9:00-&lt;/b&gt;&lt;b&gt;11:00&lt;/b&gt; 
&lt;p&gt;
&lt;b&gt;Opening Keynote by Scott Hanselman and James Senior on ASP.NET MVC 3 and WebMatrix&lt;/b&gt; 
&lt;p&gt;
&lt;b&gt;11:00-&lt;/b&gt;&lt;b&gt;11:30&lt;/b&gt; 
&lt;p&gt;
&lt;i&gt;Coffee Break&lt;/i&gt; 
&lt;p&gt;
&lt;b&gt;11:30-&lt;/b&gt;&lt;b&gt;12:30&lt;/b&gt; 
&lt;p&gt;
&lt;b&gt;HTML5: How about today? (Katrien De Graeve)&lt;/b&gt; 
&lt;p&gt;
What is HTML5? With more and more browsers supporting HTML5, ECMAScript 5 and other
web standards, developers now have a strong web platform they can use to create a
new class of web application that is more powerful and interactive than ever before.
What's in HTML5 that lets us take our sites to the next level? 
&lt;br&gt;
Expect demos and code! 
&lt;p&gt;
&lt;b&gt;12:30-&lt;/b&gt;&lt;b&gt;13:30&lt;/b&gt; 
&lt;p&gt;
&lt;i&gt;Lunch&lt;/i&gt; 
&lt;p&gt;
&lt;b&gt;13:30-&lt;/b&gt;&lt;b&gt;14:45&lt;/b&gt; 
&lt;p&gt;
&lt;b&gt;Come in as jQuery zero, go out as jQuery hero (Gill Cleeren)&lt;/b&gt; 
&lt;p&gt;
jQuery is the web developers’ new favorite. This lightweight JavaScript library has
developers writing JavaScript code again, and loving it! What previously needed 20
lines of code can now be done in just 3 lines. Who wouldn’t be enthusiastic? Microsoft
showed its love for the library by fully integrating it in Visual Studio. I dare to
ask: should you stay behind? In this session, we’ll take a look at jQuery and we’ll
teach you what you need to know to get you on your way. More specifically, we’ll look
at selectors, attributes, working with WCF, jQuery UI, and much more. You could easily
walk out of this session wearing a sticker: “I love jQuery”! 
&lt;p&gt;
&lt;b&gt;14:45-&lt;/b&gt;&lt;b&gt;15:15&lt;/b&gt; 
&lt;p&gt;
&lt;i&gt;Coffee Break&lt;/i&gt; 
&lt;p&gt;
&lt;b&gt;15:15-&lt;/b&gt;&lt;b&gt;16:30&lt;/b&gt; 
&lt;p&gt;
&lt;b&gt;Oh, look at that data: using oData to expose your data over the web (Gill Cleeren)&lt;/b&gt; 
&lt;p&gt;
While applications, sites, tools all generate tons of useful data, it is sometimes
hard to access that data from your own application. To increase the shared value of
data, Microsoft has introduced the Open Data protocol. Using Open Data, we can expose
any data source as a web-friendly data feed. 
&lt;br&gt;
In this session, we'll start by looking at oData, to make sure that everyone is on
board with all the concepts. We'll see how it adds value for the developer and the
end user for many of Microsoft's products and services. We'll then look at how we
can build our own oData services using WCF Data Services, from working with the basic
concepts to more advanced features such as query interceptors and service operations. 
&lt;br&gt;
Come and learn about information and entity services that are stunning in their simplicity! 
&lt;p&gt;
&lt;b&gt;16:30-&lt;/b&gt;&lt;b&gt;17:30&lt;/b&gt; 
&lt;p&gt;
&lt;i&gt;Closing drink&lt;/i&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=8616b56e-5664-44ee-be91-3ba0094102b0" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,8616b56e-5664-44ee-be91-3ba0094102b0.aspx</comments>
      <category>.NET 4</category>
      <category>ASP.net</category>
      <category>Events</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=ad3c07f0-f9fb-4525-b9a1-40983899aef7</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,ad3c07f0-f9fb-4525-b9a1-40983899aef7.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,ad3c07f0-f9fb-4525-b9a1-40983899aef7.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=ad3c07f0-f9fb-4525-b9a1-40983899aef7</wfw:commentRss>
      <slash:comments>3</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Yesterday, I did another webinar for SilverlightShow titled “Building a Silverlight
application end-to-end”. During the presentation (which took about 90 minutes), we
had over 200 people attending which was great!
</p>
        <p>
The goal of the presentation was giving an overview of topics that developers will
encounter when building real world applications with the Silverlight platform:
</p>
        <ol>
          <li>
SketchFlow 
</li>
          <li>
WCF RIA Services 
</li>
          <li>
Data binding &amp; DataGrid 
</li>
          <li>
MVVM 
</li>
          <li>
MEF 
</li>
          <li>
Commanding &amp; behaviors 
</li>
          <li>
Messaging, navigation &amp; dialogs 
</li>
          <li>
Custom controls &amp; third party controls 
</li>
          <li>
OOB 
</li>
          <li>
Printing 
</li>
        </ol>
        <p>
A video will be available shortly, meanwhile, you can already download the slides
and demos here:<br /><a href="http://www.snowball.be/data/presentations/silverlightshow/EndToEndSlides.zip">Slides</a> - <a href="http://www.snowball.be/data/presentations/silverlightshow/DemoEndToEnd.zip">Demos</a></p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=ad3c07f0-f9fb-4525-b9a1-40983899aef7" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Slides and demos for SilverlightShow webinar</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,ad3c07f0-f9fb-4525-b9a1-40983899aef7.aspx</guid>
      <link>http://www.snowball.be/2010/12/16/Slides+And+Demos+For+SilverlightShow+Webinar.aspx</link>
      <pubDate>Thu, 16 Dec 2010 08:32:39 GMT</pubDate>
      <description>&lt;p&gt;
Yesterday, I did another webinar for SilverlightShow titled “Building a Silverlight
application end-to-end”. During the presentation (which took about 90 minutes), we
had over 200 people attending which was great!
&lt;/p&gt;
&lt;p&gt;
The goal of the presentation was giving an overview of topics that developers will
encounter when building real world applications with the Silverlight platform:
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
SketchFlow 
&lt;li&gt;
WCF RIA Services 
&lt;li&gt;
Data binding &amp;amp; DataGrid 
&lt;li&gt;
MVVM 
&lt;li&gt;
MEF 
&lt;li&gt;
Commanding &amp;amp; behaviors 
&lt;li&gt;
Messaging, navigation &amp;amp; dialogs 
&lt;li&gt;
Custom controls &amp;amp; third party controls 
&lt;li&gt;
OOB 
&lt;li&gt;
Printing 
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
A video will be available shortly, meanwhile, you can already download the slides
and demos here:&lt;br&gt;
&lt;a href="http://www.snowball.be/data/presentations/silverlightshow/EndToEndSlides.zip"&gt;Slides&lt;/a&gt; - &lt;a href="http://www.snowball.be/data/presentations/silverlightshow/DemoEndToEnd.zip"&gt;Demos&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=ad3c07f0-f9fb-4525-b9a1-40983899aef7" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,ad3c07f0-f9fb-4525-b9a1-40983899aef7.aspx</comments>
      <category>Events</category>
      <category>Silverlight</category>
      <category>sl4</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=445c3a52-e62c-4416-9855-fa49e809177e</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,445c3a52-e62c-4416-9855-fa49e809177e.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,445c3a52-e62c-4416-9855-fa49e809177e.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=445c3a52-e62c-4416-9855-fa49e809177e</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Yesterday, I got to do my very first presentation ever at TechEd Europe. The title
of the session was "What you as an ASP.NET developer need to know about jQuery". The
focus of the talk was of course jQuery and where it can be used in combination with
the ASP.NET platform, both WebForms and ASP.NET MVC. More specifically, I covered
the following topics:
</p>
        <p>
Why jQuery? 
<br />
jQuery fundamentals 
<br />
Creating and manipulating elements 
<br />
Events 
<br />
Animations and effects 
<br />
Talking to the server 
<br />
jQuery UI 
<br />
Writing plugins 
<br />
Breaking news around new releases 
<br />
Using the CDN
</p>
        <p>
The room was full with over 350 attendees and I got some great feedback. Thanks to
all people that visited my talk, really appreciated. 
</p>
        <p>
As promised, here are the slides and ALL the demos (including the ones I did not talk
about in the session):<br /><a href="http://cid-bd64f22e01fad982.office.live.com/self.aspx/TechEd/Slides.zip">Slides</a><br /><a href="http://cid-bd64f22e01fad982.office.live.com/self.aspx/TechEd/Demos.zip">Demos</a></p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=445c3a52-e62c-4416-9855-fa49e809177e" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Slides and demos from my very first TechEd talk</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,445c3a52-e62c-4416-9855-fa49e809177e.aspx</guid>
      <link>http://www.snowball.be/2010/11/11/Slides+And+Demos+From+My+Very+First+TechEd+Talk.aspx</link>
      <pubDate>Thu, 11 Nov 2010 08:00:11 GMT</pubDate>
      <description>&lt;p&gt;
Yesterday, I got to do my very first presentation ever at TechEd Europe. The title
of the session was "What you as an ASP.NET developer need to know about jQuery". The
focus of the talk was of course jQuery and where it can be used in combination with
the ASP.NET platform, both WebForms and ASP.NET MVC. More specifically, I covered
the following topics:
&lt;/p&gt;
&lt;p&gt;
Why jQuery? 
&lt;br&gt;
jQuery fundamentals 
&lt;br&gt;
Creating and manipulating elements 
&lt;br&gt;
Events 
&lt;br&gt;
Animations and effects 
&lt;br&gt;
Talking to the server 
&lt;br&gt;
jQuery UI 
&lt;br&gt;
Writing plugins 
&lt;br&gt;
Breaking news around new releases 
&lt;br&gt;
Using the CDN
&lt;/p&gt;
&lt;p&gt;
The room was full with over 350 attendees and I got some great feedback. Thanks to
all people that visited my talk, really appreciated. 
&lt;/p&gt;
&lt;p&gt;
As promised, here are the slides and ALL the demos (including the ones I did not talk
about in the session):&lt;br&gt;
&lt;a href="http://cid-bd64f22e01fad982.office.live.com/self.aspx/TechEd/Slides.zip"&gt;Slides&lt;/a&gt;
&lt;br&gt;
&lt;a href="http://cid-bd64f22e01fad982.office.live.com/self.aspx/TechEd/Demos.zip"&gt;Demos&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=445c3a52-e62c-4416-9855-fa49e809177e" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,445c3a52-e62c-4416-9855-fa49e809177e.aspx</comments>
      <category>ASP.net</category>
      <category>TechEd</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=283a8d34-4767-4b8a-a3bd-6f133bde5a4b</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,283a8d34-4767-4b8a-a3bd-6f133bde5a4b.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,283a8d34-4767-4b8a-a3bd-6f133bde5a4b.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=283a8d34-4767-4b8a-a3bd-6f133bde5a4b</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Now that PDC10 is over and after rumors (mostly because people saw “things” in an
article that weren’t there at all by the way), Microsoft has officially made clear
to the world that it is fully committed to Silverlight, that it keeps investing heavily
in the platform, that there will be future versions, that Belgium finally has a government
(got you there ;) ) and thus Silverlight is all but dead! 
</p>
        <p>
          <strong>Don’t take it from me of course, but start by reading the statements made
by </strong>
          <a href="http://team.silverlight.net/announcement/pdc-and-silverlight/">
            <strong>Bob
Muglia</strong>
          </a>
          <strong> and </strong>
          <a href="http://www.microsoft.com/presspass/press/2010/nov10/11-01Statement.mspx">
            <strong>Steve
Ballmer</strong>
          </a>
          <strong>. </strong>
        </p>
        <p>
In short, we can easily say (as mentioned in my previous post) and confirm once again
that all your investments in Silverlight are safe. If you planned (part of) your career
betting on Silverlight, it’s a great bet and one that won’t let you down. In fact,
you’ll start seeing more and more return of your investments in the coming time. Take
for example Windows Phone 7, which is (almost) here. Over a 1000 (!) apps are already
in the store and many more are on their way. Most of them being Silverlight of course! 
</p>
        <p>
Back to my statements around HTML5 and Silverlight. Taking a look at the final paragraph
in Bob Muglia’s post:<br /><em>The purpose of Silverlight has never been to replace HTML, but rather to do the
things that HTML (and other technologies) can’t, and to do so in a way that’s easy
for developers to use.  Silverlight enables great client app and media experiences. 
<br /></em>As said, Silverlight is aimed at things HTML is not intended for: business apps.
Sites are great with HTML, and can be built with Silverlight. Apps are great with
Silverlight but can be built (most of the time…) with HTML. Each has its function
and they will co-exist. 
</p>
        <p>
I really hope that all this clarifies things for everyone, including developers and
customers. Should you have questions, please don’t hesitate to contact me.
</p>
        <p>
Some other interesting articles on this: 
</p>
        <ul>
          <li>
            <a title="http://johnpapa.net/silverlight/silverlight-tv-50-scott-guthrie-discusses-the-state-of-silverlight/" href="http://johnpapa.net/silverlight/silverlight-tv-50-scott-guthrie-discusses-the-state-of-silverlight/">http://johnpapa.net/silverlight/silverlight-tv-50-scott-guthrie-discusses-the-state-of-silverlight/</a>
          </li>
          <li>
            <a title="http://timheuer.com/blog/archive/2010/11/01/silverlight-is-dead-long-live-silverlight.aspx" href="http://timheuer.com/blog/archive/2010/11/01/silverlight-is-dead-long-live-silverlight.aspx">http://timheuer.com/blog/archive/2010/11/01/silverlight-is-dead-long-live-silverlight.aspx</a>
          </li>
        </ul>
        <p>
(More added later)
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=283a8d34-4767-4b8a-a3bd-6f133bde5a4b" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>And they lived happily ever after: Silverlight is here to stay (Part 2)</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,283a8d34-4767-4b8a-a3bd-6f133bde5a4b.aspx</guid>
      <link>http://www.snowball.be/2010/11/01/And+They+Lived+Happily+Ever+After+Silverlight+Is+Here+To+Stay+Part+2.aspx</link>
      <pubDate>Mon, 01 Nov 2010 20:27:19 GMT</pubDate>
      <description>&lt;p&gt;
Now that PDC10 is over and after rumors (mostly because people saw “things” in an
article that weren’t there at all by the way), Microsoft has officially made clear
to the world that it is fully committed to Silverlight, that it keeps investing heavily
in the platform, that there will be future versions, that Belgium finally has a government
(got you there ;) ) and thus Silverlight is all but dead! 
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Don’t take it from me of course, but start by reading the statements made
by &lt;/strong&gt;&lt;a href="http://team.silverlight.net/announcement/pdc-and-silverlight/"&gt;&lt;strong&gt;Bob
Muglia&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; and &lt;/strong&gt;&lt;a href="http://www.microsoft.com/presspass/press/2010/nov10/11-01Statement.mspx"&gt;&lt;strong&gt;Steve
Ballmer&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;. &lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
In short, we can easily say (as mentioned in my previous post) and confirm once again
that all your investments in Silverlight are safe. If you planned (part of) your career
betting on Silverlight, it’s a great bet and one that won’t let you down. In fact,
you’ll start seeing more and more return of your investments in the coming time. Take
for example Windows Phone 7, which is (almost) here. Over a 1000 (!) apps are already
in the store and many more are on their way. Most of them being Silverlight of course! 
&lt;/p&gt;
&lt;p&gt;
Back to my statements around HTML5 and Silverlight. Taking a look at the final paragraph
in Bob Muglia’s post:&lt;br&gt;
&lt;em&gt;The purpose of Silverlight has never been to replace HTML, but rather to do the
things that HTML (and other technologies) can’t, and to do so in a way that’s easy
for developers to use.&amp;nbsp; Silverlight enables great client app and media experiences. 
&lt;br&gt;
&lt;/em&gt;As said, Silverlight is aimed at things HTML is not intended for: business apps.
Sites are great with HTML, and can be built with Silverlight. Apps are great with
Silverlight but can be built (most of the time…) with HTML. Each has its function
and they will co-exist. 
&lt;/p&gt;
&lt;p&gt;
I really hope that all this clarifies things for everyone, including developers and
customers. Should you have questions, please don’t hesitate to contact me.
&lt;/p&gt;
&lt;p&gt;
Some other interesting articles on this: 
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a title="http://johnpapa.net/silverlight/silverlight-tv-50-scott-guthrie-discusses-the-state-of-silverlight/" href="http://johnpapa.net/silverlight/silverlight-tv-50-scott-guthrie-discusses-the-state-of-silverlight/"&gt;http://johnpapa.net/silverlight/silverlight-tv-50-scott-guthrie-discusses-the-state-of-silverlight/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a title="http://timheuer.com/blog/archive/2010/11/01/silverlight-is-dead-long-live-silverlight.aspx" href="http://timheuer.com/blog/archive/2010/11/01/silverlight-is-dead-long-live-silverlight.aspx"&gt;http://timheuer.com/blog/archive/2010/11/01/silverlight-is-dead-long-live-silverlight.aspx&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
(More added later)
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=283a8d34-4767-4b8a-a3bd-6f133bde5a4b" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,283a8d34-4767-4b8a-a3bd-6f133bde5a4b.aspx</comments>
      <category>Silverlight</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=f593435e-612f-473f-88e7-4d6225b23171</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,f593435e-612f-473f-88e7-4d6225b23171.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,f593435e-612f-473f-88e7-4d6225b23171.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=f593435e-612f-473f-88e7-4d6225b23171</wfw:commentRss>
      <slash:comments>4</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I’ve been quite late reading all the buzz that appeared after Mary-Jo Foley wrote
an article titled “<a href="http://www.zdnet.com/blog/microsoft/microsoft-our-strategy-with-silverlight-has-shifted/7834">Microsoft:
Our strategy with Silverlight has shifted</a>”. Basically, if you don’t want to read
it, it comes down to a few things:
</p>
        <ul>
          <li>
No Silverlight being shown in the PDC keynote, only HTML5 
</li>
          <li>
She asking Bob Muglia how Microsoft sees Silverlight evolving 
</li>
          <li>
Bob Muglia responding 
<p><em>“</em><em>Silverlight is our development platform for Windows Phone</em><em>,”
he said. Silverlight also has some “sweet spots” in media and line-of-business applications,
he said.</em></p><p><em>But when it comes to touting Silverlight as Microsoft’s vehicle for delivering
a cross-platform runtime, “our strategy has shifted,” Muglia told me.</em></p><p><em>Silverlight will continue to be a cross-platform solution, working on a variety
of operating system/browser platforms, going forward, he said. “But HTML is the only
true cross platform solution for everything, including (Apple’s) iOS platform,” Muglia
said.<br /></em></p></li>
        </ul>
        <p>
Of course, this triggered a lot of reaction and it’s quite funny to follow on Twitter
(#silverlight). But more about that in a minute, first some background is in place
I guess.
</p>
        <p>
          <strong>HTML 5 and Silverlight<br /></strong>You won’t hear me denying that HTML5 will be big… some day. While most browsers
are starting to implement HTML5 features, the standard is far far (x100) away. It
could take years before there’s a standard. Years you say? Yes indeed. Years in this
sector is like decades in other industries. That means things will change. Denying
that would be foolish. While betting early is a good thing, there’s something like
too early as well. That said, HTML5, like HTML4 is still a markup language. Yes it
can now create games where dozens of fish swim around (that won’t be my next LOB app
probably but anyway). Yes it has the Canvas and a lot of other goodness. Did I say
it will be great?
</p>
        <p>
On the other hand, we have Silverlight. Today in version 4, so that’s mature. It is
today helping thousands of developers building great (LOB) applications (without swimming
fish). It will evolve (why wouldn’t it) and there’s no need to wait years for an updated
version (Microsoft has released 4 versions of Silverlight in 3 years!), so if changing
needs come around, it’s easy to add them to the platform.
</p>
        <p>
          <strong>And then came PDC2010<br /></strong>While not many where creating an issue out of the fact that several technologies
(Silverlight, Flash, HTML5) were growing steadily next to one another, a few weeks
back, things started to shake a bit and then all of a sudden, PDC2010 came along and
now everyone thinks Microsoft will abandon Silverlight.
</p>
        <p>
In fact, Microsoft is saying that some stuff they previously thought you should do
in Silverlight, you should do in HTML5. That’s not a big deal. I’ve always (like many
other Silverlight developers) been of the idea that Silverlight should not (in many
cases) be used to build entire internet sites with (I haven’t built my blog in Silverlight,
did I?). When using Silverlight (and the same goes for Flash here) in internet scenarios,
it’s often better to have “islands of Silverlight”, parts of the page in Silverlight
that is. Look at what Shawn says <a href="http://wildermuth.com/2010/10/30/Post-PDC_HTML5_v_Silverlight_Debate">here</a>: 
</p>
        <blockquote>
          <p>
            <strong>Silverlight is good for Apps; HTML is good for sites.</strong>
          </p>
        </blockquote>
        <p>
I totally agree. It depends on what you need to build, but that’s just what makes
that we need all the technologies, not one! Are you going to build real business apps
using JavaScript? OK, you CAN do it (there are some large ones out there, I’ve been
on the internet…). But by the time you are done writing your app with JavaScript,
I’ll be enjoying some vacation probably, because I could enjoy the strengths of my
managed language that sits behind Silverlight. 
</p>
        <p>
Also, Microsoft is pushing Silverlight for devices and WP7. It’s brother, WPF, is
alive and kicking (although again a small group thinks it’s dead as well). 
</p>
        <p>
          <strong>Where does that leave us now?<br /></strong>If you invested in Silverlight, don’t worry. Silverlight is here today and
it will be here tomorrow as well. Never done any Silverlight yet, well then there’s <strong>no
better time to start than now</strong>. Silverlight is <strong>mature</strong> and
can be the next best thing to build your apps with. Learn HTML5 as well, as that will
be big as well. And perhaps, you can combine both to build <strong>even better sites
AND apps</strong>. 
</p>
        <p>
          <strong>The only thing that changed is how Microsoft positions Silverlight. But we
knew that already months ago with the Team Silverlight article: </strong>
          <a href="http://team.silverlight.net/announcement/the-future-of-silverlight/">
            <strong>http://team.silverlight.net/announcement/the-future-of-silverlight/</strong>
          </a>
          <strong> .
No one said Microsoft is quitting on Silverlight. Please remember that!</strong>
        </p>
        <p>
There’s a lot of people trying to put Silverlight in a bad situation. Most of these
have no idea what Silverlight is or they are afraid of the power of Silverlight. I
do think it’s funny how some magazines also bend the words from MJF’s article even
more and come up with titles that are just there to make some more money from their
advertising contract (One known site I won't mention by name even deleted my
nuanced reply, so far for honest journalism!).
</p>
        <p>
Some other interesting articles:
</p>
        <ul>
          <li>
            <a title="http://csharperimage.jeremylikness.com/2010/10/so-whats-fuss-about-silverlight.html" href="http://csharperimage.jeremylikness.com/2010/10/so-whats-fuss-about-silverlight.html">http://csharperimage.jeremylikness.com/2010/10/so-whats-fuss-about-silverlight.html</a>
          </li>
          <li>
            <a title="http://blog.nerdplusart.com/archives/silverlight-and-html5-and-your-future" href="http://blog.nerdplusart.com/archives/silverlight-and-html5-and-your-future">http://blog.nerdplusart.com/archives/silverlight-and-html5-and-your-future</a>
          </li>
          <li>
            <a title="http://wildermuth.com/2010/10/30/Post-PDC_HTML5_v_Silverlight_Debate" href="http://wildermuth.com/2010/10/30/Post-PDC_HTML5_v_Silverlight_Debate">http://wildermuth.com/2010/10/30/Post-PDC_HTML5_v_Silverlight_Debate</a>
          </li>
          <li>
            <a href="http://blog.galasoft.ch/archive/2010/10/30/my-position-on-the-silverlight-debate.aspx">http://blog.galasoft.ch/archive/2010/10/30/my-position-on-the-silverlight-debate.aspx</a>
          </li>
        </ul>
        <p>
Feel free to comment (I won’t delete your comment ;-) ) !
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=f593435e-612f-473f-88e7-4d6225b23171" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Silverlight will stay, don’t worry</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,f593435e-612f-473f-88e7-4d6225b23171.aspx</guid>
      <link>http://www.snowball.be/2010/10/31/Silverlight+Will+Stay+Dont+Worry.aspx</link>
      <pubDate>Sun, 31 Oct 2010 00:29:50 GMT</pubDate>
      <description>&lt;p&gt;
I’ve been quite late reading all the buzz that appeared after Mary-Jo Foley wrote
an article titled “&lt;a href="http://www.zdnet.com/blog/microsoft/microsoft-our-strategy-with-silverlight-has-shifted/7834"&gt;Microsoft:
Our strategy with Silverlight has shifted&lt;/a&gt;”. Basically, if you don’t want to read
it, it comes down to a few things:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
No Silverlight being shown in the PDC keynote, only HTML5 
&lt;li&gt;
She asking Bob Muglia how Microsoft sees Silverlight evolving 
&lt;li&gt;
Bob Muglia responding 
&lt;p&gt;
&lt;em&gt;“&lt;/em&gt;&lt;em&gt;Silverlight is our development platform for Windows Phone&lt;/em&gt;&lt;em&gt;,”
he said. Silverlight also has some “sweet spots” in media and line-of-business applications,
he said.&lt;/em&gt; 
&lt;p&gt;
&lt;em&gt;But when it comes to touting Silverlight as Microsoft’s vehicle for delivering
a cross-platform runtime, “our strategy has shifted,” Muglia told me.&lt;/em&gt; 
&lt;p&gt;
&lt;em&gt;Silverlight will continue to be a cross-platform solution, working on a variety
of operating system/browser platforms, going forward, he said. “But HTML is the only
true cross platform solution for everything, including (Apple’s) iOS platform,” Muglia
said.&lt;br&gt;
&lt;/em&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Of course, this triggered a lot of reaction and it’s quite funny to follow on Twitter
(#silverlight). But more about that in a minute, first some background is in place
I guess.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;HTML 5 and Silverlight&lt;br&gt;
&lt;/strong&gt;You won’t hear me denying that HTML5 will be big… some day. While most browsers
are starting to implement HTML5 features, the standard is far far (x100) away. It
could take years before there’s a standard. Years you say? Yes indeed. Years in this
sector is like decades in other industries. That means things will change. Denying
that would be foolish. While betting early is a good thing, there’s something like
too early as well. That said, HTML5, like HTML4 is still a markup language. Yes it
can now create games where dozens of fish swim around (that won’t be my next LOB app
probably but anyway). Yes it has the Canvas and a lot of other goodness. Did I say
it will be great?
&lt;/p&gt;
&lt;p&gt;
On the other hand, we have Silverlight. Today in version 4, so that’s mature. It is
today helping thousands of developers building great (LOB) applications (without swimming
fish). It will evolve (why wouldn’t it) and there’s no need to wait years for an updated
version (Microsoft has released 4 versions of Silverlight in 3 years!), so if changing
needs come around, it’s easy to add them to the platform.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;And then came PDC2010&lt;br&gt;
&lt;/strong&gt;While not many where creating an issue out of the fact that several technologies
(Silverlight, Flash, HTML5) were growing steadily next to one another, a few weeks
back, things started to shake a bit and then all of a sudden, PDC2010 came along and
now everyone thinks Microsoft will abandon Silverlight.
&lt;/p&gt;
&lt;p&gt;
In fact, Microsoft is saying that some stuff they previously thought you should do
in Silverlight, you should do in HTML5. That’s not a big deal. I’ve always (like many
other Silverlight developers) been of the idea that Silverlight should not (in many
cases) be used to build entire internet sites with (I haven’t built my blog in Silverlight,
did I?). When using Silverlight (and the same goes for Flash here) in internet scenarios,
it’s often better to have “islands of Silverlight”, parts of the page in Silverlight
that is. Look at what Shawn says &lt;a href="http://wildermuth.com/2010/10/30/Post-PDC_HTML5_v_Silverlight_Debate"&gt;here&lt;/a&gt;: 
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p&gt;
&lt;strong&gt;Silverlight is good for Apps; HTML is good for sites.&lt;/strong&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
I totally agree. It depends on what you need to build, but that’s just what makes
that we need all the technologies, not one! Are you going to build real business apps
using JavaScript? OK, you CAN do it (there are some large ones out there, I’ve been
on the internet…). But by the time you are done writing your app with JavaScript,
I’ll be enjoying some vacation probably, because I could enjoy the strengths of my
managed language that sits behind Silverlight. 
&lt;/p&gt;
&lt;p&gt;
Also, Microsoft is pushing Silverlight for devices and WP7. It’s brother, WPF, is
alive and kicking (although again a small group thinks it’s dead as well). 
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Where does that leave us now?&lt;br&gt;
&lt;/strong&gt;If you invested in Silverlight, don’t worry. Silverlight is here today and
it will be here tomorrow as well. Never done any Silverlight yet, well then there’s &lt;strong&gt;no
better time to start than now&lt;/strong&gt;. Silverlight is &lt;strong&gt;mature&lt;/strong&gt; and
can be the next best thing to build your apps with. Learn HTML5 as well, as that will
be big as well. And perhaps, you can combine both to build &lt;strong&gt;even better sites
AND apps&lt;/strong&gt;. 
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;The only thing that changed is how Microsoft positions Silverlight. But we
knew that already months ago with the Team Silverlight article: &lt;/strong&gt;&lt;a href="http://team.silverlight.net/announcement/the-future-of-silverlight/"&gt;&lt;strong&gt;http://team.silverlight.net/announcement/the-future-of-silverlight/&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; .
No one said Microsoft is quitting on Silverlight. Please remember that!&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
There’s a lot of people trying to put Silverlight in a bad situation. Most of these
have no idea what Silverlight is or they are afraid of the power of Silverlight. I
do think it’s funny how some magazines also bend the words from MJF’s article even
more and come up with titles that are just there to make some more money from their
advertising contract (One known&amp;nbsp;site I won't mention by name even deleted my
nuanced reply, so far for honest journalism!).
&lt;/p&gt;
&lt;p&gt;
Some other interesting articles:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a title=http://csharperimage.jeremylikness.com/2010/10/so-whats-fuss-about-silverlight.html href="http://csharperimage.jeremylikness.com/2010/10/so-whats-fuss-about-silverlight.html"&gt;http://csharperimage.jeremylikness.com/2010/10/so-whats-fuss-about-silverlight.html&lt;/a&gt; 
&lt;li&gt;
&lt;a title=http://blog.nerdplusart.com/archives/silverlight-and-html5-and-your-future href="http://blog.nerdplusart.com/archives/silverlight-and-html5-and-your-future"&gt;http://blog.nerdplusart.com/archives/silverlight-and-html5-and-your-future&lt;/a&gt; 
&lt;li&gt;
&lt;a title=http://wildermuth.com/2010/10/30/Post-PDC_HTML5_v_Silverlight_Debate href="http://wildermuth.com/2010/10/30/Post-PDC_HTML5_v_Silverlight_Debate"&gt;http://wildermuth.com/2010/10/30/Post-PDC_HTML5_v_Silverlight_Debate&lt;/a&gt; 
&lt;li&gt;
&lt;a href="http://blog.galasoft.ch/archive/2010/10/30/my-position-on-the-silverlight-debate.aspx"&gt;http://blog.galasoft.ch/archive/2010/10/30/my-position-on-the-silverlight-debate.aspx&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Feel free to comment (I won’t delete your comment ;-) ) !
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=f593435e-612f-473f-88e7-4d6225b23171" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,f593435e-612f-473f-88e7-4d6225b23171.aspx</comments>
      <category>Silverlight</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=0b76f867-a3a6-486e-b866-cd7a3fc5ea6c</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,0b76f867-a3a6-486e-b866-cd7a3fc5ea6c.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,0b76f867-a3a6-486e-b866-cd7a3fc5ea6c.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=0b76f867-a3a6-486e-b866-cd7a3fc5ea6c</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
On Wednesday October 27th, I gave a webinar for SilverlightShow.net. The topic in
this webinar was 10 tips in Silverlight 4. The video will be online soon. Meanwhile,
you can already take a look at the slides and demos below.
</p>
        <p>
          <a href="http://www.snowball.be/data/presentations/silverlightshow/SilverlightShow10TipsinSilverlight4.zip">Slides</a> – <a href="http://www.snowball.be/data/presentations/sdc2010/10Tips.zip">Demos</a></p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=0b76f867-a3a6-486e-b866-cd7a3fc5ea6c" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Slides and demos for Silverlight Show webinar</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,0b76f867-a3a6-486e-b866-cd7a3fc5ea6c.aspx</guid>
      <link>http://www.snowball.be/2010/10/27/Slides+And+Demos+For+Silverlight+Show+Webinar.aspx</link>
      <pubDate>Wed, 27 Oct 2010 20:23:57 GMT</pubDate>
      <description>&lt;p&gt;
On Wednesday October 27th, I gave a webinar for SilverlightShow.net. The topic in
this webinar was 10 tips in Silverlight 4. The video will be online soon. Meanwhile,
you can already take a look at the slides and demos below.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.snowball.be/data/presentations/silverlightshow/SilverlightShow10TipsinSilverlight4.zip"&gt;Slides&lt;/a&gt; – &lt;a href="http://www.snowball.be/data/presentations/sdc2010/10Tips.zip"&gt;Demos&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=0b76f867-a3a6-486e-b866-cd7a3fc5ea6c" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,0b76f867-a3a6-486e-b866-cd7a3fc5ea6c.aspx</comments>
      <category>Events</category>
      <category>Silverlight</category>
      <category>sl4</category>
      <category>Speaking</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=cff76d77-d7ae-4615-8246-6027f91ecbfb</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,cff76d77-d7ae-4615-8246-6027f91ecbfb.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,cff76d77-d7ae-4615-8246-6027f91ecbfb.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=cff76d77-d7ae-4615-8246-6027f91ecbfb</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Last Monday, I was for the very first time at SDC in The Netherlands, the conference
organized by the people behind SDN. I gave 2 presentations there, you can download
the slides and demos below.
</p>
        <p>
Silverlight 4 Tour de Force with a little WPF 4 sauce on top: <a href="http://www.snowball.be/data/presentations/sdc2010/Silverlight4WPF.zip">Slides</a> – <a href="http://www.snowball.be/data/presentations/sdc2010/SL4WP4demos.zip">Demos</a></p>
        <p>
Silverlight 4 Tips and tricks: <a href="http://www.snowball.be/data/presentations/sdc2010/10TipsinSilverlight4.zip">Slides</a> – <a href="http://www.snowball.be/data/presentations/sdc2010/10Tips.zip">Demos</a></p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=cff76d77-d7ae-4615-8246-6027f91ecbfb" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>My slides and demos for SDC2010</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,cff76d77-d7ae-4615-8246-6027f91ecbfb.aspx</guid>
      <link>http://www.snowball.be/2010/10/27/My+Slides+And+Demos+For+SDC2010.aspx</link>
      <pubDate>Wed, 27 Oct 2010 20:23:42 GMT</pubDate>
      <description>&lt;p&gt;
Last Monday, I was for the very first time at SDC in The Netherlands, the conference
organized by the people behind SDN. I gave 2 presentations there, you can download
the slides and demos below.
&lt;/p&gt;
&lt;p&gt;
Silverlight 4 Tour de Force with a little WPF 4 sauce on top: &lt;a href="http://www.snowball.be/data/presentations/sdc2010/Silverlight4WPF.zip"&gt;Slides&lt;/a&gt; – &lt;a href="http://www.snowball.be/data/presentations/sdc2010/SL4WP4demos.zip"&gt;Demos&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Silverlight 4 Tips and tricks: &lt;a href="http://www.snowball.be/data/presentations/sdc2010/10TipsinSilverlight4.zip"&gt;Slides&lt;/a&gt; – &lt;a href="http://www.snowball.be/data/presentations/sdc2010/10Tips.zip"&gt;Demos&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=cff76d77-d7ae-4615-8246-6027f91ecbfb" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,cff76d77-d7ae-4615-8246-6027f91ecbfb.aspx</comments>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=071cc5e4-cd29-4357-bc54-30f345be59ff</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,071cc5e4-cd29-4357-bc54-30f345be59ff.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,071cc5e4-cd29-4357-bc54-30f345be59ff.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=071cc5e4-cd29-4357-bc54-30f345be59ff</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
The upcoming PDC, which starts tomorrow, is probably the most unique one ever. While
there are only a 1000 attendees possible AND the event is taking place in Redmond,
more people than even will be able to watch it live. This is truly the first world-wide
PDC.
</p>
        <p>
          <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/PDC10watchthekeynotelive_13401/image_2.png">
            <img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://www.snowball.be/content/binary/WindowsLiveWriter/PDC10watchthekeynotelive_13401/image_thumb.png" width="204" height="62" />
          </a>
        </p>
        <p>
If you want to watch the keynote live, you can do so using <b><a href="http://bit.ly/akeK7Q">http://bit.ly/akeK7Q</a></b> . 
<br />
Also, you can join us at the Microsoft building where we are holding a local PDC event
(Visug and Microsoft). Still a few seats open here so register if you want to join
via <a title="EventDetail.aspx-EventID=1032463933&amp;Culture=en-US" href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032463933&amp;Culture=en-US">EventDetail.aspx-EventID=1032463933&amp;Culture=en-US</a> . 
<br />
More on PDC here in the coming days of course!
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=071cc5e4-cd29-4357-bc54-30f345be59ff" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>PDC 10: watch the keynote live</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,071cc5e4-cd29-4357-bc54-30f345be59ff.aspx</guid>
      <link>http://www.snowball.be/2010/10/27/PDC+10+Watch+The+Keynote+Live.aspx</link>
      <pubDate>Wed, 27 Oct 2010 19:54:09 GMT</pubDate>
      <description>&lt;p&gt;
The upcoming PDC, which starts tomorrow, is probably the most unique one ever. While
there are only a 1000 attendees possible AND the event is taking place in Redmond,
more people than even will be able to watch it live. This is truly the first world-wide
PDC.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/PDC10watchthekeynotelive_13401/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://www.snowball.be/content/binary/WindowsLiveWriter/PDC10watchthekeynotelive_13401/image_thumb.png" width="204" height="62"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
If you want to watch the keynote live, you can do so using &lt;b&gt;&lt;a href="http://bit.ly/akeK7Q"&gt;http://bit.ly/akeK7Q&lt;/a&gt;&lt;/b&gt; . 
&lt;br&gt;
Also, you can join us at the Microsoft building where we are holding a local PDC event
(Visug and Microsoft). Still a few seats open here so register if you want to join
via &lt;a title="EventDetail.aspx-EventID=1032463933&amp;amp;Culture=en-US" href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032463933&amp;amp;Culture=en-US"&gt;EventDetail.aspx-EventID=1032463933&amp;amp;Culture=en-US&lt;/a&gt; . 
&lt;br&gt;
More on PDC here in the coming days of course!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=071cc5e4-cd29-4357-bc54-30f345be59ff" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,071cc5e4-cd29-4357-bc54-30f345be59ff.aspx</comments>
      <category>Events</category>
      <category>PDC</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=a866dca3-e710-4749-8b38-84fa4e87b934</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,a866dca3-e710-4749-8b38-84fa4e87b934.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,a866dca3-e710-4749-8b38-84fa4e87b934.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=a866dca3-e710-4749-8b38-84fa4e87b934</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <strong>Light up your Silverlight skills with the all-new Global Silverlight Firestarter!</strong>
        </p>
        <p>
          <strong>
            <a href="http://jpapa.me//slfs10">
              <img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="SLFirestarter_300X250" border="0" alt="SLFirestarter_300X250" src="http://www.snowball.be/content/binary/WindowsLiveWriter/SilverlightFirestarteronDecember2nd_113/SLFirestarter_300X250_3.jpg" width="244" height="204" />
            </a>
          </strong>
        </p>
        <p>
          <strong>
            <em>
            </em>
          </strong>
        </p>
        <p>
          <strong>
            <em>What is the Silverlight Firestarter?</em>
          </strong>
        </p>
        <p>
-          <strong>An Event: </strong>A
one day, global, live streamed and on demand event keynoted by Scott Guthrie 
</p>
        <p>
-          <strong>Training:</strong> New
self-paced labs and walk through videos 
</p>
        <p>
-          <strong>Interactive: </strong>Got
questions? Get your answers! Watch live and ask the Silverlight product team questions
during the event. 
</p>
        <p>
-          <strong>Why Silverlight? </strong>Silverlight
is Microsoft’s strategic development platform for building interactive applications
across desktop, phone, and the browser. 
</p>
        <p>
          <strong>
            <em>
            </em>
          </strong>
        </p>
        <p>
          <strong>
            <em>Something for Everyone</em>
          </strong>
        </p>
        <p>
-          <strong>Just starting out
with Silverlight?</strong> Watch our On-Ramp sessions and work on hands on labs to
get you started. 
</p>
        <p>
-          <strong>Already Building business
applications?</strong> Watch the event live and learn how to create compelling business
applications with Silverlight. 
</p>
        <p>
-          <strong>Got questions?</strong> Engage
with the Silverlight product team live or in person with our interactive chat. 
</p>
        <p>
          <strong>
            <em>When</em>
          </strong>
          <br />
          <strong>
            <em>Register</em>
          </strong>
          <br />
          <strong>
            <em>How Much?</em>
          </strong>
        </p>
        <p>
December 2, 2010 8am to 5pm PT<em></em><br /><a href="http://jpapa.me/slfs10"><strong>Register Online, Now!</strong></a><br />
Nothing! This is a free event<strong><em></em></strong></p>
        <p>
          <strong>
            <em>After the live event keep fueling the fire! </em>
          </strong>
        </p>
        <p>
Dive deeper with additional hands on labs and videos that build on the live session
content, accelerating you ahead of the crowd. 
</p>
        <p>
-          Watch the entire event on
demand! 
</p>
        <p>
-          Plus, new self-paced labs
and walk through videos 
</p>
        <p>
-          On Ramp Labs (100 level) 
</p>
        <ul>
          <li>
Hands on labs specifically focused on helping new developers get up to speed quickly
on Silverlight 
</li>
          <li>
Do you know WinForms? HTML? ASP.NET? Want to learn Silverlight? We have a lab for
you!</li>
        </ul>
        <p>
-          Building Better Business Apps
(200-300 level) 
</p>
        <ul>
          <li>
Hands on labs focused on taking advantage of Silverlight to build real world business
applications 
</li>
          <li>
Apply Data Strategies, Patterns, Out of Browser, RIA Services, and much more using
Silverlight</li>
        </ul>
        <p>
-          <strong>Turnabout is fair
play</strong>! Watch a video of our experts doing the labs themselves. 
</p>
        <p>
          <strong>
            <em>
            </em>
          </strong>
        </p>
        <p>
          <strong>F I R E S T A R T E R     L I V E    
A G E N D A </strong>
        </p>
        <p>
          <strong>8:00 am<br /></strong>Silverlight Firestarter Keynote<br />
Scott Guthrie 
</p>
        <p>
          <strong>9:00 am<br /></strong>Masterful Data Strategies with Silverlight and WP7<br />
Jesse Liberty 
</p>
        <p>
          <strong>10:00 am<br /></strong>15 minute break 
</p>
        <p>
          <strong>10:15 am<br /></strong>Roll Out Your Business Apps Today with RIA Services<br />
Pete Brown 
</p>
        <p>
          <strong>11:15 am<br /></strong>MVVM: Why and How? Tips and Patterns using MVVM and Service Patterns<br />
John Papa 
</p>
        <p>
          <strong>12:15 pm<br /></strong>Lunch break 
</p>
        <p>
          <strong>1:00 pm<br /></strong>Silverlight Today and Tomorrow (Special Guest Panel)<br />
Panel 
</p>
        <p>
          <strong>1:30 pm<br /></strong>Building Real World Silverlight Apps<br />
Tim Heuer 
</p>
        <p>
          <strong>2:30 pm<br /></strong>15 minute break 
</p>
        <p>
          <strong>2:45 pm<br /></strong>Tune Your Application: Profiling and Performance Tips<br />
Mike Cook &amp; Jossef Goldberg 
</p>
        <p>
          <strong>3:45 pm<br /></strong>Killer Performance Tips for Silverlight Windows Phone 7<br />
Jaime Rodriguez 
</p>
        <p>
After Party! 
</p>
        <p>
        </p>
        <p>
          <strong>
            <em>
            </em>
          </strong>
        </p>
        <strong>
          <em>Spread the Word! </em>
        </strong>
        <p>
-          Blog and tweet to spread the
word about the Firestarter! 
</p>
        <p>
-          Ask people to add the Twitter
hash tag <strong>#slfs10</strong> to their tweets 
</p>
        <p>
-          Use the banners and blog bling
(attached) 
</p>
        <p>
          <strong>
            <em>Questions</em>
          </strong>
        </p>
        <p>
Got questions? Ask <a href="mailto:slfs@microsoft.com"><strong>slfs@microsoft.com</strong></a><img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=a866dca3-e710-4749-8b38-84fa4e87b934" /><br /><hr />
Snowball.be - The blog of Gill Cleeren 
</p>
      </body>
      <title>Silverlight Firestarter on December 2nd</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,a866dca3-e710-4749-8b38-84fa4e87b934.aspx</guid>
      <link>http://www.snowball.be/2010/10/25/Silverlight+Firestarter+On+December+2nd.aspx</link>
      <pubDate>Mon, 25 Oct 2010 22:04:35 GMT</pubDate>
      <description>&lt;p&gt;
&lt;strong&gt;Light up your Silverlight skills with the all-new Global Silverlight Firestarter!&lt;/strong&gt; 
&lt;p&gt;
&lt;strong&gt;&lt;a href="http://jpapa.me//slfs10"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="SLFirestarter_300X250" border="0" alt="SLFirestarter_300X250" src="http://www.snowball.be/content/binary/WindowsLiveWriter/SilverlightFirestarteronDecember2nd_113/SLFirestarter_300X250_3.jpg" width="244" height="204"&gt;&lt;/a&gt; &lt;/strong&gt; 
&lt;p&gt;
&lt;strong&gt;&lt;em&gt;&lt;/em&gt;&lt;/strong&gt; 
&lt;p&gt;
&lt;strong&gt;&lt;em&gt;What is the Silverlight Firestarter?&lt;/em&gt;&lt;/strong&gt; 
&lt;p&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;An Event: &lt;/strong&gt;A
one day, global, live streamed and on demand event keynoted by Scott Guthrie 
&lt;p&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;Training:&lt;/strong&gt; New
self-paced labs and walk through videos 
&lt;p&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;Interactive: &lt;/strong&gt;Got
questions? Get your answers! Watch live and ask the Silverlight product team questions
during the event. 
&lt;p&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;Why Silverlight? &lt;/strong&gt;Silverlight
is Microsoft’s strategic development platform for building interactive applications
across desktop, phone, and the browser. 
&lt;p&gt;
&lt;strong&gt;&lt;em&gt;&lt;/em&gt;&lt;/strong&gt; 
&lt;p&gt;
&lt;strong&gt;&lt;em&gt;Something for Everyone&lt;/em&gt;&lt;/strong&gt; 
&lt;p&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;Just starting out
with Silverlight?&lt;/strong&gt; Watch our On-Ramp sessions and work on hands on labs to
get you started. 
&lt;p&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;Already Building business
applications?&lt;/strong&gt; Watch the event live and learn how to create compelling business
applications with Silverlight. 
&lt;p&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;Got questions?&lt;/strong&gt; Engage
with the Silverlight product team live or in person with our interactive chat. 
&lt;p&gt;
&lt;strong&gt;&lt;em&gt;When&lt;/em&gt;&lt;/strong&gt;
&lt;br&gt;
&lt;strong&gt;&lt;em&gt;Register&lt;/em&gt;&lt;/strong&gt;
&lt;br&gt;
&lt;strong&gt;&lt;em&gt;How Much?&lt;/em&gt;&lt;/strong&gt; 
&lt;p&gt;
December 2, 2010 8am to 5pm PT&lt;em&gt; &lt;/em&gt;
&lt;br&gt;
&lt;a href="http://jpapa.me/slfs10"&gt;&lt;strong&gt;Register Online, Now!&lt;/strong&gt;&lt;/a&gt;
&lt;br&gt;
Nothing! This is a free event&lt;strong&gt;&lt;em&gt; &lt;/em&gt;&lt;/strong&gt; 
&lt;p&gt;
&lt;strong&gt;&lt;em&gt;After the live event keep fueling the fire! &lt;/em&gt;&lt;/strong&gt; 
&lt;p&gt;
Dive deeper with additional hands on labs and videos that build on the live session
content, accelerating you ahead of the crowd. 
&lt;p&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Watch the entire event on
demand! 
&lt;p&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Plus, new self-paced labs
and walk through videos 
&lt;p&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; On Ramp Labs (100 level) 
&lt;ul&gt;
&lt;li&gt;
Hands on labs specifically focused on helping new developers get up to speed quickly
on Silverlight 
&lt;li&gt;
Do you know WinForms? HTML? ASP.NET? Want to learn Silverlight? We have a lab for
you!&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Building Better Business Apps
(200-300 level) 
&lt;ul&gt;
&lt;li&gt;
Hands on labs focused on taking advantage of Silverlight to build real world business
applications 
&lt;li&gt;
Apply Data Strategies, Patterns, Out of Browser, RIA Services, and much more using
Silverlight&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;Turnabout is fair
play&lt;/strong&gt;! Watch a video of our experts doing the labs themselves. 
&lt;p&gt;
&lt;strong&gt;&lt;em&gt;&lt;/em&gt;&lt;/strong&gt; 
&lt;p&gt;
&lt;strong&gt;F I R E S T A R T E R&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; L I V E&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
A G E N D A &lt;/strong&gt; 
&lt;p&gt;
&lt;strong&gt;8:00 am&lt;br&gt;
&lt;/strong&gt;Silverlight Firestarter Keynote&lt;br&gt;
Scott Guthrie 
&lt;p&gt;
&lt;strong&gt;9:00 am&lt;br&gt;
&lt;/strong&gt;Masterful Data Strategies with Silverlight and WP7&lt;br&gt;
Jesse Liberty 
&lt;p&gt;
&lt;strong&gt;10:00 am&lt;br&gt;
&lt;/strong&gt;15 minute break 
&lt;p&gt;
&lt;strong&gt;10:15 am&lt;br&gt;
&lt;/strong&gt;Roll Out Your Business Apps Today with RIA Services&lt;br&gt;
Pete Brown 
&lt;p&gt;
&lt;strong&gt;11:15 am&lt;br&gt;
&lt;/strong&gt;MVVM: Why and How? Tips and Patterns using MVVM and Service Patterns&lt;br&gt;
John Papa 
&lt;p&gt;
&lt;strong&gt;12:15 pm&lt;br&gt;
&lt;/strong&gt;Lunch break 
&lt;p&gt;
&lt;strong&gt;1:00 pm&lt;br&gt;
&lt;/strong&gt;Silverlight Today and Tomorrow (Special Guest Panel)&lt;br&gt;
Panel 
&lt;p&gt;
&lt;strong&gt;1:30 pm&lt;br&gt;
&lt;/strong&gt;Building Real World Silverlight Apps&lt;br&gt;
Tim Heuer 
&lt;p&gt;
&lt;strong&gt;2:30 pm&lt;br&gt;
&lt;/strong&gt;15 minute break 
&lt;p&gt;
&lt;strong&gt;2:45 pm&lt;br&gt;
&lt;/strong&gt;Tune Your Application: Profiling and Performance Tips&lt;br&gt;
Mike Cook &amp;amp; Jossef Goldberg 
&lt;p&gt;
&lt;strong&gt;3:45 pm&lt;br&gt;
&lt;/strong&gt;Killer Performance Tips for Silverlight Windows Phone 7&lt;br&gt;
Jaime Rodriguez 
&lt;p&gt;
After Party! 
&lt;p&gt;
&lt;p&gt;
&lt;strong&gt;&lt;em&gt;&lt;/em&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;strong&gt;&lt;em&gt;Spread the Word! &lt;/em&gt;&lt;/strong&gt; 
&lt;p&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Blog and tweet to spread the
word about the Firestarter! 
&lt;p&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Ask people to add the Twitter
hash tag &lt;strong&gt;#slfs10&lt;/strong&gt; to their tweets 
&lt;p&gt;
-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Use the banners and blog bling
(attached) 
&lt;p&gt;
&lt;strong&gt;&lt;em&gt;Questions&lt;/em&gt;&lt;/strong&gt; 
&lt;p&gt;
Got questions? Ask &lt;a href="mailto:slfs@microsoft.com"&gt;&lt;strong&gt;slfs@microsoft.com&lt;/strong&gt;&lt;/a&gt;&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=a866dca3-e710-4749-8b38-84fa4e87b934" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,a866dca3-e710-4749-8b38-84fa4e87b934.aspx</comments>
      <category>Efficiency</category>
      <category>Silverlight</category>
      <category>sl4</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=bcb2a2c7-7aa7-4845-8031-135ce109b221</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,bcb2a2c7-7aa7-4845-8031-135ce109b221.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,bcb2a2c7-7aa7-4845-8031-135ce109b221.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=bcb2a2c7-7aa7-4845-8031-135ce109b221</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
This Wednesday, on October 27th, I’ll be doing another webinar for SilverlightShow.net.
Like always, these are free to attend. The topic for this webinar is <strong>“10 Tips
in Silverlight”</strong>. If you attend, you can win a copy of my book, <a href="https://www.packtpub.com/microsoft-silverlight-4-data-and-services-cookbook/book" target="_blank">Silverlight
4 data and services cookbook</a> (which keeps getting <a href="http://www.amazon.com/Microsoft-Silverlight-Data-Services-Cookbook/dp/1847199844" target="_blank">great
reviews</a> by the way :) ).
</p>
        <p>
The tips that you’ll see are the following:
</p>
        <ol>
          <li>
Behaviors 
</li>
          <li>
PathListBox 
</li>
          <li>
Binding tricks 
</li>
          <li>
INavigationContentLoader 
</li>
          <li>
Debugging services 
</li>
          <li>
Securing service communication 
</li>
          <li>
Leveraging ASP.NET membership 
</li>
          <li>
Uploading and downloading files 
</li>
          <li>
Downloading functionality on-demand 
</li>
          <li>
Bag of tricks</li>
        </ol>
        <p>
Registration is free but required, you can register <a href="http://www.silverlightshow.net/news/Upcoming-Webinar-with-Gill-Cleeren-10-things-you-didn-t-know-about-Silverlight-4.aspx" target="_blank">here</a>.
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=bcb2a2c7-7aa7-4845-8031-135ce109b221" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Upcoming webinar: 10 tips in Silverlight</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,bcb2a2c7-7aa7-4845-8031-135ce109b221.aspx</guid>
      <link>http://www.snowball.be/2010/10/25/Upcoming+Webinar+10+Tips+In+Silverlight.aspx</link>
      <pubDate>Mon, 25 Oct 2010 21:47:24 GMT</pubDate>
      <description>&lt;p&gt;
This Wednesday, on October 27th, I’ll be doing another webinar for SilverlightShow.net.
Like always, these are free to attend. The topic for this webinar is &lt;strong&gt;“10 Tips
in Silverlight”&lt;/strong&gt;. If you attend, you can win a copy of my book, &lt;a href="https://www.packtpub.com/microsoft-silverlight-4-data-and-services-cookbook/book" target="_blank"&gt;Silverlight
4 data and services cookbook&lt;/a&gt; (which keeps getting &lt;a href="http://www.amazon.com/Microsoft-Silverlight-Data-Services-Cookbook/dp/1847199844" target="_blank"&gt;great
reviews&lt;/a&gt; by the way :) ).
&lt;/p&gt;
&lt;p&gt;
The tips that you’ll see are the following:
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
Behaviors 
&lt;li&gt;
PathListBox 
&lt;li&gt;
Binding tricks 
&lt;li&gt;
INavigationContentLoader 
&lt;li&gt;
Debugging services 
&lt;li&gt;
Securing service communication 
&lt;li&gt;
Leveraging ASP.NET membership 
&lt;li&gt;
Uploading and downloading files 
&lt;li&gt;
Downloading functionality on-demand 
&lt;li&gt;
Bag of tricks&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
Registration is free but required, you can register &lt;a href="http://www.silverlightshow.net/news/Upcoming-Webinar-with-Gill-Cleeren-10-things-you-didn-t-know-about-Silverlight-4.aspx" target="_blank"&gt;here&lt;/a&gt;.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=bcb2a2c7-7aa7-4845-8031-135ce109b221" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,bcb2a2c7-7aa7-4845-8031-135ce109b221.aspx</comments>
      <category>Efficiency</category>
      <category>Silverlight</category>
      <category>sl4</category>
      <category>Speaking</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=c8d17fcd-16d7-45bd-8ac6-25e24119cf06</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,c8d17fcd-16d7-45bd-8ac6-25e24119cf06.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,c8d17fcd-16d7-45bd-8ac6-25e24119cf06.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=c8d17fcd-16d7-45bd-8ac6-25e24119cf06</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Last week, I did a webcast on MEF (Managed Extensibility Framework) for SilverlightShow.net,
one of the largest Silverlight communities. The webcast is now online and can be viewed
on-demand <a href="http://www.silverlightshow.net/shows/MEF-Webinar.aspx" target="_blank">here</a>.
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=c8d17fcd-16d7-45bd-8ac6-25e24119cf06" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Silverlight Show: MEF webcast view on-demand</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,c8d17fcd-16d7-45bd-8ac6-25e24119cf06.aspx</guid>
      <link>http://www.snowball.be/2010/10/20/Silverlight+Show+MEF+Webcast+View+Ondemand.aspx</link>
      <pubDate>Wed, 20 Oct 2010 06:35:44 GMT</pubDate>
      <description>&lt;p&gt;
Last week, I did a webcast on MEF (Managed Extensibility Framework) for SilverlightShow.net,
one of the largest Silverlight communities. The webcast is now online and can be viewed
on-demand &lt;a href="http://www.silverlightshow.net/shows/MEF-Webinar.aspx" target="_blank"&gt;here&lt;/a&gt;.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=c8d17fcd-16d7-45bd-8ac6-25e24119cf06" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,c8d17fcd-16d7-45bd-8ac6-25e24119cf06.aspx</comments>
      <category>Silverlight</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=58005694-e69e-4f67-a90a-3c6d4a837705</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,58005694-e69e-4f67-a90a-3c6d4a837705.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,58005694-e69e-4f67-a90a-3c6d4a837705.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=58005694-e69e-4f67-a90a-3c6d4a837705</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Haven’t had the chance to attend the Belgian REMIX10 this year? Or you were there
but of course could see all the parallel sessions at once? Then, I have the ideal
solution for you: all sessions and interviews can now be watched online from <a href="http://www.remix10.be">www.remix10.be</a>. 
</p>
        <p>
Here are my interview and session:<br /><a href="http://channel9.msdn.com/Blogs/katriendg/REMIX10-Interview-Gill-Cleeren-on-Building-a-Silverlight-4-Application-End-to-End">Interview</a><br /><a href="http://channel9.msdn.com/Blogs/katriendg/REMIX10-Building-a-Silverlight-4-Application-End-to-End">Session</a></p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=58005694-e69e-4f67-a90a-3c6d4a837705" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>View the REMIX10 sessions and interviews online</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,58005694-e69e-4f67-a90a-3c6d4a837705.aspx</guid>
      <link>http://www.snowball.be/2010/10/20/View+The+REMIX10+Sessions+And+Interviews+Online.aspx</link>
      <pubDate>Wed, 20 Oct 2010 06:30:41 GMT</pubDate>
      <description>&lt;p&gt;
Haven’t had the chance to attend the Belgian REMIX10 this year? Or you were there
but of course could see all the parallel sessions at once? Then, I have the ideal
solution for you: all sessions and interviews can now be watched online from &lt;a href="http://www.remix10.be"&gt;www.remix10.be&lt;/a&gt;. 
&lt;/p&gt;
&lt;p&gt;
Here are my interview and session:&lt;br&gt;
&lt;a href="http://channel9.msdn.com/Blogs/katriendg/REMIX10-Interview-Gill-Cleeren-on-Building-a-Silverlight-4-Application-End-to-End"&gt;Interview&lt;/a&gt; 
&lt;br&gt;
&lt;a href="http://channel9.msdn.com/Blogs/katriendg/REMIX10-Building-a-Silverlight-4-Application-End-to-End"&gt;Session&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=58005694-e69e-4f67-a90a-3c6d4a837705" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,58005694-e69e-4f67-a90a-3c6d4a837705.aspx</comments>
      <category>Silverlight</category>
      <category>Speaking</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=24a05479-aa4d-4a76-a3dd-7d510119c63c</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,24a05479-aa4d-4a76-a3dd-7d510119c63c.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,24a05479-aa4d-4a76-a3dd-7d510119c63c.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=24a05479-aa4d-4a76-a3dd-7d510119c63c</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
After some time, I’m glad to announce that the official, <strong>world-renowned </strong><a href="http://www.silverlight-tour.com/" target="_blank"><strong>Silverlight
Tour</strong></a> is coming to <strong>Belgium, the Netherlands, the UK and more countries</strong>,
organized by<strong></strong><a href="http://www.ordina.be" target="_blank"><strong>Ordina
Belgium</strong></a>. The second thing I’m glad about is that<strong> I’ll be the
instructor for this training! </strong></p>
        <p>
          <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/AnnouncingSilverlightTouriscomingtoEurop_D556/SilverlightTour_2.png">
            <img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="SilverlightTour" border="0" alt="SilverlightTour" src="http://www.snowball.be/content/binary/WindowsLiveWriter/AnnouncingSilverlightTouriscomingtoEurop_D556/SilverlightTour_thumb.png" width="238" height="104" />
          </a>
        </p>
        <p>
The most important link for all this: <a href="http://bit.ly/SilverlightTour"><strong>http://bit.ly/SilverlightTour</strong></a>,
where you can find all <strong>information, registration and prices</strong>. Currently,
we have an <strong>early bird</strong> offering ending in a few weeks for the first
batch of sessions. 
</p>
        <p>
          <strong>What is Silverlight Tour?</strong>
        </p>
        <p>
The Silverlight Tour Workshop is a three-day course on Silverlight 4, given all around
the world throughout the USA, Asia and South-America. Ordina will organize the training
in several European countries starting Q4 2010. 
</p>
        <p>
The training divides the content into three distinct areas: Design, Development and
the Server-Side. Students should be able to develop Silverlight 4 applications once
attending the workshop. The Workshop is structured with a mix of didactic lessons,
demonstrations and hands-on labs. 
</p>
        <p>
Each student will leave the workshop having created several small Silverlight applications.
This variety of learning techniques will ensure that all students become proficient
in the technology quickly and in an exciting way. 
</p>
        <p>
          <strong>Key values of Silverlight Tour</strong>
        </p>
        <ul>
          <li>
Learning Silverlight from an expert in the technology 
</li>
          <li>
Hands-on labs with Visual Studio and Blend make sure you get to apply your acquired
knowledge 
</li>
          <li>
Architect Silverlight applications 
</li>
          <li>
Learn about LOB features such as data access and data binding 
</li>
        </ul>
        <p>
          <strong>Why Silverlight?</strong>
        </p>
        <p>
Silverlight is Microsoft's approach to building RIA (Rich Internet Applications).
The platform has since its introduction, taken the world by storm. Now at its fourth
iteration, Silverlight is ready for building Line-Of-Business applications, building
on the strong foundation of .NET. 
</p>
        <p>
Now is the time to learn Silverlight! Not only is Microsoft investing heavily in the
platform, but Silverlight is also the base for Windows Phone 7, Microsoft's new mobile
platform. And with WPF as the desktop variant, you can apply your knowledge on the
web, on the desktop and on mobile devices. 
</p>
        <p>
The Silverlight Tour can help you achieve the knowledge you need to start building
Silverlight applications today! 
</p>
        <p>
          <strong>Our offering</strong>
        </p>
        <p>
The Silverlight Tour comes in 2 flavors, depending on your Silverlight knowledge. 
</p>
        <p>
If you don't have any experience with Silverlight yet, the Silverlight 4 Tour workshop
is ideal for you. In this 3 day course, we are starting from scratch, teaching you
the foundation for your Silverlight endeavours. After this training, you'll feel comfortable
with the technology and can start building your own applications. 
</p>
        <p>
If you already have some experience with the platform, or you just followed the Silverlight
4 Tour, we advise you the Advanced Silverlight 4 workshop. In this 2 day training,
we'll tackle the more advanced concepts such as MVVM, advanced data access and IOC. 
</p>
        <p>
We offer the combined course (Silverlight 4 Tour Workshop + Advanced Silverlight 4
workshop) at a reduced price. <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=24a05479-aa4d-4a76-a3dd-7d510119c63c" /><br /><hr />
Snowball.be - The blog of Gill Cleeren 
</p>
      </body>
      <title>Announcing: Silverlight Tour is coming to European countries now!</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,24a05479-aa4d-4a76-a3dd-7d510119c63c.aspx</guid>
      <link>http://www.snowball.be/2010/10/11/Announcing+Silverlight+Tour+Is+Coming+To+European+Countries+Now.aspx</link>
      <pubDate>Mon, 11 Oct 2010 13:10:14 GMT</pubDate>
      <description>&lt;p&gt;
After some time, I’m glad to announce that the official, &lt;strong&gt;world-renowned &lt;/strong&gt;&lt;a href="http://www.silverlight-tour.com/" target="_blank"&gt;&lt;strong&gt;Silverlight
Tour&lt;/strong&gt;&lt;/a&gt; is coming to &lt;strong&gt;Belgium, the Netherlands, the UK and more countries&lt;/strong&gt;,
organized by&lt;strong&gt; &lt;/strong&gt;&lt;a href="http://www.ordina.be" target="_blank"&gt;&lt;strong&gt;Ordina
Belgium&lt;/strong&gt;&lt;/a&gt;. The second thing I’m glad about is that&lt;strong&gt; I’ll be the
instructor for this training! &lt;/strong&gt; 
&lt;p&gt;
&lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/AnnouncingSilverlightTouriscomingtoEurop_D556/SilverlightTour_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="SilverlightTour" border="0" alt="SilverlightTour" src="http://www.snowball.be/content/binary/WindowsLiveWriter/AnnouncingSilverlightTouriscomingtoEurop_D556/SilverlightTour_thumb.png" width="238" height="104"&gt;&lt;/a&gt; 
&lt;p&gt;
The most important link for all this: &lt;a href="http://bit.ly/SilverlightTour"&gt;&lt;strong&gt;http://bit.ly/SilverlightTour&lt;/strong&gt;&lt;/a&gt;,
where you can find all &lt;strong&gt;information, registration and prices&lt;/strong&gt;. Currently,
we have an &lt;strong&gt;early bird&lt;/strong&gt; offering ending in a few weeks for the first
batch of sessions. 
&lt;p&gt;
&lt;strong&gt;What is Silverlight Tour?&lt;/strong&gt; 
&lt;p&gt;
The Silverlight Tour Workshop is a three-day course on Silverlight 4, given all around
the world throughout the USA, Asia and South-America. Ordina will organize the training
in several European countries starting Q4 2010. 
&lt;p&gt;
The training divides the content into three distinct areas: Design, Development and
the Server-Side. Students should be able to develop Silverlight 4 applications once
attending the workshop. The Workshop is structured with a mix of didactic lessons,
demonstrations and hands-on labs. 
&lt;p&gt;
Each student will leave the workshop having created several small Silverlight applications.
This variety of learning techniques will ensure that all students become proficient
in the technology quickly and in an exciting way. 
&lt;p&gt;
&lt;strong&gt;Key values of Silverlight Tour&lt;/strong&gt; 
&lt;ul&gt;
&lt;li&gt;
Learning Silverlight from an expert in the technology 
&lt;li&gt;
Hands-on labs with Visual Studio and Blend make sure you get to apply your acquired
knowledge 
&lt;li&gt;
Architect Silverlight applications 
&lt;li&gt;
Learn about LOB features such as data access and data binding 
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;strong&gt;Why Silverlight?&lt;/strong&gt; 
&lt;p&gt;
Silverlight is Microsoft's approach to building RIA (Rich Internet Applications).
The platform has since its introduction, taken the world by storm. Now at its fourth
iteration, Silverlight is ready for building Line-Of-Business applications, building
on the strong foundation of .NET. 
&lt;p&gt;
Now is the time to learn Silverlight! Not only is Microsoft investing heavily in the
platform, but Silverlight is also the base for Windows Phone 7, Microsoft's new mobile
platform. And with WPF as the desktop variant, you can apply your knowledge on the
web, on the desktop and on mobile devices. 
&lt;p&gt;
The Silverlight Tour can help you achieve the knowledge you need to start building
Silverlight applications today! 
&lt;p&gt;
&lt;strong&gt;Our offering&lt;/strong&gt; 
&lt;p&gt;
The Silverlight Tour comes in 2 flavors, depending on your Silverlight knowledge. 
&lt;p&gt;
If you don't have any experience with Silverlight yet, the Silverlight 4 Tour workshop
is ideal for you. In this 3 day course, we are starting from scratch, teaching you
the foundation for your Silverlight endeavours. After this training, you'll feel comfortable
with the technology and can start building your own applications. 
&lt;p&gt;
If you already have some experience with the platform, or you just followed the Silverlight
4 Tour, we advise you the Advanced Silverlight 4 workshop. In this 2 day training,
we'll tackle the more advanced concepts such as MVVM, advanced data access and IOC. 
&lt;p&gt;
We offer the combined course (Silverlight 4 Tour Workshop + Advanced Silverlight 4
workshop) at a reduced price. &lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=24a05479-aa4d-4a76-a3dd-7d510119c63c" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,24a05479-aa4d-4a76-a3dd-7d510119c63c.aspx</comments>
      <category>.net 3.5</category>
      <category>.NET 4</category>
      <category>Efficiency</category>
      <category>Silverlight</category>
      <category>sl4</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=7ef87c78-e5a5-453d-9a52-dea91f2d1596</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,7ef87c78-e5a5-453d-9a52-dea91f2d1596.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,7ef87c78-e5a5-453d-9a52-dea91f2d1596.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=7ef87c78-e5a5-453d-9a52-dea91f2d1596</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Yesterday, I arrived back home after touring Sweden for a week. I gave presentations
in Malmö, Stockholm, Örebro and Götherborg. Each session was attended by a great number
of developers, all members of Swenug. The sessions were sponsored by the people at
Telerik: at each session, I got to give away some cool prices from Telerik, including
in each city a Telerik Ultimate Collection!
</p>
        <p>
Malmo pictures
</p>
        <p>
          <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0405.jpg">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="IMG_0405" border="0" alt="IMG_0405" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0405_thumb.jpg" width="244" height="184" />
          </a>
          <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0406.jpg">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="IMG_0406" border="0" alt="IMG_0406" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0406_thumb.jpg" width="244" height="184" />
          </a>
        </p>
        <p>
Stockholm pictures
</p>
        <p>
          <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0407.jpg">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="IMG_0407" border="0" alt="IMG_0407" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0407_thumb.jpg" width="184" height="244" />
          </a>
          <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0408.jpg">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="IMG_0408" border="0" alt="IMG_0408" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0408_thumb.jpg" width="244" height="184" />
          </a>
          <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0409.jpg">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="IMG_0409" border="0" alt="IMG_0409" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0409_thumb.jpg" width="244" height="184" />
          </a>
          <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0410.jpg">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="IMG_0410" border="0" alt="IMG_0410" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0410_thumb.jpg" width="244" height="184" />
          </a>
        </p>
        <p>
Örebro pictures
</p>
        <p>
          <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0422.jpg">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="IMG_0422" border="0" alt="IMG_0422" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0422_thumb.jpg" width="244" height="184" />
          </a>
          <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0423.jpg">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="IMG_0423" border="0" alt="IMG_0423" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0423_thumb.jpg" width="244" height="184" />
          </a>
          <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0424.jpg">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="IMG_0424" border="0" alt="IMG_0424" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0424_thumb.jpg" width="244" height="184" />
          </a>
          <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0425.jpg">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="IMG_0425" border="0" alt="IMG_0425" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0425_thumb.jpg" width="184" height="244" />
          </a>
          <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0426.jpg">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="IMG_0426" border="0" alt="IMG_0426" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0426_thumb.jpg" width="244" height="184" />
          </a>
          <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0427.jpg">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="IMG_0427" border="0" alt="IMG_0427" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0427_thumb.jpg" width="244" height="184" />
          </a>
        </p>
        <p>
Göthenburg pictures
</p>
        <p>
          <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0438.jpg">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="IMG_0438" border="0" alt="IMG_0438" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0438_thumb.jpg" width="244" height="184" />
          </a>
          <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0440.jpg">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="IMG_0440" border="0" alt="IMG_0440" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0440_thumb.jpg" width="244" height="184" />
          </a>
          <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0441.jpg">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="IMG_0441" border="0" alt="IMG_0441" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0441_thumb.jpg" width="244" height="184" />
          </a>
          <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0442.jpg">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="IMG_0442" border="0" alt="IMG_0442" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0442_thumb.jpg" width="244" height="184" />
          </a>
          <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0443.jpg">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="IMG_0443" border="0" alt="IMG_0443" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0443_thumb.jpg" width="244" height="184" />
          </a>
          <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0444.jpg">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="IMG_0444" border="0" alt="IMG_0444" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0444_thumb.jpg" width="244" height="184" />
          </a>
          <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0445.jpg">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="IMG_0445" border="0" alt="IMG_0445" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0445_thumb.jpg" width="244" height="184" />
          </a>
          <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0446.jpg">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="IMG_0446" border="0" alt="IMG_0446" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0446_thumb.jpg" width="244" height="184" />
          </a>
        </p>
        <p>
In the meantime, here are the <a href="http://www.snowball.be/data/presentations/SilverlightSweden/SilverlightRoadshow.zip" target="_blank">downloads
for the sessions</a>, including all demos and slide decks.
</p>
        <p>
I hope to be back in Sweden very soon! If you have any questions or remarks, please
let me know!
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=7ef87c78-e5a5-453d-9a52-dea91f2d1596" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Telerik Silverlight Sweden roadshow was a success!</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,7ef87c78-e5a5-453d-9a52-dea91f2d1596.aspx</guid>
      <link>http://www.snowball.be/2010/10/11/Telerik+Silverlight+Sweden+Roadshow+Was+A+Success.aspx</link>
      <pubDate>Mon, 11 Oct 2010 12:58:33 GMT</pubDate>
      <description>&lt;p&gt;
Yesterday, I arrived back home after touring Sweden for a week. I gave presentations
in Malmö, Stockholm, Örebro and Götherborg. Each session was attended by a great number
of developers, all members of Swenug. The sessions were sponsored by the people at
Telerik: at each session, I got to give away some cool prices from Telerik, including
in each city a Telerik Ultimate Collection!
&lt;/p&gt;
&lt;p&gt;
Malmo pictures
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0405.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="IMG_0405" border="0" alt="IMG_0405" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0405_thumb.jpg" width="244" height="184"&gt;&lt;/a&gt; &lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0406.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="IMG_0406" border="0" alt="IMG_0406" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0406_thumb.jpg" width="244" height="184"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Stockholm pictures
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0407.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="IMG_0407" border="0" alt="IMG_0407" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0407_thumb.jpg" width="184" height="244"&gt;&lt;/a&gt; &lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0408.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="IMG_0408" border="0" alt="IMG_0408" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0408_thumb.jpg" width="244" height="184"&gt;&lt;/a&gt; &lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0409.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="IMG_0409" border="0" alt="IMG_0409" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0409_thumb.jpg" width="244" height="184"&gt;&lt;/a&gt; &lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0410.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="IMG_0410" border="0" alt="IMG_0410" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0410_thumb.jpg" width="244" height="184"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Örebro pictures
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0422.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="IMG_0422" border="0" alt="IMG_0422" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0422_thumb.jpg" width="244" height="184"&gt;&lt;/a&gt; &lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0423.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="IMG_0423" border="0" alt="IMG_0423" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0423_thumb.jpg" width="244" height="184"&gt;&lt;/a&gt; &lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0424.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="IMG_0424" border="0" alt="IMG_0424" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0424_thumb.jpg" width="244" height="184"&gt;&lt;/a&gt; &lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0425.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="IMG_0425" border="0" alt="IMG_0425" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0425_thumb.jpg" width="184" height="244"&gt;&lt;/a&gt; &lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0426.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="IMG_0426" border="0" alt="IMG_0426" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0426_thumb.jpg" width="244" height="184"&gt;&lt;/a&gt; &lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0427.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="IMG_0427" border="0" alt="IMG_0427" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0427_thumb.jpg" width="244" height="184"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Göthenburg pictures
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0438.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="IMG_0438" border="0" alt="IMG_0438" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0438_thumb.jpg" width="244" height="184"&gt;&lt;/a&gt; &lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0440.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="IMG_0440" border="0" alt="IMG_0440" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0440_thumb.jpg" width="244" height="184"&gt;&lt;/a&gt; &lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0441.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="IMG_0441" border="0" alt="IMG_0441" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0441_thumb.jpg" width="244" height="184"&gt;&lt;/a&gt; &lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0442.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="IMG_0442" border="0" alt="IMG_0442" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0442_thumb.jpg" width="244" height="184"&gt;&lt;/a&gt; &lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0443.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="IMG_0443" border="0" alt="IMG_0443" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0443_thumb.jpg" width="244" height="184"&gt;&lt;/a&gt; &lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0444.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="IMG_0444" border="0" alt="IMG_0444" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0444_thumb.jpg" width="244" height="184"&gt;&lt;/a&gt; &lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0445.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="IMG_0445" border="0" alt="IMG_0445" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0445_thumb.jpg" width="244" height="184"&gt;&lt;/a&gt; &lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0446.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="IMG_0446" border="0" alt="IMG_0446" src="http://www.snowball.be/content/binary/WindowsLiveWriter/TelerikSilverlightSwedenroadshowwasasucc_D299/IMG_0446_thumb.jpg" width="244" height="184"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
In the meantime, here are the &lt;a href="http://www.snowball.be/data/presentations/SilverlightSweden/SilverlightRoadshow.zip" target="_blank"&gt;downloads
for the sessions&lt;/a&gt;, including all demos and slide decks.
&lt;/p&gt;
&lt;p&gt;
I hope to be back in Sweden very soon! If you have any questions or remarks, please
let me know!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=7ef87c78-e5a5-453d-9a52-dea91f2d1596" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,7ef87c78-e5a5-453d-9a52-dea91f2d1596.aspx</comments>
      <category>Efficiency</category>
      <category>Events</category>
      <category>Silverlight</category>
      <category>sl4</category>
      <category>Speaking</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=066b1150-d0e7-405f-a52b-87e84514737f</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,066b1150-d0e7-405f-a52b-87e84514737f.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,066b1150-d0e7-405f-a52b-87e84514737f.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=066b1150-d0e7-405f-a52b-87e84514737f</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I totally forgot to upload these to my blog :)
</p>
        <p>
Anyway, this is the <a href="http://www.snowball.be/data/presentations/sixin/Sixin.zip" target="_blank">slide
deck and the demos</a> for my talks at SiXin (the Silverlight and User Experience
user group) in the Netherlands two weeks back.
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=066b1150-d0e7-405f-a52b-87e84514737f" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>SiXin slide decks and demos</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,066b1150-d0e7-405f-a52b-87e84514737f.aspx</guid>
      <link>http://www.snowball.be/2010/09/29/SiXin+Slide+Decks+And+Demos.aspx</link>
      <pubDate>Wed, 29 Sep 2010 08:43:21 GMT</pubDate>
      <description>&lt;p&gt;
I totally forgot to upload these to my blog :)
&lt;/p&gt;
&lt;p&gt;
Anyway, this is the &lt;a href="http://www.snowball.be/data/presentations/sixin/Sixin.zip" target="_blank"&gt;slide
deck and the demos&lt;/a&gt; for my talks at SiXin (the Silverlight and User Experience
user group) in the Netherlands two weeks back.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=066b1150-d0e7-405f-a52b-87e84514737f" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,066b1150-d0e7-405f-a52b-87e84514737f.aspx</comments>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=19597a9a-f3a4-4959-8677-e66cc5d10a55</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,19597a9a-f3a4-4959-8677-e66cc5d10a55.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,19597a9a-f3a4-4959-8677-e66cc5d10a55.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=19597a9a-f3a4-4959-8677-e66cc5d10a55</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Yesterday, I gave a presentation at ReMix 2010 in Belgium, the third edition of this
annual Microsoft event. My talk, Building an end-to-end Silverlight 4 application
– Writing your Christmas Cards with Silverlight, was focused around the new and existing
features in Silverlight 4, helping developers building Silverlight Line-Of-Business
applications. These included data access, data binding, hardware access, drag and
drop, right-clicking, Out-Of-Browser and Trusted applications.
</p>
        <p>
The slide deck can be downloaded <a href="http://www.snowball.be/data/Presentations/ReMix2010/ReMix 2010 - Building an end-to-end Silverlight 4 application.pptx" temp_href="http://www.snowball.be/data/Presentations/ReMix2010/ReMix 2010 - Building an end-to-end Silverlight 4 application.pptx">here</a> and
the entire demo can be found <a href="http://www.snowball.be/data/presentations/ReMix2010/TDD.ChristmasCreator.zip">here</a>.
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=19597a9a-f3a4-4959-8677-e66cc5d10a55" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>ReMix 2010 demo and slide deck</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,19597a9a-f3a4-4959-8677-e66cc5d10a55.aspx</guid>
      <link>http://www.snowball.be/2010/09/29/ReMix+2010+Demo+And+Slide+Deck.aspx</link>
      <pubDate>Wed, 29 Sep 2010 08:20:40 GMT</pubDate>
      <description>&lt;p&gt;
Yesterday, I gave a presentation at ReMix 2010 in Belgium, the third edition of this
annual Microsoft event. My talk, Building an end-to-end Silverlight 4 application
– Writing your Christmas Cards with Silverlight, was focused around the new and existing
features in Silverlight 4, helping developers building Silverlight Line-Of-Business
applications. These included data access, data binding, hardware access, drag and
drop, right-clicking, Out-Of-Browser and Trusted applications.
&lt;/p&gt;
&lt;p&gt;
The slide deck can be downloaded &lt;a href="http://www.snowball.be/data/Presentations/ReMix2010/ReMix 2010 - Building an end-to-end Silverlight 4 application.pptx" temp_href="http://www.snowball.be/data/Presentations/ReMix2010/ReMix 2010 - Building an end-to-end Silverlight 4 application.pptx"&gt;here&lt;/a&gt; and
the entire demo can be found &lt;a href="http://www.snowball.be/data/presentations/ReMix2010/TDD.ChristmasCreator.zip"&gt;here&lt;/a&gt;.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=19597a9a-f3a4-4959-8677-e66cc5d10a55" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,19597a9a-f3a4-4959-8677-e66cc5d10a55.aspx</comments>
      <category>.NET 4</category>
      <category>Efficiency</category>
      <category>ppt</category>
      <category>Silverlight</category>
      <category>sl4</category>
      <category>Speaking</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=2b930ec4-f371-4a35-91ad-ae1091dfacc7</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,2b930ec4-f371-4a35-91ad-ae1091dfacc7.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,2b930ec4-f371-4a35-91ad-ae1091dfacc7.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=2b930ec4-f371-4a35-91ad-ae1091dfacc7</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://www.snowball.be/content/binary/WindowsLiveWriter/Announcing.NETShowtheBelgi.NETdevelopers_14F3D/image_3.png" width="656" height="186" />
        </p>
        <p>
Dear readers, I’m excited to announce the launch of <a href="http://www.dotnetshow.be/" target="_blank"><strong>.NET
Show</strong></a>, the <strong>Belgian podcast for .NET developers</strong>. I’ve
been working on this project for some time now and today, we are launching <a href="http://www.dotnetshow.be/" target="_blank">the
site</a> AND <a href="http://www.dotnetshow.be/post/Show-1-The-one-with-Maarten-Balliauw-and-Windows-Azure.aspx" target="_blank">the
first episode</a>!
</p>
        <p>
          <strong>What is .NET Show?</strong>
        </p>
        <p>
Together with Katrien De Graeve, I’ll be recording podcasts on .NET development (in
the broad sense of the word, so everything related to .NET) from now on. Our goal
is bringing you in contact with all corners of the Microsoft development stack, from
Silverlight to Azure, from COM interop to ALM... In our podcasts, we are focusing
(initially at least) on local guests and we will be doing most shows in Dutch. This
way, we can differentiate ourselves from the numerous podcasts already available.
The topics, while on .NET of course, can be something that the guests has been working
on (a professional project, a hobby project), a technology you have been investigating,
something you think that can be interesting for others to hear about etc.
</p>
        <p>
The first first episode can be downloaded already. In this first episode, we are talking
with Maarten Balliauw on Windows Azure and the Microsoft cloud strategy in general.<br />
In episode 2, which we’ll put online in the coming week, I’m talking with Pieter Gheysens
on ALM (Application Lifecycle Management) in Visual Studio 2010. And in episode 3,
I’m sitting down with my co-author Kevin Dockx and we will be discussing WCF RIA Services
in real-life projects.
</p>
        <p>
If you are interested in doing a podcast, let me know! Send me a mail at <a href="mailto:dotnetshow@snowball.be">dotnetshow@snowball.be</a> and
I’ll contact you. If you have any remarks or questions, send them to that address
as well!
</p>
        <p>
So, with that, I hope you’ll enjoy our podcasts! Head over to <a href="http://www.dotnetshow.be"><strong>www.dotnetshow.be</strong></a> where
you can find the first episode. If you want (and I know you will) to subscribe via
iTunes or another podcast downloader, use this link: <a href="http://www.dotnetshow.be/syndication.axd" target="_blank"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="podcastIcon" border="0" alt="podcastIcon" src="http://www.snowball.be/content/binary/WindowsLiveWriter/Announcing.NETShowtheBelgi.NETdevelopers_14F3D/podcastIcon_3.jpg" width="105" height="88" /></a>To
add .NET Show to iTunes, go to Advanced – Subscribe to Podcast:<br /><a href="http://www.snowball.be/content/binary/WindowsLiveWriter/Announcing.NETShowtheBelgi.NETdevelopers_14F3D/image_5.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.snowball.be/content/binary/WindowsLiveWriter/Announcing.NETShowtheBelgi.NETdevelopers_14F3D/image_thumb_1.png" width="244" height="74" /></a></p>
        <p>
In the window that appears, enter the following URL: <a title="http://www.dotnetshow.be/syndication.axd" href="http://www.dotnetshow.be/syndication.axd">http://www.dotnetshow.be/syndication.axd</a>:
</p>
        <p>
          <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/Announcing.NETShowtheBelgi.NETdevelopers_14F3D/SNAGHTML304f17f.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="SNAGHTML304f17f" border="0" alt="SNAGHTML304f17f" src="http://www.snowball.be/content/binary/WindowsLiveWriter/Announcing.NETShowtheBelgi.NETdevelopers_14F3D/SNAGHTML304f17f_thumb.png" width="244" height="124" />
          </a>
        </p>
        <p>
.NET Show will now appear in your subscribed podcasts!
</p>
        <p>
          <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/Announcing.NETShowtheBelgi.NETdevelopers_14F3D/image_7.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.snowball.be/content/binary/WindowsLiveWriter/Announcing.NETShowtheBelgi.NETdevelopers_14F3D/image_thumb_2.png" width="244" height="180" />
          </a>
        </p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=2b930ec4-f371-4a35-91ad-ae1091dfacc7" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Announcing .NET Show, the Belgian podcast for .NET developers</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,2b930ec4-f371-4a35-91ad-ae1091dfacc7.aspx</guid>
      <link>http://www.snowball.be/2010/09/26/Announcing+NET+Show+The+Belgian+Podcast+For+NET+Developers.aspx</link>
      <pubDate>Sun, 26 Sep 2010 21:50:36 GMT</pubDate>
      <description>&lt;p&gt;
&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://www.snowball.be/content/binary/WindowsLiveWriter/Announcing.NETShowtheBelgi.NETdevelopers_14F3D/image_3.png" width="656" height="186"&gt; 
&lt;/p&gt;
&lt;p&gt;
Dear readers, I’m excited to announce the launch of &lt;a href="http://www.dotnetshow.be/" target="_blank"&gt;&lt;strong&gt;.NET
Show&lt;/strong&gt;&lt;/a&gt;, the &lt;strong&gt;Belgian podcast for .NET developers&lt;/strong&gt;. I’ve
been working on this project for some time now and today, we are launching &lt;a href="http://www.dotnetshow.be/" target="_blank"&gt;the
site&lt;/a&gt; AND &lt;a href="http://www.dotnetshow.be/post/Show-1-The-one-with-Maarten-Balliauw-and-Windows-Azure.aspx" target="_blank"&gt;the
first episode&lt;/a&gt;!
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;What is .NET Show?&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Together with Katrien De Graeve, I’ll be recording podcasts on .NET development (in
the broad sense of the word, so everything related to .NET) from now on. Our goal
is bringing you in contact with all corners of the Microsoft development stack, from
Silverlight to Azure, from COM interop to ALM... In our podcasts, we are focusing
(initially at least) on local guests and we will be doing most shows in Dutch. This
way, we can differentiate ourselves from the numerous podcasts already available.
The topics, while on .NET of course, can be something that the guests has been working
on (a professional project, a hobby project), a technology you have been investigating,
something you think that can be interesting for others to hear about etc.
&lt;/p&gt;
&lt;p&gt;
The first first episode can be downloaded already. In this first episode, we are talking
with Maarten Balliauw on Windows Azure and the Microsoft cloud strategy in general.&lt;br&gt;
In episode 2, which we’ll put online in the coming week, I’m talking with Pieter Gheysens
on ALM (Application Lifecycle Management) in Visual Studio 2010. And in episode 3,
I’m sitting down with my co-author Kevin Dockx and we will be discussing WCF RIA Services
in real-life projects.
&lt;/p&gt;
&lt;p&gt;
If you are interested in doing a podcast, let me know! Send me a mail at &lt;a href="mailto:dotnetshow@snowball.be"&gt;dotnetshow@snowball.be&lt;/a&gt; and
I’ll contact you. If you have any remarks or questions, send them to that address
as well!
&lt;/p&gt;
&lt;p&gt;
So, with that, I hope you’ll enjoy our podcasts! Head over to &lt;a href="http://www.dotnetshow.be"&gt;&lt;strong&gt;www.dotnetshow.be&lt;/strong&gt;&lt;/a&gt; where
you can find the first episode. If you want (and I know you will) to subscribe via
iTunes or another podcast downloader, use this link: &lt;a href="http://www.dotnetshow.be/syndication.axd" target="_blank"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="podcastIcon" border="0" alt="podcastIcon" src="http://www.snowball.be/content/binary/WindowsLiveWriter/Announcing.NETShowtheBelgi.NETdevelopers_14F3D/podcastIcon_3.jpg" width="105" height="88"&gt;&lt;/a&gt;To
add .NET Show to iTunes, go to Advanced – Subscribe to Podcast:&lt;br&gt;
&lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/Announcing.NETShowtheBelgi.NETdevelopers_14F3D/image_5.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.snowball.be/content/binary/WindowsLiveWriter/Announcing.NETShowtheBelgi.NETdevelopers_14F3D/image_thumb_1.png" width="244" height="74"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
In the window that appears, enter the following URL: &lt;a title="http://www.dotnetshow.be/syndication.axd" href="http://www.dotnetshow.be/syndication.axd"&gt;http://www.dotnetshow.be/syndication.axd&lt;/a&gt;:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/Announcing.NETShowtheBelgi.NETdevelopers_14F3D/SNAGHTML304f17f.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="SNAGHTML304f17f" border="0" alt="SNAGHTML304f17f" src="http://www.snowball.be/content/binary/WindowsLiveWriter/Announcing.NETShowtheBelgi.NETdevelopers_14F3D/SNAGHTML304f17f_thumb.png" width="244" height="124"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
.NET Show will now appear in your subscribed podcasts!
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/Announcing.NETShowtheBelgi.NETdevelopers_14F3D/image_7.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.snowball.be/content/binary/WindowsLiveWriter/Announcing.NETShowtheBelgi.NETdevelopers_14F3D/image_thumb_2.png" width="244" height="180"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=2b930ec4-f371-4a35-91ad-ae1091dfacc7" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,2b930ec4-f371-4a35-91ad-ae1091dfacc7.aspx</comments>
      <category>.NET 4</category>
      <category>.NET Show</category>
      <category>Efficiency</category>
      <category>Speaking</category>
      <category>Windows Azure</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=b58f951d-3b9e-4375-ba4d-7350c9d1b238</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,b58f951d-3b9e-4375-ba4d-7350c9d1b238.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,b58f951d-3b9e-4375-ba4d-7350c9d1b238.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=b58f951d-3b9e-4375-ba4d-7350c9d1b238</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <img alt="" src="http://www.visug.be/Portals/0/86529562-00d7-420a-8ac9-732fc5c30202.jpg" width="654" height="350" />
        </p>
        <p>
I’m happy to announce that Microsoft, Visug and Azug are teaming up to bring you the
PDC 2010 event in Belgium! We'll have live-stream of the 2 keynotes, a Windows 7 demo
fest and great fun in al all-American style! 
</p>
        <p>
Agenda:<br />
17u30 – Welcome and drink<br />
18u00 – 20u -  Watch the PDC keynote live stream on big screen<br />
20u – 20u30 – Dinner<br />
20u30 – 21u30 – Demofest<br />
21u30 - 22u30 – Networking 
</p>
        <p>
Registration only via this link: <a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032463933&amp;Culture=en-US">https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032463933&amp;Culture=en-US</a><img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=b58f951d-3b9e-4375-ba4d-7350c9d1b238" /><br /><hr />
Snowball.be - The blog of Gill Cleeren 
</p>
      </body>
      <title>PDC 2010 Live Stream on October 28th</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,b58f951d-3b9e-4375-ba4d-7350c9d1b238.aspx</guid>
      <link>http://www.snowball.be/2010/09/24/PDC+2010+Live+Stream+On+October+28th.aspx</link>
      <pubDate>Fri, 24 Sep 2010 07:38:43 GMT</pubDate>
      <description>&lt;p&gt;
&lt;img alt="" src="http://www.visug.be/Portals/0/86529562-00d7-420a-8ac9-732fc5c30202.jpg" width="654" height="350"&gt; 
&lt;p&gt;
I’m happy to announce that Microsoft, Visug and Azug are teaming up to bring you the
PDC 2010 event in Belgium! We'll have live-stream of the 2 keynotes, a Windows 7 demo
fest and great fun in al all-American style! 
&lt;p&gt;
Agenda:&lt;br&gt;
17u30 – Welcome and drink&lt;br&gt;
18u00 – 20u -&amp;nbsp; Watch the PDC keynote live stream on big screen&lt;br&gt;
20u – 20u30 – Dinner&lt;br&gt;
20u30 – 21u30 – Demofest&lt;br&gt;
21u30 - 22u30 – Networking 
&lt;p&gt;
Registration only via this link: &lt;a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032463933&amp;amp;Culture=en-US"&gt;https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032463933&amp;amp;Culture=en-US&lt;/a&gt;&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=b58f951d-3b9e-4375-ba4d-7350c9d1b238" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,b58f951d-3b9e-4375-ba4d-7350c9d1b238.aspx</comments>
      <category>PDC</category>
      <category>Visug</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=6890efb4-5368-4bb5-8e33-4812b909f995</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,6890efb4-5368-4bb5-8e33-4812b909f995.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,6890efb4-5368-4bb5-8e33-4812b909f995.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=6890efb4-5368-4bb5-8e33-4812b909f995</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
From October 4th until October 8th, I’ll be touring through Sweden, visiting 4 user
groups in 4 cities to do a mini-Silverlight roadshow. During the 4 evenings, I’ll
be giving sessions on data-related stuff using Silverlight.
</p>
        <p>
If you’re in the neighborhood (or live in Sweden :) ), you’re welcome to join of course.
All events are free and start at 6pm. Here are the details of where I’ll be on which
day:
</p>
        <p>
          <strong>October 4th: Malmö<br /></strong>Registration: <a href="http://www.swenug.se/events/skaane-silverlight-4-tour-de">http://www.swenug.se/events/skaane-silverlight-4-tour-de</a><br />
Address:<br />
Cornerstone Malmö,  
<br />
Norra Vallgatan 100<br />
Malmö<br /><br /><strong>October 6th: Stockholm</strong><br />
Registration: <a href="http://www.swenug.se/events/sthlm-silverlight-4-tour-de">http://www.swenug.se/events/sthlm-silverlight-4-tour-de</a><br />
Address:<br />
.Net Akademien<br />
Dalagatan 100<br />
STOCKHOLM<br /><br /><strong>October 7th: Örebro</strong><br />
Registration: <a href="http://www.swenug.se/events/oerebro-silverlight-4-tour-de">http://www.swenug.se/events/oerebro-silverlight-4-tour-de</a><br />
Address:<br />
Cityconferencecenter<br />
Klostergatan 23<br />
Örebro<br /><br /><strong>October 8th: Göteborg</strong><br />
Registration: <a href="http://www.swenug.se/events/gbg-silverlight-4-tour-de">http://www.swenug.se/events/gbg-silverlight-4-tour-de</a><br />
Address: 
<br />
Sigma<br />
Lindholmspiren 9<br />
Göteborg
</p>
        <p>
I hope to meet you there!
</p>
        <img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=6890efb4-5368-4bb5-8e33-4812b909f995" />
        <br />
        <hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Silverlight Roadshow in Sweden coming up</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,6890efb4-5368-4bb5-8e33-4812b909f995.aspx</guid>
      <link>http://www.snowball.be/2010/09/24/Silverlight+Roadshow+In+Sweden+Coming+Up.aspx</link>
      <pubDate>Fri, 24 Sep 2010 07:35:41 GMT</pubDate>
      <description>&lt;p&gt;
From October 4th until October 8th, I’ll be touring through Sweden, visiting 4 user
groups in 4 cities to do a mini-Silverlight roadshow. During the 4 evenings, I’ll
be giving sessions on data-related stuff using Silverlight.
&lt;/p&gt;
&lt;p&gt;
If you’re in the neighborhood (or live in Sweden :) ), you’re welcome to join of course.
All events are free and start at 6pm. Here are the details of where I’ll be on which
day:
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;October 4th: Malmö&lt;br&gt;
&lt;/strong&gt;Registration: &lt;a href="http://www.swenug.se/events/skaane-silverlight-4-tour-de"&gt;http://www.swenug.se/events/skaane-silverlight-4-tour-de&lt;/a&gt; 
&lt;br&gt;
Address:&lt;br&gt;
Cornerstone Malmö,&amp;nbsp; 
&lt;br&gt;
Norra Vallgatan 100&lt;br&gt;
Malmö&lt;br&gt;
&lt;br&gt;
&lt;strong&gt;October 6th: Stockholm&lt;/strong&gt;
&lt;br&gt;
Registration: &lt;a href="http://www.swenug.se/events/sthlm-silverlight-4-tour-de"&gt;http://www.swenug.se/events/sthlm-silverlight-4-tour-de&lt;/a&gt; 
&lt;br&gt;
Address:&lt;br&gt;
.Net Akademien&lt;br&gt;
Dalagatan 100&lt;br&gt;
STOCKHOLM&lt;br&gt;
&lt;br&gt;
&lt;strong&gt;October 7th: Örebro&lt;/strong&gt;
&lt;br&gt;
Registration: &lt;a href="http://www.swenug.se/events/oerebro-silverlight-4-tour-de"&gt;http://www.swenug.se/events/oerebro-silverlight-4-tour-de&lt;/a&gt; 
&lt;br&gt;
Address:&lt;br&gt;
Cityconferencecenter&lt;br&gt;
Klostergatan 23&lt;br&gt;
Örebro&lt;br&gt;
&lt;br&gt;
&lt;strong&gt;October 8th: Göteborg&lt;/strong&gt;
&lt;br&gt;
Registration: &lt;a href="http://www.swenug.se/events/gbg-silverlight-4-tour-de"&gt;http://www.swenug.se/events/gbg-silverlight-4-tour-de&lt;/a&gt; 
&lt;br&gt;
Address: 
&lt;br&gt;
Sigma&lt;br&gt;
Lindholmspiren 9&lt;br&gt;
Göteborg
&lt;/p&gt;
&lt;p&gt;
I hope to meet you there!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=6890efb4-5368-4bb5-8e33-4812b909f995" /&gt;
&lt;br /&gt;
&lt;hr /&gt;Snowball.be - The blog of Gill Cleeren </description>
      <comments>http://www.snowball.be/CommentView,guid,6890efb4-5368-4bb5-8e33-4812b909f995.aspx</comments>
      <category>Community</category>
      <category>Events</category>
      <category>Silverlight</category>
      <category>sl4</category>
      <category>Speaking</category>
    </item>
    <item>
      <trackback:ping>http://www.snowball.be/Trackback.aspx?guid=b8fb7d8f-65db-40d2-9f15-917da0677d56</trackback:ping>
      <pingback:server>http://www.snowball.be/pingback.aspx</pingback:server>
      <pingback:target>http://www.snowball.be/PermaLink,guid,b8fb7d8f-65db-40d2-9f15-917da0677d56.aspx</pingback:target>
      <dc:creator>Gill Cleeren</dc:creator>
      <wfw:comment>http://www.snowball.be/CommentView,guid,b8fb7d8f-65db-40d2-9f15-917da0677d56.aspx</wfw:comment>
      <wfw:commentRss>http://www.snowball.be/SyndicationService.asmx/GetEntryCommentsRss?guid=b8fb7d8f-65db-40d2-9f15-917da0677d56</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
In April, I was in the UK for speaking at the VBUG conference and I was impressed
by a demo given by <a href="http://www.thejoyofcode.com/">Josh Twist</a>. He built
using MEF and WPF a “marketplace” application. The goal of the application was mainly
showing the dynamic capabilities of adding new functionality to an application through
MEF (or in full, the Managed Extensibility Framework for Silverlight 4).
</p>
        <p>
For a presentation I’m giving shortly, I rebuilt something similar but in Silverlight:
the MEF Marketplace in Silverlight. The setup is the following: a user gets an overview
of apps he purchased in the market place and can run these on demand. The market place
app will download the applications available to the user after the application has
started, so this app mainly is a hosting shell for the other ‘purchased” applications
to run in. Of course, the sample is a demo and can be extended quite a lot. For example,
in the current implementation, I hard-coded the list of purchased apps and there’s
no option to buy new ones. Also, it could be extended so that when new apps are purchased,
a duplex service notifies the client of this and MEF downloads the new app in the
background. 
</p>
        <p>
But, instead of talking of what could be added, let’s take a look at what I currently
built already! Here’s a screenshot of the application showing the "purchased” applications.
</p>
        <p>
          <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/BuildinganappmarketplacewithMEF_867E/SNAGHTMLaf6bd.png">
            <img style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="SNAGHTMLaf6bd" border="0" alt="SNAGHTMLaf6bd" src="http://www.snowball.be/content/binary/WindowsLiveWriter/BuildinganappmarketplacewithMEF_867E/SNAGHTMLaf6bd_thumb.png" width="244" height="185" />
          </a>
        </p>
        <p>
And here’s one of the apps (the Flickr Image search) running inside the "market place
shell”.
</p>
        <p>
          <a href="http://www.snowball.be/content/binary/WindowsLiveWriter/BuildinganappmarketplacewithMEF_867E/SNAGHTMLb8796.png">
            <img style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="SNAGHTMLb8796" border="0" alt="SNAGHTMLb8796" src="http://www.snowball.be/content/binary/WindowsLiveWriter/BuildinganappmarketplacewithMEF_867E/SNAGHTMLb8796_thumb.png" width="244" height="185" />
          </a>
        </p>
        <p>
Time for some code. Let’s begin with the market place itself.
</p>
        <p>
I defined a contract interface for all applications that can be loaded in the market
place, IMarketPlaceApplication.
</p>
        <div id="codeSnippetWrapper">
          <div style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px" id="codeSnippet">
            <pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">
              <span style="COLOR: #0000ff">public</span>
              <span style="COLOR: #0000ff">interface</span> IMarketPlaceApplication</pre>
            <!--CRLF-->
            <pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">{</pre>
            <!--CRLF-->
            <pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">
              <span style="COLOR: #0000ff">string</span> ApplicationName
{ get; }</pre>
            <!--CRLF-->
            <pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">    FrameworkElement MarketPlaceIcon { get; }</pre>
            <!--CRLF-->
            <pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">    FrameworkElement MainView { get; }</pre>
            <!--CRLF-->
            <pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">}</pre>
            <!--CRLF-->
          </div>
        </div>
This interface defines that all my apps will (of course) have a name, a default view
which will load as the landing screen when the app is loaded (MainView.xaml) and an
icon to show in the list (MarketPlaceIcon.xaml). As these 2 latest ones are XAML files,
you can put in whatever you like. 
<p>
A very easy application that will be possible to load from MEF is the HelloWorldApplication.
The project structure of this app is as follows:
</p><p><a href="http://www.snowball.be/content/binary/WindowsLiveWriter/BuildinganappmarketplacewithMEF_867E/image_2.png"><img style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="image" border="0" alt="image" src="http://www.snowball.be/content/binary/WindowsLiveWriter/BuildinganappmarketplacewithMEF_867E/image_thumb.png" width="244" height="118" /></a></p><p>
As you can see, there’s a class called HelloWorldApplication, which implements the
IMarketPlaceApplication and 2 xaml files. The HelloWorldApplication code is shown
below:
</p><div id="codeSnippetWrapper"><div style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px" id="codeSnippet"><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">[Export(<span style="COLOR: #0000ff">typeof</span>(IMarketPlaceApplication))]</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">public</span><span style="COLOR: #0000ff">class</span> HelloWorldApplication:
IMarketPlaceApplication</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">{</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"> </pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #cc6633">#region</span> IMarketPlaceApplication
Members</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"> </pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">public</span><span style="COLOR: #0000ff">string</span> ApplicationName</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">    {</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">        get { <span style="COLOR: #0000ff">return</span><span style="COLOR: #006080">"Hello
MEF world"</span>; }</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">    }</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"> </pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">    [Import(<span style="COLOR: #0000ff">typeof</span>(Icon))]</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">public</span> FrameworkElement
MarketPlaceIcon</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">    {</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">        get;</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">        set;</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">    }</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"> </pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">    [Import(<span style="COLOR: #0000ff">typeof</span>(HelloWorldView))]</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">public</span> FrameworkElement
MainView</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">    {</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">        get;</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">        set;</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">    }</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"> </pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #cc6633">#endregion</span></pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">}</pre><!--CRLF--></div></div><p>
This is our first encounter with MEF. The first line uses the Export attribute. This
class is saying that it is available for someone to use, when someone requests an
instance of IMarketPlaceApplication. A bit further, we are using the Import attribute
on both the MarketPlaceIcon and the MainView. Here we are saying: MEF, search us a
class that’s exporting itself as type Icon and HelloWorldView respectively. 
</p><p>
These 2 latter instances will be inserted by MEF upon executing the application, that
is, if MEF finds the corresponding export. These exports can be found in the 2 XAML
files (in the code-behind). The HelloWorldView.xaml.cs code is shown next. Note the
Export attribute: we’re telling to MEF that this type can be used where an Import
is requested of the HelloWorldView type.
</p><div id="codeSnippetWrapper"><div style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px" id="codeSnippet"><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">[Export]</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">public</span><span style="COLOR: #0000ff">partial</span><span style="COLOR: #0000ff">class</span> HelloWorldView
: UserControl</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">{</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"></pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">public</span> HelloWorldView()</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">    {</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">        InitializeComponent();</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">    }</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">}</pre><!--CRLF--></div></div><p>
The Icon.xaml.cs is pretty similar code-behind-wise (I think I invented that term
here): here alse we are adding an Export attribute.
</p><div id="codeSnippetWrapper"><div style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px" id="codeSnippet"><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">[Export]</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">public</span><span style="COLOR: #0000ff">partial</span><span style="COLOR: #0000ff">class</span> Icon
: UserControl</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">{</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">public</span> Icon()</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">    {</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">        InitializeComponent();</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">    }</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">}</pre><!--CRLF--></div></div><p>
The HelloWorldApplication is at this point a stand-alone application (it compiles
to its own XAP file), but we’ll now build the Market Place shell that will host this
app. The code download at the end of the article contains several sample applications
(a Flickr app and a Facebook app). 
</p><p>
Similar to a real market place application, our implementation will get a list of
apps you purchased previously. Only these are available to you and will be shown.
To get this list, I wrote a basic Silverlight-enabled WCF service that fetches this
list of available applications. This service is hosted in this case in the hosting
website. The code below shows this service, which in this case returns a hard-coded
list of apps (note that I have some more apps already added here).
</p><div id="codeSnippetWrapper"><div style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px" id="codeSnippet"><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">[ServiceContract(Namespace = <span style="COLOR: #006080">""</span>)]</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">[AspNetCompatibilityRequirements(RequirementsMode = </pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">    AspNetCompatibilityRequirementsMode.Allowed)]</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">public</span><span style="COLOR: #0000ff">class</span> MarketPlaceService</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">{</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">    [OperationContract]</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">public</span> List&lt;MefApplication&gt;
GetAvailableApplicationsForUser()</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">    {</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">return</span><span style="COLOR: #0000ff">new</span> List&lt;MefApplication&gt;()</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">        {</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">new</span> MefApplication(){ApplicationName=<span style="COLOR: #006080">"Flickr
Image Search"</span>, </pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">                XapFileName=<span style="COLOR: #006080">"FlickImageSearch.xap"</span>}, </pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">new</span> MefApplication(){ApplicationName=<span style="COLOR: #006080">"Hello
World"</span>, </pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">                XapFileName=<span style="COLOR: #006080">"HelloWorldApplication.xap"</span>},</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">new</span> MefApplication(){ApplicationName=<span style="COLOR: #006080">"MEFacebook"</span>, </pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">                XapFileName=<span style="COLOR: #006080">"FacebookApplication.xap"</span>}</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">        };</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">    }</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"> </pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #008000">//
Add more operations here and mark them with [OperationContract]</span></pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">}</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"> </pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">[DataContract]</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">public</span><span style="COLOR: #0000ff">class</span> MefApplication</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">{</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">    [DataMember]</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">public</span><span style="COLOR: #0000ff">string</span> ApplicationName
{ get; set; }</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"> </pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">    [DataMember]</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">public</span><span style="COLOR: #0000ff">string</span> XapFileName
{ get; set; }</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">}</pre><!--CRLF--></div></div><p>
The service uses the MefApplication class as a helper class: it contains the name
of the application and more importantly, the name of the XAP file (this could easily
be replaced with a Uri to the XAP file).
</p><p>
In the MefMarketPlace, the Silverlight Market Place application, we can create a web
reference to this service. In the App.xaml.cs, I add a call to a new method, DownloadMyApplicationList():
</p><div id="codeSnippetWrapper"><div style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px" id="codeSnippet"><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">private</span><span style="COLOR: #0000ff">void</span> Application_Startup(<span style="COLOR: #0000ff">object</span> sender,
StartupEventArgs e)</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">{</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">    DownloadMyApplicationsList();</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">this</span>.RootVisual
= <span style="COLOR: #0000ff">new</span> MainPage();</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">}</pre><!--CRLF--></div></div><p></p><p>
This new method makes the service call to get a list of available XAPs that I can
use (apps that I purchased).
</p><div id="codeSnippetWrapper"><div style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px" id="codeSnippet"><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">void</span> DownloadMyApplicationsList()</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">{</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">    AggregateCatalog = <span style="COLOR: #0000ff">new</span> AggregateCatalog();</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"> </pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">    container = <span style="COLOR: #0000ff">new</span> CompositionContainer(<span style="COLOR: #0000ff">this</span>.AggregateCatalog);</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">    CompositionHost.Initialize(container);</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"> </pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">    MarketPlaceService.MarketPlaceServiceClient client = </pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">new</span> MarketPlaceService.MarketPlaceServiceClient();</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">    client.GetAvailableApplicationsForUserCompleted += </pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">new</span> EventHandler&lt;MarketPlaceService.GetAvailableApplicationsForUserCompletedEventArgs&gt;</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">            (client_GetAvailableApplicationsForUserCompleted);</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">    client.GetAvailableApplicationsForUserAsync();</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">}</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"> </pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">void</span> client_GetAvailableApplicationsForUserCompleted(<span style="COLOR: #0000ff">object</span> sender, </pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">    MarketPlaceService.GetAvailableApplicationsForUserCompletedEventArgs e)</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">{</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">if</span> (e.Error
== <span style="COLOR: #0000ff">null</span>)</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">    {</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">        AvailableApplicationsForUser = e.Result;</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">        InitializeCatalog();</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">    }</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">}</pre><!--CRLF--></div></div><p>
In the callback method of the service, I call InitializeCatalog(). MEF has the concept
of Catalogs: a Catalog can be used to tell MEF where it has to look for Parts. Several
types of catalogs exist in MEF for Silverlight: the TypeCatalog, the AssemblyCatalog,
the DeploymentCatalog and the AggregateCatalog. A TypeCatalog basically allows us
to register a specific type with MEF: if I want MEF to know about a certain Export,
I can register it in a TypeCatalog. An AssemblyCatalog tells MEF to look for parts
in a specific assembly. The DeploymentCatalog allows us to specify a XAP file and
MEF will look in the assemblies therein for parts. It also allows us to asynchronously
download a XAP file. An AggregateCatalog can contain any number of other catalogs
and more catalogs can be added at any time.
</p><p>
By default, if we don’t specify a Catalog for our application, MEF looks at the current
XAP file and for each assembly it finds, it creates an AssemblyCatalog. It then combines
these with an AggregateCatalog. That means that we can omit creating a catalog in
our application: in this case, MEF will create a default one for us, with something
similar to this code:
</p><div id="codeSnippetWrapper"><div style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px" id="codeSnippet"><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">void</span> InitializeCatalog()</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">{</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">    AggregateCatalog catalog = <span style="COLOR: #0000ff">new</span> AggregateCatalog();</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"> </pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">foreach</span> (var
deployedPart <span style="COLOR: #0000ff">in</span> Deployment.Current.Parts)</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">    {</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">        StreamResourceInfo resourceInfo = </pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">            Application.GetResourceStream(<span style="COLOR: #0000ff">new</span> Uri(deployedPart.Source,
UriKind.Relative));</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"> </pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">        Assembly assembly = deployedPart.Load(resourceInfo.Stream);</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">        catalog.Catalogs.Add(<span style="COLOR: #0000ff">new</span> AssemblyCatalog(assembly));</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">    }</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"> </pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">    CompositionHost.Initialize(catalog);</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">}</pre><!--CRLF--></div></div><p>
Back to our application. If we look at the available catalogs in MEF, we can see that
the DeploymentCatalog is a good candidate for what we need: we can use it to download
a XAP file (the application that we want to load). After that, we can add each DeploymentCatalog
to an AggregateCatalog. MEF will then make these available in our application and
we can run the downloaded applications.
</p><p>
In code, this gives the following:
</p><div id="codeSnippetWrapper"><div style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px" id="codeSnippet"><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">private</span> CompositionContainer
container;</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">void</span> InitializeCatalog()</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">{</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"> </pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">foreach</span> (var
item <span style="COLOR: #0000ff">in</span> AvailableApplicationsForUser)</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">    {</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">        DeploymentCatalog deploymentCatalog = </pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">new</span> DeploymentCatalog(item.XapFileName);</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">this</span>.AggregateCatalog.Catalogs.Add(deploymentCatalog);</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"> </pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">        deploymentCatalog.DownloadCompleted += (s, e) =&gt;</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">        {</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #008000">//extend
to give meaningful error handling</span></pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">if</span> (e.Error
!= <span style="COLOR: #0000ff">null</span>)</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">                MessageBox.Show(e.Error.Message);</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">        };</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"> </pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">        deploymentCatalog.DownloadAsync();</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">    }</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"> </pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">    container.ComposeParts(<span style="COLOR: #0000ff">this</span>);</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">}</pre><!--CRLF--></div></div><p>
You can see that I use a CompositionContainer here. The container is well, like the
word says it, a container where MEF puts all the parts, shakes it up and creates/composes
parts.
</p><p>
We now have the code that runs when we start the application: it gets a list of all
the applications we can use over the service and then it downloads the XAP files of
these apps asynchronously. Each XAP file is downloaded using a DeploymentCatalog and
these are added to an AggregateCatalog. This now makes our downloaded applications
available to run.
</p><p>
Let’s now take a look at the UI where we’ll run the apps from. The following screenshot
shows the UI:
</p><p><a href="http://www.snowball.be/content/binary/WindowsLiveWriter/BuildinganappmarketplacewithMEF_867E/image_6.png"><img style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="image" border="0" alt="image" src="http://www.snowball.be/content/binary/WindowsLiveWriter/BuildinganappmarketplacewithMEF_867E/image_thumb_2.png" width="244" height="240" /></a></p><p>
The “Load my apps'” button on the top right will execute a command on the viewmodel
that will load all available applications in the ListBox on the left.
</p><p><a href="http://www.snowball.be/content/binary/WindowsLiveWriter/BuildinganappmarketplacewithMEF_867E/image_8.png"><img style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="image" border="0" alt="image" src="http://www.snowball.be/content/binary/WindowsLiveWriter/BuildinganappmarketplacewithMEF_867E/image_thumb_3.png" width="244" height="142" /></a></p><p>
When clicking on the “Load app” button, the selected application (here the Flickr
app) is loaded:
</p><p><a href="http://www.snowball.be/content/binary/WindowsLiveWriter/BuildinganappmarketplacewithMEF_867E/image_10.png"><img style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="image" border="0" alt="image" src="http://www.snowball.be/content/binary/WindowsLiveWriter/BuildinganappmarketplacewithMEF_867E/image_thumb_4.png" width="244" height="127" /></a></p><p>
Clicking the “Home” button unloads the app and returns us to the list screen.
</p><p>
The complete XAML listing can be found in the code download. The most important part
is shown below. Note that there’s a ContentPresenter used here and it’s bound to the
MainView property of the SelectedApplication. The latter is a property exposed on
the viewmodel (see further). If no view/app is selected, this ContentPresenter won’t
be visible and we’ll see the default UI again.
</p><div id="codeSnippetWrapper"><div style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px" id="codeSnippet"><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">Grid</span><span style="COLOR: #ff0000">x:Name</span><span style="COLOR: #0000ff">="LayoutRoot"</span><span style="COLOR: #ff0000">Background</span><span style="COLOR: #0000ff">="Black"</span><span style="COLOR: #0000ff">&gt;</span></pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">Grid.RowDefinitions</span><span style="COLOR: #0000ff">&gt;</span></pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">RowDefinition</span><span style="COLOR: #ff0000">Height</span><span style="COLOR: #0000ff">="*"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">RowDefinition</span><span style="COLOR: #0000ff">&gt;</span></pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">RowDefinition</span><span style="COLOR: #ff0000">Height</span><span style="COLOR: #0000ff">="60"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">RowDefinition</span><span style="COLOR: #0000ff">&gt;</span></pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">Grid.RowDefinitions</span><span style="COLOR: #0000ff">&gt;</span></pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">Grid</span><span style="COLOR: #0000ff">&gt;</span></pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">        ...</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">Grid</span><span style="COLOR: #0000ff">&gt;</span></pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"> </pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">ContentPresenter</span><span style="COLOR: #ff0000">Content</span><span style="COLOR: #0000ff">="{Binding
SelectedApplication.MainView}"</span><span style="COLOR: #0000ff">&gt;</span></pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">ContentPresenter</span><span style="COLOR: #0000ff">&gt;</span></pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">Button</span><span style="COLOR: #ff0000">Grid</span>.<span style="COLOR: #ff0000">Row</span><span style="COLOR: #0000ff">="1"</span><span style="COLOR: #ff0000">Content</span><span style="COLOR: #0000ff">="Home"</span><span style="COLOR: #ff0000">Margin</span><span style="COLOR: #0000ff">="10"</span><span style="COLOR: #ff0000">Background</span><span style="COLOR: #0000ff">="#FFABE3FF"</span></pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #ff0000">Command</span><span style="COLOR: #0000ff">="{Binding
HomeCommand}"</span><span style="COLOR: #ff0000">BorderBrush</span><span style="COLOR: #0000ff">="#FF00AAFF"</span></pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #ff0000">Style</span><span style="COLOR: #0000ff">="{StaticResource
ButtonStyle1}"</span></pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #ff0000">Width</span><span style="COLOR: #0000ff">="130"</span><span style="COLOR: #ff0000">Height</span><span style="COLOR: #0000ff">="40"</span><span style="COLOR: #ff0000">HorizontalAlignment</span><span style="COLOR: #0000ff">="Center"</span></pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #ff0000">VerticalAlignment</span><span style="COLOR: #0000ff">="Center"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">Button</span><span style="COLOR: #0000ff">&gt;</span></pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">Grid</span><span style="COLOR: #0000ff">&gt;</span></pre><!--CRLF--></div></div><p>
Time to look at the viewmodel now. Probably the most important part here is the ObservableCollection&lt;IMarketPlaceApplication&gt;:
</p><div id="codeSnippetWrapper"><div style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px" id="codeSnippet"><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">[ImportMany(AllowRecomposition=<span style="COLOR: #0000ff">true</span>)]</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">public</span> ObservableCollection&lt;IMarketPlaceApplication&gt;
Applications</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">{</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">    get</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">    {</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">return</span> _applications;</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">    }</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">}</pre><!--CRLF--></div></div><p>
The ListBox in the UI is bound to this collection and since it’s an ObservableCollection,
the UI will reflect changes to this collection. That’s important here, since the list
of available apps won’t be known after the shell contacted the service. Note that
the collection property is attributed with the ImportMany attribute. This is a sign
for MEF that more than one part that is exposing itself with the same Export attribute
(same type) is allowed. By default, this isn’t allowed since MEF wouldn’t know which
one to use. Here, we want the ImportMany since we know that more than one app will
be available and they all need to be exported as an IMarketPlaceApplication. Another
important thing to note here is the AllowRecomposition option we used here. AllowRecomposition
tells MEF that if during the run of the app more Exports become available for this
Import, it’s OK to add them, in other words, to <strong>re</strong>build the <strong>composition</strong>. 
</p><p>
The ContentPresenter in the UI bound to SelectedApplication.MainView. The SelectedApplication
property is shown next.
</p><div id="codeSnippetWrapper"><div style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px" id="codeSnippet"><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">private</span> IMarketPlaceApplication
_selectedApplication;</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"> </pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">public</span> IMarketPlaceApplication
SelectedApplication </pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">{</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">    get</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">    {</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">return</span> _selectedApplication;</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">    }</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">    set</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">    {</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">        _selectedApplication = <span style="COLOR: #0000ff">value</span>;</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">        NotifyPropertyChanged(<span style="COLOR: #006080">"SelectedApplication"</span>);</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">    }</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">}</pre><!--CRLF--></div></div><p>
NotifyPropertyChanged is a simple method that raises the PropertyChanged event of
the INotifyPropertyChanged interface. 
</p><div id="codeSnippetWrapper"><div style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px" id="codeSnippet"><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">private</span><span style="COLOR: #0000ff">void</span> NotifyPropertyChanged(<span style="COLOR: #0000ff">string</span> p)</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">{</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">if</span> (PropertyChanged
!= <span style="COLOR: #0000ff">null</span>)</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">    {</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">        PropertyChanged(<span style="COLOR: #0000ff">this</span>, <span style="COLOR: #0000ff">new</span> PropertyChangedEventArgs(p));</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">    }</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">}</pre><!--CRLF--></div></div><p>
The “Load apps” button in the UI is bound to the LoadAppsCommand. I use the MVVM Light
RelayCommand here. In the execute code of the ICommand, I ask MEF to satisfy the Imports
of the current class (the viewmodel). This basically tells MEF to look at the catalogs
and bring all the Export(typeof(IMarketPlaceApplication)) into the ImportMany.
</p><div id="codeSnippetWrapper"><div style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px" id="codeSnippet"><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">public</span> RelayCommand
LoadAppsCommand</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">{</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">    get</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">    {</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">if</span> (_loadAppsCommand
== <span style="COLOR: #0000ff">null</span>)</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">        {</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">            _loadAppsCommand = <span style="COLOR: #0000ff">new</span> RelayCommand(</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">                    () =&gt;</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">                    {</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">                        CompositionInitializer.SatisfyImports(<span style="COLOR: #0000ff">this</span>);</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">                        loaded = <span style="COLOR: #0000ff">true</span>;</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">                    },</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">                    () =&gt;</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">                    {</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">if</span> (loaded)</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">return</span><span style="COLOR: #0000ff">false</span>;</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">return</span><span style="COLOR: #0000ff">true</span>;</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">                    }</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">                );</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">        }</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">return</span> _loadAppsCommand;</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">    }</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">}</pre><!--CRLF--></div></div><p>
The LoadSelectedApplicationCommand and the HomeCommand respectively set the SelectedApplication
property to the selected application in the list or null.
</p><div id="codeSnippetWrapper"><div style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px" id="codeSnippet"><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">public</span> RelayCommand&lt;IMarketPlaceApplication&gt;
LoadSelectedAppCommand</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">{</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">    get</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">    {</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">if</span> (_loadSelectedAppCommand
== <span style="COLOR: #0000ff">null</span>)</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">        {</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">            _loadSelectedAppCommand = <span style="COLOR: #0000ff">new</span> RelayCommand&lt;IMarketPlaceApplication&gt;(</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">                    (a) =&gt; </pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">                    { </pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">                        SelectedApplication = a; </pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">                    }</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">                );</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">        }</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">return</span> _loadSelectedAppCommand;</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">    }</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">}</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"> </pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"> </pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">public</span> RelayCommand
HomeCommand</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">{</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">    get</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">    {</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">if</span> (_homeCommand
== <span style="COLOR: #0000ff">null</span>)</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">        {</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">            _homeCommand = <span style="COLOR: #0000ff">new</span> RelayCommand(</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">                    () =&gt;</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">                    {</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">                        SelectedApplication = <span style="COLOR: #0000ff">null</span>;</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">                    }</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">                );</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">        }</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">return</span> _homeCommand;</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">    }</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">}</pre><!--CRLF--></div></div><p></p><p>
With that, we have successfully implemented the MEF Marketplace. As said in the very
beginning, this can be extended quite a lot. Add a duplex service and a buying system
that pushes a message to the client and trigger the client to download the linked
XAP file is a nice way to start. The complete file can be downloaded below.
</p><p>
Enjoy!
</p><p>
Code download: <a href="http://www.snowball.be/content/binary/MefMarketPlace.zip">MefMarketPlace.zip
(868.99 KB)</a></p><img width="0" height="0" src="http://www.snowball.be/aggbug.ashx?id=b8fb7d8f-65db-40d2-9f15-917da0677d56" /><br /><hr />
Snowball.be - The blog of Gill Cleeren 
</body>
      <title>Building an app marketplace with MEF (MEF/Silverlight 4 tutorial)</title>
      <guid isPermaLink="false">http://www.snowball.be/PermaLink,guid,b8fb7d8f-65db-40d2-9f15-917da0677d56.aspx</guid>
      <link>http://www.snowball.be/2010/09/04/Building+An+App+Marketplace+With+MEF+MEFSilverlight+4+Tutorial.aspx</link>
      <pubDate>Sat, 04 Sep 2010 21:25:11 GMT</pubDate>
      <description>&lt;p&gt;
In April, I was in the UK for speaking at the VBUG conference and I was impressed
by a demo given by &lt;a href="http://www.thejoyofcode.com/"&gt;Josh Twist&lt;/a&gt;. He built
using MEF and WPF a “marketplace” application. The goal of the application was mainly
showing the dynamic capabilities of adding new functionality to an application through
MEF (or in full, the Managed Extensibility Framework for Silverlight 4).
&lt;/p&gt;
&lt;p&gt;
For a presentation I’m giving shortly, I rebuilt something similar but in Silverlight:
the MEF Marketplace in Silverlight. The setup is the following: a user gets an overview
of apps he purchased in the market place and can run these on demand. The market place
app will download the applications available to the user after the application has
started, so this app mainly is a hosting shell for the other ‘purchased” applications
to run in. Of course, the sample is a demo and can be extended quite a lot. For example,
in the current implementation, I hard-coded the list of purchased apps and there’s
no option to buy new ones. Also, it could be extended so that when new apps are purchased,
a duplex service notifies the client of this and MEF downloads the new app in the
background. 
&lt;/p&gt;
&lt;p&gt;
But, instead of talking of what could be added, let’s take a look at what I currently
built already! Here’s a screenshot of the application showing the "purchased” applications.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/BuildinganappmarketplacewithMEF_867E/SNAGHTMLaf6bd.png"&gt;&lt;img style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=SNAGHTMLaf6bd border=0 alt=SNAGHTMLaf6bd src="http://www.snowball.be/content/binary/WindowsLiveWriter/BuildinganappmarketplacewithMEF_867E/SNAGHTMLaf6bd_thumb.png" width=244 height=185&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
And here’s one of the apps (the Flickr Image search) running inside the "market place
shell”.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/BuildinganappmarketplacewithMEF_867E/SNAGHTMLb8796.png"&gt;&lt;img style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=SNAGHTMLb8796 border=0 alt=SNAGHTMLb8796 src="http://www.snowball.be/content/binary/WindowsLiveWriter/BuildinganappmarketplacewithMEF_867E/SNAGHTMLb8796_thumb.png" width=244 height=185&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Time for some code. Let’s begin with the market place itself.
&lt;/p&gt;
&lt;p&gt;
I defined a contract interface for all applications that can be loaded in the market
place, IMarketPlaceApplication.
&lt;/p&gt;
&lt;div id=codeSnippetWrapper&gt;
&lt;div style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px" id=codeSnippet&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #0000ff"&gt;public&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;interface&lt;/span&gt; IMarketPlaceApplication&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;{&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    &lt;span style="COLOR: #0000ff"&gt;string&lt;/span&gt; ApplicationName
{ get; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    FrameworkElement MarketPlaceIcon { get; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    FrameworkElement MainView { get; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;/div&gt;
&lt;/div&gt;
This interface defines that all my apps will (of course) have a name, a default view
which will load as the landing screen when the app is loaded (MainView.xaml) and an
icon to show in the list (MarketPlaceIcon.xaml). As these 2 latest ones are XAML files,
you can put in whatever you like. 
&lt;p&gt;
A very easy application that will be possible to load from MEF is the HelloWorldApplication.
The project structure of this app is as follows:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.snowball.be/content/binary/WindowsLiveWriter/BuildinganappmarketplacewithMEF_867E/image_2.png"&gt;&lt;img style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://www.snowball.be/content/binary/WindowsLiveWriter/BuildinganappmarketplacewithMEF_867E/image_thumb.png" width=244 height=118&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
As you can see, there’s a class called HelloWorldApplication, which implements the
IMarketPlaceApplication and 2 xaml files. The HelloWorldApplication code is shown
below:
&lt;/p&gt;
&lt;div id=codeSnippetWrapper&gt;
&lt;div style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px" id=codeSnippet&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;[Export(&lt;span style="COLOR: #0000ff"&gt;typeof&lt;/span&gt;(IMarketPlaceApplication))]&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #0000ff"&gt;public&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;class&lt;/span&gt; HelloWorldApplication:
IMarketPlaceApplication&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;{&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    &lt;span style="COLOR: #cc6633"&gt;#region&lt;/span&gt; IMarketPlaceApplication
Members&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    &lt;span style="COLOR: #0000ff"&gt;public&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;string&lt;/span&gt; ApplicationName&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;        get { &lt;span style="COLOR: #0000ff"&gt;return&lt;/span&gt; &lt;span style="COLOR: #006080"&gt;"Hello
MEF world"&lt;/span&gt;; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    [Import(&lt;span style="COLOR: #0000ff"&gt;typeof&lt;/span&gt;(Icon))]&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    &lt;span style="COLOR: #0000ff"&gt;public&lt;/span&gt; FrameworkElement
MarketPlaceIcon&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;        get;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;        set;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    [Import(&lt;span style="COLOR: #0000ff"&gt;typeof&lt;/span&gt;(HelloWorldView))]&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    &lt;span style="COLOR: #0000ff"&gt;public&lt;/span&gt; FrameworkElement
MainView&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;        get;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;        set;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    &lt;span style="COLOR: #cc6633"&gt;#endregion&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
This is our first encounter with MEF. The first line uses the Export attribute. This
class is saying that it is available for someone to use, when someone requests an
instance of IMarketPlaceApplication. A bit further, we are using the Import attribute
on both the MarketPlaceIcon and the MainView. Here we are saying: MEF, search us a
class that’s exporting itself as type Icon and HelloWorldView respectively. 
&lt;/p&gt;
&lt;p&gt;
These 2 latter instances will be inserted by MEF upon executing the application, that
is, if MEF finds the corresponding export. These exports can be found in the 2 XAML
files (in the code-behind). The HelloWorldView.xaml.cs code is shown next. Note the
Export attribute: we’re telling to MEF that this type can be used where an Import
is requested of the HelloWorldView type.
&lt;/p&gt;
&lt;div id=codeSnippetWrapper&gt;
&lt;div style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px" id=codeSnippet&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;[Export]&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #0000ff"&gt;public&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;partial&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;class&lt;/span&gt; HelloWorldView
: UserControl&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;{&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    &lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    &lt;span style="COLOR: #0000ff"&gt;public&lt;/span&gt; HelloWorldView()&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;        InitializeComponent();&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
The Icon.xaml.cs is pretty similar code-behind-wise (I think I invented that term
here): here alse we are adding an Export attribute.
&lt;/p&gt;
&lt;div id=codeSnippetWrapper&gt;
&lt;div style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px" id=codeSnippet&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;[Export]&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #0000ff"&gt;public&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;partial&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;class&lt;/span&gt; Icon
: UserControl&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;{&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    &lt;span style="COLOR: #0000ff"&gt;public&lt;/span&gt; Icon()&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;        InitializeComponent();&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
The HelloWorldApplication is at this point a stand-alone application (it compiles
to its own XAP file), but we’ll now build the Market Place shell that will host this
app. The code download at the end of the article contains several sample applications
(a Flickr app and a Facebook app). 
&lt;/p&gt;
&lt;p&gt;
Similar to a real market place application, our implementation will get a list of
apps you purchased previously. Only these are available to you and will be shown.
To get this list, I wrote a basic Silverlight-enabled WCF service that fetches this
list of available applications. This service is hosted in this case in the hosting
website. The code below shows this service, which in this case returns a hard-coded
list of apps (note that I have some more apps already added here).
&lt;/p&gt;
&lt;div id=codeSnippetWrapper&gt;
&lt;div style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px" id=codeSnippet&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;[ServiceContract(Namespace = &lt;span style="COLOR: #006080"&gt;""&lt;/span&gt;)]&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;[AspNetCompatibilityRequirements(RequirementsMode = &lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    AspNetCompatibilityRequirementsMode.Allowed)]&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #0000ff"&gt;public&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;class&lt;/span&gt; MarketPlaceService&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;{&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    [OperationContract]&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    &lt;span style="COLOR: #0000ff"&gt;public&lt;/span&gt; List&amp;lt;MefApplication&amp;gt;
GetAvailableApplicationsForUser()&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;        &lt;span style="COLOR: #0000ff"&gt;return&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;new&lt;/span&gt; List&amp;lt;MefApplication&amp;gt;()&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;        {&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;            &lt;span style="COLOR: #0000ff"&gt;new&lt;/span&gt; MefApplication(){ApplicationName=&lt;span style="COLOR: #006080"&gt;"Flickr
Image Search"&lt;/span&gt;, &lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;                XapFileName=&lt;span style="COLOR: #006080"&gt;"FlickImageSearch.xap"&lt;/span&gt;}, &lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;            &lt;span style="COLOR: #0000ff"&gt;new&lt;/span&gt; MefApplication(){ApplicationName=&lt;span style="COLOR: #006080"&gt;"Hello
World"&lt;/span&gt;, &lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;                XapFileName=&lt;span style="COLOR: #006080"&gt;"HelloWorldApplication.xap"&lt;/span&gt;},&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;            &lt;span style="COLOR: #0000ff"&gt;new&lt;/span&gt; MefApplication(){ApplicationName=&lt;span style="COLOR: #006080"&gt;"MEFacebook"&lt;/span&gt;, &lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;                XapFileName=&lt;span style="COLOR: #006080"&gt;"FacebookApplication.xap"&lt;/span&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;        };&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    &lt;span style="COLOR: #008000"&gt;//
Add more operations here and mark them with [OperationContract]&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;[DataContract]&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #0000ff"&gt;public&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;class&lt;/span&gt; MefApplication&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;{&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    [DataMember]&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    &lt;span style="COLOR: #0000ff"&gt;public&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;string&lt;/span&gt; ApplicationName
{ get; set; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    [DataMember]&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    &lt;span style="COLOR: #0000ff"&gt;public&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;string&lt;/span&gt; XapFileName
{ get; set; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
The service uses the MefApplication class as a helper class: it contains the name
of the application and more importantly, the name of the XAP file (this could easily
be replaced with a Uri to the XAP file).
&lt;/p&gt;
&lt;p&gt;
In the MefMarketPlace, the Silverlight Market Place application, we can create a web
reference to this service. In the App.xaml.cs, I add a call to a new method, DownloadMyApplicationList():
&lt;/p&gt;
&lt;div id=codeSnippetWrapper&gt;
&lt;div style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px" id=codeSnippet&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #0000ff"&gt;private&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;void&lt;/span&gt; Application_Startup(&lt;span style="COLOR: #0000ff"&gt;object&lt;/span&gt; sender,
StartupEventArgs e)&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;{&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    DownloadMyApplicationsList();&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    &lt;span style="COLOR: #0000ff"&gt;this&lt;/span&gt;.RootVisual
= &lt;span style="COLOR: #0000ff"&gt;new&lt;/span&gt; MainPage();&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
This new method makes the service call to get a list of available XAPs that I can
use (apps that I purchased).
&lt;/p&gt;
&lt;div id=codeSnippetWrapper&gt;
&lt;div style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px" id=codeSnippet&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #0000ff"&gt;void&lt;/span&gt; DownloadMyApplicationsList()&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;{&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    AggregateCatalog = &lt;span style="COLOR: #0000ff"&gt;new&lt;/span&gt; AggregateCatalog();&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    container = &lt;span style="COLOR: #0000ff"&gt;new&lt;/span&gt; CompositionContainer(&lt;span style="COLOR: #0000ff"&gt;this&lt;/span&gt;.AggregateCatalog);&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    CompositionHost.Initialize(container);&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    MarketPlaceService.MarketPlaceServiceClient client = &lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;        &lt;span style="COLOR: #0000ff"&gt;new&lt;/span&gt; MarketPlaceService.MarketPlaceServiceClient();&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    client.GetAvailableApplicationsForUserCompleted += &lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;        &lt;span style="COLOR: #0000ff"&gt;new&lt;/span&gt; EventHandler&amp;lt;MarketPlaceService.GetAvailableApplicationsForUserCompletedEventArgs&amp;gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;            (client_GetAvailableApplicationsForUserCompleted);&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    client.GetAvailableApplicationsForUserAsync();&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #0000ff"&gt;void&lt;/span&gt; client_GetAvailableApplicationsForUserCompleted(&lt;span style="COLOR: #0000ff"&gt;object&lt;/span&gt; sender, &lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    MarketPlaceService.GetAvailableApplicationsForUserCompletedEventArgs e)&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;{&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;    &lt;span style="COLOR: #0000ff"&gt;if&lt;/span&gt; (e.Error
== &lt;span style="COLOR: #0000ff"&gt;null&lt;/span&gt;)&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;pre style="BORDER-BOTTOM-STYLE: none; T