<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" 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:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:image="http://purl.org/rss/1.0/modules/image/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
    <channel>
        <title>Method ~ of ~ failed by Tim Heuer</title>
        <link>http://timheuer.com/blog/Default.aspx</link>
        <description>ramblings from the digital underbelly</description>
        <language>en-US</language>
        <copyright>Tim Heuer</copyright>
        <generator>Subtext Version 2.1.2.2</generator>
        <creativeCommons:license>http://creativecommons.org/licenses/by-nd/3.0/</creativeCommons:license>
        <image><link>http://timheuer.com/blog/</link><url>http://timheuer-img.s3.amazonaws.com/tim-108-cropped.png</url><title>Tim Heuer</title></image>
        <geo:lat>33.227266</geo:lat><geo:long>-111.610876</geo:long><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
            <title>The Underground at PDC</title>
            <category>community</category>
            <category>developer</category>
            <category>devdays</category>
            <category>PDC</category>
            <category>silverlight</category>
            <category>tech stuff</category>
            <link>http://feedproxy.google.com/~r/timheuer/~3/1ZvXaKuAzPc/the-underground-at-pdc09-featuring-scottgu.aspx</link>
            <description>&lt;p&gt;&lt;a href="http://www.microsoftpdc.com"&gt;PDC&lt;/a&gt; is coming…it’s only a few weeks away.  Are you going?  I am and I couldn’t be more excited.  I’m coming in Sunday and helping with a &lt;a href="http://channel9.msdn.com/shows/The+Knowledge+Chamber/PDC09-Workshop-Getting-the-Most-out-of-Microsoft-Silverlight-3/"&gt;workshop on Monday&lt;/a&gt;.  Then the rest of the week will likely be a blur.&lt;/p&gt;
&lt;p&gt;If you are going (and even if you aren’t), there is one party you will not want to miss.  Last year "&lt;em&gt;The Underground @ PDC”&lt;/em&gt; was a great party and gathering of geeks.  The Gu, &lt;a href="http://weblogs.asp.net/scottgu"&gt;Scott Guthrie&lt;/a&gt;, was there.  As was Don Box and &lt;a href="http://hanselman.com/"&gt;Scott Hanselman&lt;/a&gt; dishing out the geek humor and flames toward one another.  It was great.  And the venue for the after-geekiness was amazing…one of the coolest pubs/bar/whatever I’ve been to.&lt;/p&gt;
&lt;p&gt;Well, it’s back.&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="http://www.undergroundatpdc.com/"&gt;&lt;img border="0" style="border: 0px none ;" alt="Underground at PDC logo" src="http://undergroundatpdc.com/_assets/header.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This year it’s at a place called the Conga Room, which looks to be a latin fusion kind of place.  If there is a Buena Vista Social Club-like band or any form of Mariachi, you might not be able to pull me away.  &lt;/p&gt;
&lt;p&gt;The Gu is on the agenda as well for this party.  The best part about this party: FREE.  The only catch – you need an invitation code.  I’ve got one at the bottom of this post.&lt;/p&gt;
&lt;p&gt;This event/party is being provided by one of the evangelism teams at Microsoft.  Last year I had a great time mingling with folks and seeing a bunch of live podcast interviews going on with some of the names you’d recognize in the geek world.  It was a blast.  This year promises to be no different.  &lt;/p&gt;
&lt;p&gt;You don’t have to be a PDC attendee to go to the party…if you are a SoCal developer and couldn’t make it to PDC, this is for you – you simply have to register.  If you can make it (please don’t register ‘just because’) – &lt;span style="text-decoration: line-through;"&gt;visit the &lt;/span&gt;&lt;a style="text-decoration: line-through;" href="http://undergroundatpdc.com/eventReg.aspx"&gt;registration site&lt;/a&gt;&lt;span style="text-decoration: line-through;"&gt; and use the RSVP code: &lt;/span&gt;&lt;strong style="text-decoration: line-through;"&gt;arpile&lt;/strong&gt;&lt;span style="text-decoration: line-through;"&gt;.  This code is good for a limited amount of registrations…once it’s gone, it’s gone.&lt;/span&gt;  This code is at it's maximum registrations.  Follow &lt;a href="http://twitter.com/UndergroundPDC"&gt;UndergroundPDC&lt;/a&gt; on Twitter where they will be giving out more codes.  I’ve heard about a very cool special surprise that will be there too – can’t say anything though – I’ll be uninvited…and I don’t want that.&lt;/p&gt;
&lt;p&gt;I hope to see you at PDC and at &lt;strong&gt;The Underground @ PDC&lt;/strong&gt;!&lt;/p&gt;
&lt;div style="margin: 0px; padding: 0px; display: inline; float: none;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:4b27223e-37d5-4a2c-8d5d-e38028628d87" class="wlWriterEditableSmartContent"&gt;&lt;span class="tags"&gt;tags: &lt;a href="http://timheuer.com/blog/tags/silverlight/default.aspx" rel="tag"&gt;silverlight&lt;/a&gt;, &lt;a href="http://timheuer.com/blog/tags/scottgu/default.aspx" rel="tag"&gt;scottgu&lt;/a&gt;, &lt;a href="http://timheuer.com/blog/tags/undergroundatpdc/default.aspx" rel="tag"&gt;undergroundatpdc&lt;/a&gt;, &lt;a href="http://timheuer.com/blog/tags/underground/default.aspx" rel="tag"&gt;underground&lt;/a&gt;, &lt;a href="http://timheuer.com/blog/tags/pdc09/default.aspx" rel="tag"&gt;pdc09&lt;/a&gt;, &lt;a href="http://timheuer.com/blog/tags/pdc/default.aspx" rel="tag"&gt;pdc&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="wlWriterHeaderFooter" style="margin: 0px; padding: 0px;"&gt;&lt;hr /&gt;
&lt;div class="cc-license"&gt;This work is licensed under a &lt;a href="http://creativecommons.org/licenses/by/3.0/"&gt;Creative Commons Attribution By license.&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;&lt;img src="http://timheuer.com/blog/aggbug/14681.aspx" width="1" height="1" /&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/DfLPijRduaDyOzINXFce0eOMkFU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/DfLPijRduaDyOzINXFce0eOMkFU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/DfLPijRduaDyOzINXFce0eOMkFU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/DfLPijRduaDyOzINXFce0eOMkFU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/timheuer/~4/1ZvXaKuAzPc" height="1" width="1"/&gt;</description>
            <dc:creator>Tim Heuer</dc:creator>
            <guid isPermaLink="false">http://timheuer.com/blog/archive/2009/11/04/the-underground-at-pdc09-featuring-scottgu.aspx</guid>
            <pubDate>Wed, 04 Nov 2009 20:49:34 GMT</pubDate>
            <wfw:comment>http://timheuer.com/blog/comments/14681.aspx</wfw:comment>
            <comments>http://timheuer.com/blog/archive/2009/11/04/the-underground-at-pdc09-featuring-scottgu.aspx#feedback</comments>
            <slash:comments>5</slash:comments>
            <wfw:commentRss>http://timheuer.com/blog/comments/commentRss/14681.aspx</wfw:commentRss>
        <feedburner:origLink>http://timheuer.com/blog/archive/2009/11/04/the-underground-at-pdc09-featuring-scottgu.aspx</feedburner:origLink></item>
        <item>
            <title>Grouping data in a Silverlight DataGrid</title>
            <category>developer</category>
            <category>ria</category>
            <category>silverlight</category>
            <category>tech stuff</category>
            <category>visual studio</category>
            <category>web</category>
            <link>http://feedproxy.google.com/~r/timheuer/~3/Ofwi4_Zt3uI/updated-silverlight-3-datagrid-grouping-data-pagedcollectionview.aspx</link>
            <description>&lt;p&gt;I previously &lt;a href="http://timheuer.com/blog/archive/2009/04/08/grouping-in-silverlight-datagrid.aspx"&gt;wrote about DataGrid grouping using the declarative model&lt;/a&gt; of adding GroupDescriptors.  Unfortunately that feature (the declarative part) never made it to the release of &lt;a href="http://silverlight.net"&gt;Silverlight&lt;/a&gt; 3.  It was pointed out to me that I should update that post and it has been on my //TODO list for a while.  Here’s an update…&lt;/p&gt;  &lt;p&gt;First, I’m still using a sample data class of Person as my test data:&lt;/p&gt;  &lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" 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: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', 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: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.Collections.Generic;&lt;/pre&gt;
&lt;!--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: #606060" id="lnum2"&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: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', 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: #606060" id="lnum3"&gt;   3:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;namespace&lt;/span&gt; DataGridGroupingUpdated&lt;/pre&gt;
&lt;!--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: #606060" id="lnum4"&gt;   4:&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: #606060" id="lnum5"&gt;   5:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; 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;&lt;span style="color: #606060" id="lnum6"&gt;   6:&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: #606060" id="lnum7"&gt;   7:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; FirstName { 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;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; LastName { 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;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; Gender { 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;&lt;span style="color: #606060" id="lnum10"&gt;  10:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; AgeGroup { 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;&lt;span style="color: #606060" id="lnum11"&gt;  11:&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: #606060" id="lnum12"&gt;  12:&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: #606060" id="lnum13"&gt;  13:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; People&lt;/pre&gt;
&lt;!--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: #606060" id="lnum14"&gt;  14:&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: #606060" id="lnum15"&gt;  15:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; List&amp;lt;Person&amp;gt; GetPeople()&lt;/pre&gt;
&lt;!--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: #606060" id="lnum16"&gt;  16:&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: #606060" id="lnum17"&gt;  17:&lt;/span&gt;             List&amp;lt;Person&amp;gt; peeps = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; List&amp;lt;Person&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;span style="color: #606060" id="lnum18"&gt;  18:&lt;/span&gt;             peeps.Add(&lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Person() { FirstName = &lt;span style="color: #006080"&gt;"Tim"&lt;/span&gt;, LastName = &lt;span style="color: #006080"&gt;"Heuer"&lt;/span&gt;, Gender = &lt;span style="color: #006080"&gt;"M"&lt;/span&gt;, AgeGroup = &lt;span style="color: #006080"&gt;"Adult"&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: #606060" id="lnum19"&gt;  19:&lt;/span&gt;             peeps.Add(&lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Person() { FirstName = &lt;span style="color: #006080"&gt;"Lisa"&lt;/span&gt;, LastName = &lt;span style="color: #006080"&gt;"Heuer"&lt;/span&gt;, Gender = &lt;span style="color: #006080"&gt;"F"&lt;/span&gt;, AgeGroup = &lt;span style="color: #006080"&gt;"Adult"&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: #606060" id="lnum20"&gt;  20:&lt;/span&gt;             peeps.Add(&lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Person() { FirstName = &lt;span style="color: #006080"&gt;"Zoe"&lt;/span&gt;, LastName = &lt;span style="color: #006080"&gt;"Heuer"&lt;/span&gt;, Gender = &lt;span style="color: #006080"&gt;"F"&lt;/span&gt;, AgeGroup = &lt;span style="color: #006080"&gt;"Kid"&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: #606060" id="lnum21"&gt;  21:&lt;/span&gt;             peeps.Add(&lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Person() { FirstName = &lt;span style="color: #006080"&gt;"Zane"&lt;/span&gt;, LastName = &lt;span style="color: #006080"&gt;"Heuer"&lt;/span&gt;, Gender = &lt;span style="color: #006080"&gt;"M"&lt;/span&gt;, AgeGroup = &lt;span style="color: #006080"&gt;"Kid"&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: #606060" id="lnum22"&gt;  22:&lt;/span&gt;             &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; peeps;&lt;/pre&gt;
&lt;!--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: #606060" id="lnum23"&gt;  23:&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: #606060" id="lnum24"&gt;  24:&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: #606060" id="lnum25"&gt;  25:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Then my XAML is a simple DataGrid (make sure to add assembly references to your project to System.Windows.Controls.Data):&lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" 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: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', 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: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;UserControl&lt;/span&gt; &lt;span style="color: #ff0000"&gt;x:Class&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="DataGridGroupingUpdated.MainPage"&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: #606060" id="lnum2"&gt;   2:&lt;/span&gt;     &lt;span style="color: #ff0000"&gt;xmlns&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="http://schemas.microsoft.com/winfx/2006/xaml/presentation"&lt;/span&gt; &lt;/pre&gt;
&lt;!--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: #606060" id="lnum3"&gt;   3:&lt;/span&gt;     &lt;span style="color: #ff0000"&gt;xmlns:x&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="http://schemas.microsoft.com/winfx/2006/xaml"&lt;/span&gt;&lt;/pre&gt;
&lt;!--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: #606060" id="lnum4"&gt;   4:&lt;/span&gt;     &lt;span style="color: #ff0000"&gt;xmlns:d&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="http://schemas.microsoft.com/expression/blend/2008"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;xmlns:mc&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="http://schemas.openxmlformats.org/markup-compatibility/2006"&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: #606060" id="lnum5"&gt;   5:&lt;/span&gt;     &lt;span style="color: #ff0000"&gt;xmlns:datacontrols&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data"&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: #606060" id="lnum6"&gt;   6:&lt;/span&gt;     &lt;span style="color: #ff0000"&gt;mc:Ignorable&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="d"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;d:DesignWidth&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="640"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;d:DesignHeight&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="480"&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: #606060" id="lnum7"&gt;   7:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Grid&lt;/span&gt; &lt;span style="color: #ff0000"&gt;x:Name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="LayoutRoot"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--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: #606060" id="lnum8"&gt;   8:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;StackPanel&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', 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: #606060" id="lnum9"&gt;   9:&lt;/span&gt;             &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;StackPanel&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Orientation&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Horizontal"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', 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: #606060" id="lnum10"&gt;  10:&lt;/span&gt;                 &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;TextBlock&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Text&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Group:"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Margin&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="0,0,10,0"&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: #606060" id="lnum11"&gt;  11:&lt;/span&gt;                 &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;ComboBox&lt;/span&gt; &lt;span style="color: #ff0000"&gt;x:Name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="GroupNames"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;SelectionChanged&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="GroupNames_SelectionChanged"&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: #606060" id="lnum12"&gt;  12:&lt;/span&gt;                     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;ComboBox.Items&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: #606060" id="lnum13"&gt;  13:&lt;/span&gt;                         &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;ComboBoxItem&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Content&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="AgeGroup"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;IsSelected&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="True"&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: #606060" id="lnum14"&gt;  14:&lt;/span&gt;                         &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;ComboBoxItem&lt;/span&gt; &lt;span style="color: #ff0000"&gt;Content&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="Gender"&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: #606060" id="lnum15"&gt;  15:&lt;/span&gt;                     &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;ComboBox.Items&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: #606060" id="lnum16"&gt;  16:&lt;/span&gt;                 &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;ComboBox&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: #606060" id="lnum17"&gt;  17:&lt;/span&gt;             &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;StackPanel&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', 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: #606060" id="lnum18"&gt;  18:&lt;/span&gt;             &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;datacontrols:DataGrid&lt;/span&gt; &lt;span style="color: #ff0000"&gt;x:Name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="PeopleList"&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: #606060" id="lnum19"&gt;  19:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;StackPanel&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', 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: #606060" id="lnum20"&gt;  20:&lt;/span&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;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', 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: #606060" id="lnum21"&gt;  21:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;UserControl&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Notice the xmlns:datacontrols declaration at the top.&lt;/p&gt;

&lt;p&gt;Now since we can’t do the grouping declaratively as in my previous sample with Silverlight 3 beta, here’s how we could do it.  In Silverlight 3 you have access to PagedCollectionView (add a reference to System.Windows.Data to get it).  This is a view that enables you to add sort and group descriptors.  In my initial loading code I instantiate a new PagedCollectionView passing in my List&amp;lt;Person&amp;gt; as the enumerable type.  I then set a default grouping on it.&lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" 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: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', 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: #606060" id="lnum1"&gt;   1:&lt;/span&gt; PagedCollectionView pcv = &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;span style="color: #606060" id="lnum2"&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: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', 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: #606060" id="lnum3"&gt;   3:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&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;span style="color: #606060" id="lnum4"&gt;   4:&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: #606060" id="lnum5"&gt;   5:&lt;/span&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;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt;     Loaded += &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; RoutedEventHandler(MainPage_Loaded);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', 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: #606060" id="lnum7"&gt;   7:&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: #606060" id="lnum8"&gt;   8:&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: #606060" id="lnum9"&gt;   9:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; MainPage_Loaded(&lt;span style="color: #0000ff"&gt;object&lt;/span&gt; sender, RoutedEventArgs e)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', 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: #606060" id="lnum10"&gt;  10:&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: #606060" id="lnum11"&gt;  11:&lt;/span&gt;     pcv = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; PagedCollectionView(People.GetPeople());&lt;/pre&gt;
&lt;!--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: #606060" id="lnum12"&gt;  12:&lt;/span&gt;     pcv.GroupDescriptions.Add(&lt;span style="color: #0000ff"&gt;new&lt;/span&gt; PropertyGroupDescription(&lt;span style="color: #006080"&gt;"AgeGroup"&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: #606060" id="lnum13"&gt;  13:&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: #606060" id="lnum14"&gt;  14:&lt;/span&gt;     PeopleList.ItemsSource = pcv;&lt;/pre&gt;
&lt;!--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: #606060" id="lnum15"&gt;  15:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Then I can wire up a quick and dirty (just for demonstration purposes) ComboBox to show changing the grouping (or perhaps adding another one if you’d like):&lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" 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: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', 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: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; GroupNames_SelectionChanged(&lt;span style="color: #0000ff"&gt;object&lt;/span&gt; sender, SelectionChangedEventArgs 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;span style="color: #606060" id="lnum2"&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: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', 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: #606060" id="lnum3"&gt;   3:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (pcv != &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;span style="color: #606060" id="lnum4"&gt;   4:&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: #606060" id="lnum5"&gt;   5:&lt;/span&gt;         &lt;span style="color: #008000"&gt;// comment this next line out to see&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: #606060" id="lnum6"&gt;   6:&lt;/span&gt;         &lt;span style="color: #008000"&gt;// adding additional groupings.&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: #606060" id="lnum7"&gt;   7:&lt;/span&gt;         pcv.GroupDescriptions.Clear();&lt;/pre&gt;
&lt;!--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: #606060" id="lnum8"&gt;   8:&lt;/span&gt;         ComboBoxItem itm = (ComboBoxItem)GroupNames.SelectedItem;&lt;/pre&gt;
&lt;!--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: #606060" id="lnum9"&gt;   9:&lt;/span&gt;         pcv.GroupDescriptions.Add(&lt;span style="color: #0000ff"&gt;new&lt;/span&gt; PropertyGroupDescription(itm.Content.ToString()));&lt;/pre&gt;
&lt;!--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: #606060" id="lnum10"&gt;  10:&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: #606060" id="lnum11"&gt;  11:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;You see we are just changing the PagedCollectionView and not the DataGrid.  The binding that exists between them already understands what to do – so we just have to change the data source, not the control displaying the source.  Put them all together and the running application shows the grouping:&lt;/p&gt;

&lt;p&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="DataGrid grouping sample image" alt="DataGrid grouping sample image" src="http://storage.timheuer.com/datagridgroupingupdated.png" /&gt;&lt;/p&gt;

&lt;p&gt;Hopefully this helps clarify the change from SL3 beta and apologies for the delay in updating what is a common sample request.  Who knows, maybe in future versions the declarative model will come back :-).  Here’s the code for the above if you’d like to see it: &lt;a href="http://storage.timheuer.com/DataGridGroupingUpdated.zip"&gt;DataGridGroupingUpdated.zip&lt;/a&gt;&lt;/p&gt;

&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:6857332a-e63f-4f47-9bf8-4f62a3393c3c" class="wlWriterEditableSmartContent"&gt;&lt;span class="tags"&gt;tags: &lt;a href="http://timheuer.com/blog/tags/silverlight/default.aspx" rel="tag"&gt;silverlight&lt;/a&gt;, &lt;a href="http://timheuer.com/blog/tags/datagrid/default.aspx" rel="tag"&gt;datagrid&lt;/a&gt;, &lt;a href="http://timheuer.com/blog/tags/grouping/default.aspx" rel="tag"&gt;grouping&lt;/a&gt;, &lt;a href="http://timheuer.com/blog/tags/sorting/default.aspx" rel="tag"&gt;sorting&lt;/a&gt;, &lt;a href="http://timheuer.com/blog/tags/pagedcollectionview/default.aspx" rel="tag"&gt;pagedcollectionview&lt;/a&gt;, &lt;a href="http://timheuer.com/blog/tags/groupdescriptor/default.aspx" rel="tag"&gt;groupdescriptor&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="wlWriterHeaderFooter" style="margin:0px; padding:0px 0px 0px 0px;"&gt;&lt;hr /&gt;&lt;div class="cc-license"&gt;This work is licensed under a &lt;a href="http://creativecommons.org/licenses/by/3.0/"&gt;Creative Commons Attribution By license.&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;img src="http://timheuer.com/blog/aggbug/14680.aspx" width="1" height="1" /&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/5_YVQWNxM6db65McmvQoZAtWnRI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5_YVQWNxM6db65McmvQoZAtWnRI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/5_YVQWNxM6db65McmvQoZAtWnRI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5_YVQWNxM6db65McmvQoZAtWnRI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/timheuer/~4/Ofwi4_Zt3uI" height="1" width="1"/&gt;</description>
            <dc:creator>Tim Heuer</dc:creator>
            <guid isPermaLink="false">http://timheuer.com/blog/archive/2009/11/04/updated-silverlight-3-datagrid-grouping-data-pagedcollectionview.aspx</guid>
            <pubDate>Wed, 04 Nov 2009 18:33:25 GMT</pubDate>
            <wfw:comment>http://timheuer.com/blog/comments/14680.aspx</wfw:comment>
            <comments>http://timheuer.com/blog/archive/2009/11/04/updated-silverlight-3-datagrid-grouping-data-pagedcollectionview.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://timheuer.com/blog/comments/commentRss/14680.aspx</wfw:commentRss>
        <feedburner:origLink>http://timheuer.com/blog/archive/2009/11/04/updated-silverlight-3-datagrid-grouping-data-pagedcollectionview.aspx</feedburner:origLink></item>
        <item>
            <title>Microsoft Store &amp;ndash; engaging with consumers directly</title>
            <category>community</category>
            <category>tech stuff</category>
            <category>opinion</category>
            <link>http://feedproxy.google.com/~r/timheuer/~3/Uzh-z6KudB0/my-microsoft-store-experience-scottsdale-arizona.aspx</link>
            <description>&lt;p&gt;Standard caveats apply: I’m a Microsoft employee and fanboy.  I’m not ashamed.  I will say though when the announcements of the Microsoft retail brick-and-mortar stores opening, I was skeptical…no doubtful.  I kept (and still do a bit) thinking to myself &lt;em&gt;how are they going to compete with the likes of Best Buy and others?!&lt;/em&gt;  Nonetheless, I waited patiently to see the plans.&lt;/p&gt;
&lt;p&gt;I wouldn’t have to wait long as the first store opened up in Scottsdale, Arizona, USA.  Scottsdale is a neighboring town in the sprawl we call “Phoenix” (it’s about 40 mins from me in the &lt;a href="http://www.queencreek.org"&gt;QC&lt;/a&gt;).  When opening day came around, surely nobody would be there right?  Wrong.  Call them fanboys, eager folks to get tickets to the concert that night for their kids, whatever…but there were folks camped out.  And the lines were amazing.  The opening was an amazement to me of buzz and excitement from what I could tell.  4 days later I took the chance to go out there and take a look.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.flickr.com/photos/66831573@N00/4044572021/" title="Microsoft Store Entrance"&gt;&lt;img border="0" align="left" src="http://farm3.static.flickr.com/2759/4044572021_d0299562cd_m.jpg" alt="Microsoft Store Entrance" style="margin: 0px 10px 0px 0px; display: inline;" /&gt;&lt;/a&gt;I first saw a front entrance that didn’t display ‘old school’ Microsoft.  A subtle logo twist on the Windows logo (perhaps too subtle?  will people know) greets the header of the entry way.  Yes, it feels very Apple store-ish.  Naysayers flame away: copycat, blah blah.  So what…if you want to be successful, do you ignore what already has been successful?! No.&lt;/p&gt;
&lt;p&gt;The store from the outside is very bright and clean.  Other than what are perhaps load-bearing pillars, floor-to-ceiling glass is in the entire front entry way.  When you walk in you’re greeted by some newly christened Softies (yes, they are full Microsoft employees…I see them in the GAL).  Each employee is wearing different colored shirts.  I’m assuming red means some type of supervisor or senior person.  I saw the manager, &lt;a href="http://www.microspotting.com/2009/08/microsoft-store"&gt;Cheryl&lt;/a&gt;, whom I’d been debriefed on earlier in the year.  The store was packed and I didn’t think it’d be appropriate to chat her up (aside from the fact my kids were yanking down all the Zune HDs from their docks).&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.flickr.com/photos/66831573@N00/4044572123/" title="Microsoft Store Crowd"&gt;&lt;img border="0" src="http://farm3.static.flickr.com/2803/4044572123_eec30fa7e0_m.jpg" alt="Microsoft Store Crowd" style="display: block; float: none; margin-left: auto; margin-right: auto;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I was approached by an associate who asked if I needed anything.  I identified myself as a fellow Microsoft employee and he asked me what team.  &lt;a href="http://silverlight.net"&gt;Silverlight&lt;/a&gt;, I told him.  Immediately he knew what that was and replied that he’s learning it right now coming from the Flash world as an animator.  Wow.  A retail clerk knowing Silverlight?!  We chatted about he Zune HD as I’d not seen them yet (one locked up on me while playing with it, which was weird).  &lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.flickr.com/photos/66831573@N00/4044571545/" title="Microsoft Store laptop sales (dell adamo)"&gt;&lt;img border="0" align="right" src="http://farm3.static.flickr.com/2539/4044571545_3f365b9280_m.jpg" alt="Microsoft Store laptop sales (dell adamo)" style="margin: 0px 0px 0px 5px; display: inline;" /&gt;&lt;/a&gt;I wandered around and was amazed at the laptop availability from all the major players: Dell (man that Adamo is sweet), Toshiba, HP, Sony, Acer, Lenovo, etc.  And all form factors: huge touch screens to netbooks.  I’m not sure how well they are priced, but the 13” Adamo was listed there at $1400.  Based on the sales figures I heard from one employee on the first day laptop sales, they were clipping along really well – people are actually buying stuff there!  I couldn’t tell for sure, but it looked like the machines purchased in the store were decrapified.  At least on the Dell’s I messed around with, the typical crapware was not installed – could have been a demo station thing, not sure and I didn’t ask.  The presentation of the machines and Windows 7 was well done though.&lt;/p&gt;
&lt;p&gt;What amazed me was the conversations being had.  I heard more times from customers &lt;em&gt;Oh, I didn’t know that&lt;/em&gt;.  The employees I saw engaging weren’t stumped.  These were very well prepared employees from what I could tell, accurate in information and confident in their replies to customers.  Solid.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.flickr.com/photos/66831573@N00/4044571803/" title="Microsoft Store Surface"&gt;&lt;img border="0" align="left" src="http://farm3.static.flickr.com/2585/4044571803_85488da27e_m.jpg" alt="Microsoft Store Surface" style="margin: 0px 5px 0px 0px; display: inline;" /&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/surface"&gt;Surface&lt;/a&gt; was a clear hit in the store.  There were four of them that I could tell, two “standard” ones that you see everywhere and 2 that were encased in a nicer presentation and at chest/bar level.  Perhaps this was so that adults could actually get a use on them.  The two others had a constant flux of kids in them playing the games (they were loaded up with all the demos in the world).  Seeing people interact with Surface was pretty cool – very little instruction needed other than “it’s a touch machine” – and people seemed to find it very intuitive.&lt;/p&gt;
&lt;p&gt;There was also an “answer bar” in the back.  Yes, mock if you will the familiarity with the Apple genius bar.  Who cares, it’s the right thing to do.  There was a screen showing the appointments upcoming and it was pretty active.  I even saw someone bring in their XBOX for the red-rings-of-death fix.  Heck that alone could make the stores valuable :-).  Most people were there to understand Windows XP upgrades to Windows 7 it looked like to me.  Behind the answer bar there was also a room dedicated to instruction.  &lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="http://www.flickr.com/photos/66831573@N00/4044571665/" title="Microsoft Store learning"&gt;&lt;img border="0" src="http://farm3.static.flickr.com/2645/4044571665_71b5913714_m.jpg" alt="Microsoft Store learning" /&gt;&lt;/a&gt; &lt;a href="http://www.flickr.com/photos/66831573@N00/4045316500/" title="Microsoft Store Answer Bar"&gt;&lt;img border="0" src="http://farm3.static.flickr.com/2560/4045316500_b9117673dd_m.jpg" alt="Microsoft Store Answer Bar" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;A huge screen with seating so regularly scheduled classes could be given to anyone who wishes.  For the Scottsdale store, you can find the upcoming lists on &lt;a href="http://store.microsoft.com/Locations"&gt;the web site for the Microsoft Store&lt;/a&gt;.  They have things ranging from exploring Windows 7, to getting in depth with Zune and understanding Office better.  I think this will be an essential asset for the store and Microsoft and the &lt;strong&gt;stores should be marketing the heck out of these learning sessions.  Everywhere.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Some cool facts?  Tons of WPF applications :-).  The wall that surrounds the entire store (which is very cool and really makes the store) is a WPF application.  One of the developers reached out to me a while back to let me know about it.  It’s pretty cool.  Also is some of the product choice helper application kiosk that are in some places (touch based of course).&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.flickr.com/photos/66831573@N00/4044571909/" title="Microsoft Store wall"&gt;&lt;img border="0" src="http://farm3.static.flickr.com/2662/4044571909_41ed9d4650.jpg" alt="Microsoft Store wall" style="display: block; float: none; margin-left: auto; margin-right: auto;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Overall, a great experience and changed my mind.  The staff is well trained, the products are presented well and people are entering in the store.  I thought Scottsdale was an odd place for the store (it is in between a Tiffany &amp;amp; Co. and a Barneys) given the (yes I’m stereotyping) typical Scottsdale Fashion Square crowd.  We’ll see if that crowd levels continue through the holidays.  &lt;/p&gt;
&lt;p&gt;The one thing that I think they are missing out on for geeks is a better name for their free WiFi.  I love how Apple brands their WiFi essentially.  Microsoft’s? RETAILGUEST.  Now anyone who has been to a Microsoft conference before will know that’s typical IT naming for us, but it misses a simple, subtle brand opportunity.  How about &lt;em&gt;Microsoft Store&lt;/em&gt;?!?!&lt;/p&gt;
&lt;p&gt;  &lt;/p&gt;
&lt;p&gt;I think the store opening so far has been a success in sales and perception.  To me, the perception is key.  Having so many people having &lt;em&gt;aha&lt;/em&gt; moments in the store should certainly help change their knowledge of Microsoft products and dispel some myths being portrayed.  The engaging, friendly and knowledgeable staff will only help things.  I wish that I’d seen a living room setup so that Media Center/XBOX had a better showing.  I think that is one product that isn’t out there in the consumer space enough.  And since I’ve moved completely to Media Center for my TV, having a setup showing things like the HD HomeRun and Windows Media Center with XBOX as an extender could go a long way I think.  It was energizing to see the store and how it was doing.  I wish it the best of luck!  The Mission Viejo store will be opening this week (29-Oct).&lt;/p&gt;
&lt;p&gt;Oh yeah, and not a single BSOD in the the entire store :-).&lt;/p&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:e72ba124-66a0-4594-9b40-36e848a71694" style="margin: 0px; padding: 0px; display: inline; float: none;"&gt;&lt;span class="tags"&gt;tags: &lt;a rel="tag" href="http://timheuer.com/blog/tags/microsoft+store/default.aspx"&gt;microsoft store&lt;/a&gt;, &lt;a rel="tag" href="http://timheuer.com/blog/tags/msstore/default.aspx"&gt;msstore&lt;/a&gt;, &lt;a rel="tag" href="http://timheuer.com/blog/tags/answer+bar/default.aspx"&gt;answer bar&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0px; padding: 0px;" class="wlWriterHeaderFooter"&gt;&lt;hr /&gt;
&lt;div class="cc-license"&gt;This work is licensed under a &lt;a href="http://creativecommons.org/licenses/by/3.0/"&gt;Creative Commons Attribution By license.&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;&lt;img src="http://timheuer.com/blog/aggbug/14679.aspx" width="1" height="1" /&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Y6QTNOOcsEZhWpxb-gOqdtn2u4s/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Y6QTNOOcsEZhWpxb-gOqdtn2u4s/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Y6QTNOOcsEZhWpxb-gOqdtn2u4s/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Y6QTNOOcsEZhWpxb-gOqdtn2u4s/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/timheuer/~4/Uzh-z6KudB0" height="1" width="1"/&gt;</description>
            <dc:creator>Tim Heuer</dc:creator>
            <guid isPermaLink="false">http://timheuer.com/blog/archive/2009/10/25/my-microsoft-store-experience-scottsdale-arizona.aspx</guid>
            <pubDate>Mon, 26 Oct 2009 06:14:29 GMT</pubDate>
            <wfw:comment>http://timheuer.com/blog/comments/14679.aspx</wfw:comment>
            <comments>http://timheuer.com/blog/archive/2009/10/25/my-microsoft-store-experience-scottsdale-arizona.aspx#feedback</comments>
            <slash:comments>23</slash:comments>
            <wfw:commentRss>http://timheuer.com/blog/comments/commentRss/14679.aspx</wfw:commentRss>
        <feedburner:origLink>http://timheuer.com/blog/archive/2009/10/25/my-microsoft-store-experience-scottsdale-arizona.aspx</feedburner:origLink></item>
        <item>
            <title>Silverlight Audio Player for WordPress</title>
            <category>community</category>
            <category>blogging</category>
            <category>silverlight</category>
            <category>tech stuff</category>
            <category>web</category>
            <link>http://feedproxy.google.com/~r/timheuer/~3/PPhneeZ9JSM/silverlight-audio-player-for-wordpress-launched-again.aspx</link>
            <description>&lt;p&gt;As a follow-up to my &lt;a href="http://timheuer.com/silverlight-for-wordpress"&gt;&lt;strong&gt;Silverlight For WordPress&lt;/strong&gt;&lt;/a&gt; plugin, I have just deployed Mark Heath’s &lt;a href="http://slaudioplayer.codeplex.com/"&gt;Silverlight Audio Player&lt;/a&gt; as a WordPress plugin.  Thanks to Mark for changing his license to &lt;a href="http://opensource.org/licenses/ms-pl.html"&gt;Ms-PL&lt;/a&gt; so that I could make this happen.  If you are a WordPress user and want to use Silverlight for audio playback, you use some WordPress macro language (in this case &lt;em&gt;slaudio&lt;/em&gt;) and put it in.  The rendered output is like this:&lt;/p&gt;  &lt;p&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="Silverlight Audio Player for WordPress (collapsed)" alt="Silverlight Audio Player for WordPress (collapsed)" src="http://storage.timheuer.com/slaudio-screenshots-1.png" /&gt;&lt;/p&gt;  &lt;p&gt;And when you click the play button it expands:&lt;/p&gt;  &lt;p&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="Silverlight Audio Player for WordPress (expanded)" alt="Silverlight Audio Player for WordPress (expanded)" src="http://storage.timheuer.com/slaudio-screenshots-2.png" /&gt;&lt;/p&gt;  &lt;p&gt;Again, most of the actual &lt;a href="http://silverlight.net"&gt;&lt;strong&gt;Silverlight&lt;/strong&gt;&lt;/a&gt; work is Mark’s, so be sure to head on over to his project to thank him or if you find issues in the Silverlight player.  I’ll update the plugin whenever a new version of the player is released.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;NOTE: A lot of people ask me if I’m running WordPress on this blog because of these plugins.  The answer is no.  I run the most awesome &lt;a href="http://www.subtextproject.com"&gt;Subtext&lt;/a&gt; framework here.  I do have a few other sites that I use WordPress on. &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;To install in WordPress, simply search for the plugin in your admin dashboard under ‘silverlight’ and you will find it listed as &lt;em&gt;&lt;a href="http://wordpress.org/extend/plugins/silverlight-audio-player/"&gt;Silverlight Audio Player for WordPress&lt;/a&gt;&lt;/em&gt;.  I’ve tested it on 2.8.5 but should work back to 2.2.x.&lt;/p&gt;  &lt;p /&gt;  &lt;p&gt;Hope this helps!&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:d9cf5318-e881-4263-9537-74a59c02ea6e" class="wlWriterEditableSmartContent"&gt;&lt;span class="tags"&gt;tags: &lt;a href="http://timheuer.com/blog/tags/silverlight/default.aspx" rel="tag"&gt;silverlight&lt;/a&gt;, &lt;a href="http://timheuer.com/blog/tags/wordpress/default.aspx" rel="tag"&gt;wordpress&lt;/a&gt;, &lt;a href="http://timheuer.com/blog/tags/silverlight-for-wordpress/default.aspx" rel="tag"&gt;silverlight-for-wordpress&lt;/a&gt;, &lt;a href="http://timheuer.com/blog/tags/audio/default.aspx" rel="tag"&gt;audio&lt;/a&gt;, &lt;a href="http://timheuer.com/blog/tags/plugins/default.aspx" rel="tag"&gt;plugins&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="wlWriterHeaderFooter" style="margin:0px; padding:0px 0px 0px 0px;"&gt;&lt;hr /&gt;&lt;div class="cc-license"&gt;This work is licensed under a &lt;a href="http://creativecommons.org/licenses/by/3.0/"&gt;Creative Commons Attribution By license.&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;img src="http://timheuer.com/blog/aggbug/14678.aspx" width="1" height="1" /&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/EW0JPqy7vxk3gYmhsBgXtFwkUSA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EW0JPqy7vxk3gYmhsBgXtFwkUSA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/EW0JPqy7vxk3gYmhsBgXtFwkUSA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EW0JPqy7vxk3gYmhsBgXtFwkUSA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/timheuer/~4/PPhneeZ9JSM" height="1" width="1"/&gt;</description>
            <dc:creator>Tim Heuer</dc:creator>
            <guid isPermaLink="false">http://timheuer.com/blog/archive/2009/10/25/silverlight-audio-player-for-wordpress-launched-again.aspx</guid>
            <pubDate>Mon, 26 Oct 2009 01:06:29 GMT</pubDate>
            <wfw:comment>http://timheuer.com/blog/comments/14678.aspx</wfw:comment>
            <comments>http://timheuer.com/blog/archive/2009/10/25/silverlight-audio-player-for-wordpress-launched-again.aspx#feedback</comments>
            <slash:comments>8</slash:comments>
            <wfw:commentRss>http://timheuer.com/blog/comments/commentRss/14678.aspx</wfw:commentRss>
        <feedburner:origLink>http://timheuer.com/blog/archive/2009/10/25/silverlight-audio-player-for-wordpress-launched-again.aspx</feedburner:origLink></item>
        <item>
            <title>Using Visual Studio 2010 for Silverlight development</title>
            <category>community</category>
            <category>developer</category>
            <category>expression</category>
            <category>ria</category>
            <category>silverlight</category>
            <category>tech stuff</category>
            <category>visual studio</category>
            <link>http://feedproxy.google.com/~r/timheuer/~3/VopanAKY4wM/can-i-use-vs2010-for-silverlight-3-development.aspx</link>
            <description>&lt;p&gt;Previously I &lt;a href="http://timheuer.com/blog/archive/2009/10/19/silverlight-and-visual-studio-2010-beta-2.aspx"&gt;made note of things about the release of Visual Studio 2010 beta 2&lt;/a&gt; with regard to &lt;a href="http://silverlight.net"&gt;Silverlight&lt;/a&gt; development.  I’ve gotten a few questions about if people should start using it for Silverlight development.  Perhaps I can help provide you with the best information I can to make that decision…so here it goes.&lt;/p&gt;  &lt;h2&gt;Go-live support&lt;/h2&gt;  &lt;p&gt;Visual Studio 2010 and .NET Framework 4 both have “go-live” support as indicated in the license terms (which are available on the VS2010 download).  If you have never bothered yourself with previous go-live products at Microsoft you may not understand what that means.&lt;/p&gt;  &lt;p&gt;In short, “go-live” means we grant permission for you to use the product (in this case tools and framework) in a production environment.  It also means that it is a supported product at that point as well.  For Visual Studio, if you plan on using Visual Studio 2010 for go-live use, email &lt;a href="mailto:vsgolive@microsoft.com"&gt;vsgolive@microsoft.com&lt;/a&gt; so you will be sure to get access to that support.  You should also &lt;strong&gt;read the go-live license terms&lt;/strong&gt; clearly and back-up your project data before upgrading.  More information about go-live support can be found at &lt;a href="http://blogs.msdn.com/jeffbe/archive/2009/10/19/going-live-with-visual-studio-2010-beta-2.aspx"&gt;Jeff Beehler’s blog post&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;As with &lt;strong&gt;any&lt;/strong&gt; software, pre-release or not, you should be aware of caveats and gotchas.  I’ve found a few that you should be a ware of and am listing them below.&lt;/p&gt;  &lt;h2&gt;Installer errors if you have Silverlight RTW (40624) on your machine&lt;/h2&gt;  &lt;p&gt;If you are a developer and have already downloaded Silverlight 3 when it released, you probably have installed the Silverlight Tools for Visual Studio 2008 already.  Now, &lt;strong&gt;if you never updated your tools to the later GDR (service packs) release&lt;/strong&gt;, then you will encounter an error when installing VS2010 beta 2.  This is because the most recent Silverlight 3 release (3.040818) SDK does not install on top of the initial release (3.040624) SDK.  We know this and this should be remedied by VS2010 official release.&lt;/p&gt;  &lt;p&gt;In the short-term, you need to perform a manual step to accommodate.  You can do one of two things:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Upgrade your Silverlight Tools for Visual Studio 2008 to the latest SDK and developer runtime. &lt;/li&gt;    &lt;li&gt;Uninstall the Silverlight 3 SDK and developer runtime. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;The second is probably the easiest if you’ve already downloaded the Visual Studio 2010 beta 2 bits.  Simply go to the Add/Remove Control Panel applet in Windows and remove the listings of Microsoft Silverlight 3 and Microsoft Silverlight 3 SDK.  Then run the Visual Studio 2010 beta 2 installer.&lt;/p&gt;  &lt;h2&gt;What about &lt;a href="http://microsoft.com/expression"&gt;Expression Blend&lt;/a&gt;?&lt;/h2&gt;  &lt;p&gt;Here is one thing that will be a gotcha.  If you choose the &lt;em&gt;Edit in Expression Blend&lt;/em&gt; action while in VS2010, and have Blend 3 installed, you will see that Blend will start but with this message:&lt;/p&gt;  &lt;p&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="Blend Warning 1" alt="Blend Warning 1" src="http://storage.timheuer.com/blendwarning1.png" /&gt;&lt;/p&gt;  &lt;p&gt;Despite what the message says, when you decide to go ahead and open the unsupported project file you will be greeted with:&lt;/p&gt;  &lt;p&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="Blend Warning 2" alt="Blend Warning 2" src="http://storage.timheuer.com/blendwarning2.png" /&gt;&lt;/p&gt;  &lt;p&gt;So there would be your first major caveat.  Your VS2010 project files wouldn’t be able to be opened by Expression Blend 3.  Now, I say this with caution because I’ve had some BASIC projects that have, and others that have not.  Essentially it isn’t ‘supported’ but this will be one of those areas where your mileage may vary.  This may cause you some slight discomfort when needing to tweak visual states or animations, among other things you may use Blend for (resource design, etc.).&lt;/p&gt;  &lt;h2&gt;Can it co-exist with Visual Studio 2008? &lt;/h2&gt;  &lt;p&gt;Yes, Visual Studio 2010 beta 2 can be installed side-by-side with Visual Studio 2008 SP1.  This is how I’m running it now and they isolate well.&lt;/p&gt;  &lt;h2&gt;What about my VS2008 Silverlight project files?&lt;/h2&gt;  &lt;p&gt;If you open an &lt;em&gt;existing&lt;/em&gt; VS2008 Silverlight project/solution, VS2010 will prompt you to upgrade the project file.  Note that when you do so, VS2008 can no longer access that project file.  So this means that you can’t have VS2008 and VS2010 working on the same project/solution files for your Silverlight projects.&lt;/p&gt;  &lt;p&gt;This can be a bit of a snag in larger team developments where you have eager developers to want to get started on VS2010, but some still using VS2008 on the same project.  Take caution here.  You can try some of the same methods used in VS2005/2008 days in creating separate project/solution files for the products, but it’s a risky move if the project properties aren’t right.&lt;/p&gt;  &lt;h2&gt;So what about Silverlight 2 development?&lt;/h2&gt;  &lt;p&gt;You mean Sivlerlight ‘classic’? :-)  Visual Studio 2010 does not support Silverlight 2 development.  Yes I know in a &lt;a href="http://timheuer.com/blog/archive/2009/05/20/silverlight-and-visual-studio-2010-beta.aspx"&gt;previous post I showed multi-targeting&lt;/a&gt; with Silverlight 2 and 3.  As it stands now though SL2 will not be a target for VS2010 development.&lt;/p&gt;  &lt;p&gt;At this point any Silverlight 2 installed client should have been upgraded to Silverlight 3 if they were enabled for auto-update.  &lt;a href="http://timheuer.com/blog/archive/2009/07/10/silverlight-3-released-what-is-new-and-changed.aspx"&gt;Silverlight 3 provides so many more improvements&lt;/a&gt; over Silverlight 2 that you should really encourage moving even existing applications to the latest runtime to take advantage of some features.&lt;/p&gt;  &lt;p /&gt;  &lt;h2&gt;So can I use it for Silverlight 3 development then?&lt;/h2&gt;  &lt;p&gt;&lt;img style="margin: 0px 10px 0px 0px; display: inline" title="Works on my machine logo" alt="Works on my machine logo" align="left" src="http://storage.timheuer.com/works-on-my-machine-starburst_3.png" width="100" height="96" /&gt;Given the above known’s (and in general, the known issues with VS2010 beta 2 which are documented in the readme), yes you can use VS2010 beta 2 for Silverlight 3 development.  As &lt;a href="http://timheuer.com/blog/archive/2009/10/19/silverlight-and-visual-studio-2010-beta-2.aspx"&gt;noted in my previous post&lt;/a&gt;, .NET RIA Services is not yet supported in VS2010).  Again, the above issues might prevent you in your particular project, but I can say that VS2010 works well with Silverlight 3 development.  &lt;/p&gt;  &lt;p&gt;Of course your mileage may vary depending on the types of projects, dependencies, frameworks, etc.  But I can confidently say “works on my machine.” :-)&lt;/p&gt;  &lt;p&gt;Hope this helps.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:1212a989-9df5-4471-bf5d-2afb3c23eeea" class="wlWriterEditableSmartContent"&gt;&lt;span class="tags"&gt;tags: &lt;a href="http://timheuer.com/blog/tags/silverlight/default.aspx" rel="tag"&gt;silverlight&lt;/a&gt;, &lt;a href="http://timheuer.com/blog/tags/visual+studio/default.aspx" rel="tag"&gt;visual studio&lt;/a&gt;, &lt;a href="http://timheuer.com/blog/tags/expression+blend/default.aspx" rel="tag"&gt;expression blend&lt;/a&gt;, &lt;a href="http://timheuer.com/blog/tags/riaservices/default.aspx" rel="tag"&gt;riaservices&lt;/a&gt;, &lt;a href="http://timheuer.com/blog/tags/xaml/default.aspx" rel="tag"&gt;xaml&lt;/a&gt;, &lt;a href="http://timheuer.com/blog/tags/wpf/default.aspx" rel="tag"&gt;wpf&lt;/a&gt;, &lt;a href="http://timheuer.com/blog/tags/ria/default.aspx" rel="tag"&gt;ria&lt;/a&gt;, &lt;a href="http://timheuer.com/blog/tags/vs2010/default.aspx" rel="tag"&gt;vs2010&lt;/a&gt;, &lt;a href="http://timheuer.com/blog/tags/blend/default.aspx" rel="tag"&gt;blend&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="wlWriterHeaderFooter" style="margin:0px; padding:0px 0px 0px 0px;"&gt;&lt;hr /&gt;&lt;div class="cc-license"&gt;This work is licensed under a &lt;a href="http://creativecommons.org/licenses/by/3.0/"&gt;Creative Commons Attribution By license.&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;img src="http://timheuer.com/blog/aggbug/14676.aspx" width="1" height="1" /&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/qx8yahJwCyNidYUB0XUsT3ermnI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qx8yahJwCyNidYUB0XUsT3ermnI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/qx8yahJwCyNidYUB0XUsT3ermnI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qx8yahJwCyNidYUB0XUsT3ermnI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/timheuer/~4/VopanAKY4wM" height="1" width="1"/&gt;</description>
            <dc:creator>Tim Heuer</dc:creator>
            <guid isPermaLink="false">http://timheuer.com/blog/archive/2009/10/22/can-i-use-vs2010-for-silverlight-3-development.aspx</guid>
            <pubDate>Thu, 22 Oct 2009 21:28:07 GMT</pubDate>
            <wfw:comment>http://timheuer.com/blog/comments/14676.aspx</wfw:comment>
            <comments>http://timheuer.com/blog/archive/2009/10/22/can-i-use-vs2010-for-silverlight-3-development.aspx#feedback</comments>
            <slash:comments>18</slash:comments>
            <wfw:commentRss>http://timheuer.com/blog/comments/commentRss/14676.aspx</wfw:commentRss>
        <feedburner:origLink>http://timheuer.com/blog/archive/2009/10/22/can-i-use-vs2010-for-silverlight-3-development.aspx</feedburner:origLink></item>
        <item>
            <title>Silverlight Toolkit adds DragDrop targets!</title>
            <category>developer</category>
            <category>expression</category>
            <category>ria</category>
            <category>silverlight</category>
            <category>tech stuff</category>
            <category>ux</category>
            <category>visual studio</category>
            <category>web</category>
            <link>http://feedproxy.google.com/~r/timheuer/~3/zlHdr6Zeq7M/silverlight-toolkit-adds-drag-drop-support.aspx</link>
            <description>&lt;p&gt;One of the cool things I came across the in the October 2009 &lt;a href="http://silverlight.codeplex.com"&gt;Silverlight Toolkit&lt;/a&gt; release was the addition of drag-n-drop targets for some of the core controls.  Now I know you are thinking &lt;em&gt;great, another drag-n-drop useless control?!?&lt;/em&gt; and you’d be wrong.  I’m talking about things that make it easy to do do things like moving items from one list box to another, without writing code, but with it actually doing what you expect.&lt;/p&gt;
&lt;p&gt;Let’s take the simplest example here: ListBox and moving items from one to another.  Using &lt;a href="http://microsoft.com/expression"&gt;Expression Blend&lt;/a&gt; I’ve set up my XAML to be like this:&lt;/p&gt;
&lt;div id="codeSnippetWrapper" style="border: 1px solid silver; margin: 20px 0px 10px; padding: 4px; overflow: auto; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 97.5%; font-family: 'Courier New',courier,monospace; direction: ltr; font-size: 8pt; cursor: text;"&gt;
&lt;div id="codeSnippet" style="border-style: none; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum1" style="color: rgb(96, 96, 96);"&gt;   1:&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;StackPanel&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;Orientation&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="Horizontal"&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;Margin&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="10"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum2" style="color: rgb(96, 96, 96);"&gt;   2:&lt;/span&gt;     &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;ListBox&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;Width&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="200"&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;Height&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="500"&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;x:Name&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="FromBox"&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;DisplayMemberPath&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="FullName"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum3" style="color: rgb(96, 96, 96);"&gt;   3:&lt;/span&gt;     &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;ListBox&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;Width&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="200"&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;Height&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="500"&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;x:Name&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="ToBox"&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;DisplayMemberPath&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="FullName"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum4" style="color: rgb(96, 96, 96);"&gt;   4:&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;StackPanel&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Behind the scenes I have a simple class which returns an ObservableCollection&amp;lt;Person&amp;gt; and binds the results to my FromBox.  Here’s the full simple class:&lt;/p&gt;
&lt;div id="codeSnippetWrapper" style="border: 1px solid silver; margin: 20px 0px 10px; padding: 4px; overflow: auto; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 97.5%; font-family: 'Courier New',courier,monospace; direction: ltr; font-size: 8pt; cursor: text;"&gt;
&lt;div id="codeSnippet" style="border-style: none; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum1" style="color: rgb(96, 96, 96);"&gt;   1:&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;using&lt;/span&gt; System.Collections.ObjectModel;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum2" style="color: rgb(96, 96, 96);"&gt;   2:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum3" style="color: rgb(96, 96, 96);"&gt;   3:&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;namespace&lt;/span&gt; SilverlightApplication105&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum4" style="color: rgb(96, 96, 96);"&gt;   4:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum5" style="color: rgb(96, 96, 96);"&gt;   5:&lt;/span&gt;     &lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;class&lt;/span&gt; People&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum6" style="color: rgb(96, 96, 96);"&gt;   6:&lt;/span&gt;     {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum7" style="color: rgb(96, 96, 96);"&gt;   7:&lt;/span&gt;         &lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;static&lt;/span&gt; ObservableCollection&amp;lt;Person&amp;gt; GetListOfPeople()&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum8" style="color: rgb(96, 96, 96);"&gt;   8:&lt;/span&gt;         {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum9" style="color: rgb(96, 96, 96);"&gt;   9:&lt;/span&gt;             ObservableCollection&amp;lt;Person&amp;gt; ppl = &lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; ObservableCollection&amp;lt;Person&amp;gt;();&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum10" style="color: rgb(96, 96, 96);"&gt;  10:&lt;/span&gt;             &lt;span style="color: rgb(0, 0, 255);"&gt;for&lt;/span&gt; (&lt;span style="color: rgb(0, 0, 255);"&gt;int&lt;/span&gt; i = 0; i &amp;lt; 15; i++)&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum11" style="color: rgb(96, 96, 96);"&gt;  11:&lt;/span&gt;             {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum12" style="color: rgb(96, 96, 96);"&gt;  12:&lt;/span&gt;                 Person p = &lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; Person() { Firstname = &lt;span style="color: rgb(0, 96, 128);"&gt;"First "&lt;/span&gt; + i.ToString(), Lastname = &lt;span style="color: rgb(0, 96, 128);"&gt;"Last "&lt;/span&gt; + i.ToString() };&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum13" style="color: rgb(96, 96, 96);"&gt;  13:&lt;/span&gt;                 ppl.Add(p);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum14" style="color: rgb(96, 96, 96);"&gt;  14:&lt;/span&gt;             }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum15" style="color: rgb(96, 96, 96);"&gt;  15:&lt;/span&gt;             &lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt; ppl;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum16" style="color: rgb(96, 96, 96);"&gt;  16:&lt;/span&gt;         }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum17" style="color: rgb(96, 96, 96);"&gt;  17:&lt;/span&gt;     }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum18" style="color: rgb(96, 96, 96);"&gt;  18:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum19" style="color: rgb(96, 96, 96);"&gt;  19:&lt;/span&gt;     &lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;class&lt;/span&gt; Person&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum20" style="color: rgb(96, 96, 96);"&gt;  20:&lt;/span&gt;     {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum21" style="color: rgb(96, 96, 96);"&gt;  21:&lt;/span&gt;         &lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt; Firstname { get; set; }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum22" style="color: rgb(96, 96, 96);"&gt;  22:&lt;/span&gt;         &lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt; Lastname { get; set; }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum23" style="color: rgb(96, 96, 96);"&gt;  23:&lt;/span&gt;         &lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt; FullName&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum24" style="color: rgb(96, 96, 96);"&gt;  24:&lt;/span&gt;         {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum25" style="color: rgb(96, 96, 96);"&gt;  25:&lt;/span&gt;             get&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum26" style="color: rgb(96, 96, 96);"&gt;  26:&lt;/span&gt;             {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum27" style="color: rgb(96, 96, 96);"&gt;  27:&lt;/span&gt;                 &lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt;.Concat(Firstname, &lt;span style="color: rgb(0, 96, 128);"&gt;" "&lt;/span&gt;, Lastname);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum28" style="color: rgb(96, 96, 96);"&gt;  28:&lt;/span&gt;             }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum29" style="color: rgb(96, 96, 96);"&gt;  29:&lt;/span&gt;         }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum30" style="color: rgb(96, 96, 96);"&gt;  30:&lt;/span&gt;     }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum31" style="color: rgb(96, 96, 96);"&gt;  31:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;And the code for my MainPage.xaml.cs:&lt;/p&gt;
&lt;div id="codeSnippetWrapper" style="border: 1px solid silver; margin: 20px 0px 10px; padding: 4px; overflow: auto; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 97.5%; font-family: 'Courier New',courier,monospace; direction: ltr; font-size: 8pt; cursor: text;"&gt;
&lt;div id="codeSnippet" style="border-style: none; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum1" style="color: rgb(96, 96, 96);"&gt;   1:&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;using&lt;/span&gt; System.Windows;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum2" style="color: rgb(96, 96, 96);"&gt;   2:&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;using&lt;/span&gt; System.Windows.Controls;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum3" style="color: rgb(96, 96, 96);"&gt;   3:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum4" style="color: rgb(96, 96, 96);"&gt;   4:&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;namespace&lt;/span&gt; SilverlightApplication105&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum5" style="color: rgb(96, 96, 96);"&gt;   5:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum6" style="color: rgb(96, 96, 96);"&gt;   6:&lt;/span&gt;     &lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;partial&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;class&lt;/span&gt; MainPage : UserControl&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum7" style="color: rgb(96, 96, 96);"&gt;   7:&lt;/span&gt;     {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum8" style="color: rgb(96, 96, 96);"&gt;   8:&lt;/span&gt;         &lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt; MainPage()&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum9" style="color: rgb(96, 96, 96);"&gt;   9:&lt;/span&gt;         {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum10" style="color: rgb(96, 96, 96);"&gt;  10:&lt;/span&gt;             InitializeComponent();&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum11" style="color: rgb(96, 96, 96);"&gt;  11:&lt;/span&gt;             Loaded += &lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; RoutedEventHandler(MainPage_Loaded);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum12" style="color: rgb(96, 96, 96);"&gt;  12:&lt;/span&gt;         }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum13" style="color: rgb(96, 96, 96);"&gt;  13:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum14" style="color: rgb(96, 96, 96);"&gt;  14:&lt;/span&gt;         &lt;span style="color: rgb(0, 0, 255);"&gt;void&lt;/span&gt; MainPage_Loaded(&lt;span style="color: rgb(0, 0, 255);"&gt;object&lt;/span&gt; sender, RoutedEventArgs e)&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum15" style="color: rgb(96, 96, 96);"&gt;  15:&lt;/span&gt;         {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum16" style="color: rgb(96, 96, 96);"&gt;  16:&lt;/span&gt;             FromBox.ItemsSource = People.GetListOfPeople();&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum17" style="color: rgb(96, 96, 96);"&gt;  17:&lt;/span&gt;         }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum18" style="color: rgb(96, 96, 96);"&gt;  18:&lt;/span&gt;     }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum19" style="color: rgb(96, 96, 96);"&gt;  19:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Now I want to be able to drag an item from my FromBox to my ToBox.  I could do this in code, managing my index and moving things around, etc.  Or I can use something new from the toolkit!  Adding a reference in my &lt;a href="http://silverlight.net"&gt;Silverlight&lt;/a&gt; application to System.Windows.Controls.Toolkit, I then add two namespace declaration in my MainPage.xaml – here’s what the full XAML looks like now:&lt;/p&gt;
&lt;div id="codeSnippetWrapper" style="border: 1px solid silver; margin: 20px 0px 10px; padding: 4px; overflow: auto; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 97.5%; font-family: 'Courier New',courier,monospace; direction: ltr; font-size: 8pt; cursor: text;"&gt;
&lt;div id="codeSnippet" style="border-style: none; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum1" style="color: rgb(96, 96, 96);"&gt;   1:&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;UserControl&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;x:Class&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="SilverlightApplication105.MainPage"&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum2" style="color: rgb(96, 96, 96);"&gt;   2:&lt;/span&gt;     &lt;span style="color: rgb(255, 0, 0);"&gt;xmlns&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="http://schemas.microsoft.com/winfx/2006/xaml/presentation"&lt;/span&gt; &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum3" style="color: rgb(96, 96, 96);"&gt;   3:&lt;/span&gt;     &lt;span style="color: rgb(255, 0, 0);"&gt;xmlns:x&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="http://schemas.microsoft.com/winfx/2006/xaml"&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum4" style="color: rgb(96, 96, 96);"&gt;   4:&lt;/span&gt;     &lt;span style="color: rgb(255, 0, 0);"&gt;xmlns:d&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="http://schemas.microsoft.com/expression/blend/2008"&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;xmlns:mc&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="http://schemas.openxmlformats.org/markup-compatibility/2006"&lt;/span&gt; &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum5" style="color: rgb(96, 96, 96);"&gt;   5:&lt;/span&gt;     &lt;span style="color: rgb(255, 0, 0);"&gt;mc:Ignorable&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="d"&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;d:DesignWidth&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="640"&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;d:DesignHeight&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="480"&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum6" style="color: rgb(96, 96, 96);"&gt;   6:&lt;/span&gt;     &lt;span style="color: rgb(255, 0, 0);"&gt;xmlns:toolkit&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Toolkit"&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum7" style="color: rgb(96, 96, 96);"&gt;   7:&lt;/span&gt;     &lt;span style="color: rgb(255, 0, 0);"&gt;xmlns:mswindows&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="clr-namespace:Microsoft.Windows;assembly=System.Windows.Controls.Toolkit"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum8" style="color: rgb(96, 96, 96);"&gt;   8:&lt;/span&gt;     &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;Grid&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;x:Name&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="LayoutRoot"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum9" style="color: rgb(96, 96, 96);"&gt;   9:&lt;/span&gt;         &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;StackPanel&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;Orientation&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="Horizontal"&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;Margin&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="10"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum10" style="color: rgb(96, 96, 96);"&gt;  10:&lt;/span&gt;             &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;ListBox&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;Width&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="200"&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;Height&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="500"&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;x:Name&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="FromBox"&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;DisplayMemberPath&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="FullName"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum11" style="color: rgb(96, 96, 96);"&gt;  11:&lt;/span&gt;             &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;ListBox&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;Width&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="200"&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;Height&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="500"&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;x:Name&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="ToBox"&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;DisplayMemberPath&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="FullName"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum12" style="color: rgb(96, 96, 96);"&gt;  12:&lt;/span&gt;         &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;StackPanel&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum13" style="color: rgb(96, 96, 96);"&gt;  13:&lt;/span&gt;     &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;Grid&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum14" style="color: rgb(96, 96, 96);"&gt;  14:&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;UserControl&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Notice the xmlns:toolkit and xmlns:mswindows in the declarations.  Now I simply wrap the ListBox controls inside a ListBoxDropTarget control:&lt;/p&gt;
&lt;div id="codeSnippetWrapper" style="border: 1px solid silver; margin: 20px 0px 10px; padding: 4px; overflow: auto; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 97.5%; font-family: 'Courier New',courier,monospace; direction: ltr; font-size: 8pt; cursor: text;"&gt;
&lt;div id="codeSnippet" style="border-style: none; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum1" style="color: rgb(96, 96, 96);"&gt;   1:&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;StackPanel&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;Orientation&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="Horizontal"&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;Margin&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="10"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum2" style="color: rgb(96, 96, 96);"&gt;   2:&lt;/span&gt;     &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;toolkit:ListBoxDragDropTarget&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;mswindows:DragDrop&lt;/span&gt;.&lt;span style="color: rgb(255, 0, 0);"&gt;AllowDrop&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="True"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum3" style="color: rgb(96, 96, 96);"&gt;   3:&lt;/span&gt;         &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;ListBox&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;Width&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="200"&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;Height&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="500"&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;x:Name&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="FromBox"&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;DisplayMemberPath&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="FullName"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum4" style="color: rgb(96, 96, 96);"&gt;   4:&lt;/span&gt;     &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;toolkit:ListBoxDragDropTarget&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum5" style="color: rgb(96, 96, 96);"&gt;   5:&lt;/span&gt;     &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;toolkit:ListBoxDragDropTarget&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;mswindows:DragDrop&lt;/span&gt;.&lt;span style="color: rgb(255, 0, 0);"&gt;AllowDrop&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="True"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum6" style="color: rgb(96, 96, 96);"&gt;   6:&lt;/span&gt;         &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;ListBox&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;Width&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="200"&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;Height&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="500"&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;x:Name&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="ToBox"&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;DisplayMemberPath&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="FullName"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum7" style="color: rgb(96, 96, 96);"&gt;   7:&lt;/span&gt;     &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;toolkit:ListBoxDragDropTarget&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum8" style="color: rgb(96, 96, 96);"&gt;   8:&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;StackPanel&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;And when I run the application I get drag-n-drop item functionality from one list to the other, complete with a semi-opaque decorator as I drag the item:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://storage.timheuer.com/dragdroplistbox1.png" alt="ListBoxDragDropTarget image sample" title="ListBoxDragDropTarget image sample" style="display: block; float: none; margin-left: auto; margin-right: auto;" /&gt;&lt;/p&gt;
&lt;p&gt;Cool.  As I drag one item, it moves to the other.  But this can do more.  What if I just wanted to re-order items within a single ListBox?  This can do it as well…after all the ListBox can be both a drag *and* drop target.  However this ListBoxDragDropTarget doesn’t work with virtualized panels (which the ListBox uses by default.  So to do this you’d have to alter your ListBox ItemsPanelTemplate to include a regular StackPanel like so:&lt;/p&gt;
&lt;div id="codeSnippetWrapper" style="border: 1px solid silver; margin: 20px 0px 10px; padding: 4px; overflow: auto; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 97.5%; font-family: 'Courier New',courier,monospace; direction: ltr; font-size: 8pt; cursor: text;"&gt;
&lt;div id="codeSnippet" style="border-style: none; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum1" style="color: rgb(96, 96, 96);"&gt;   1:&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;toolkit:ListBoxDragDropTarget&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;mswindows:DragDrop&lt;/span&gt;.&lt;span style="color: rgb(255, 0, 0);"&gt;AllowDrop&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="True"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum2" style="color: rgb(96, 96, 96);"&gt;   2:&lt;/span&gt;     &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;ListBox&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;Width&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="200"&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;Height&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="500"&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;x:Name&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="FromBox"&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;DisplayMemberPath&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="FullName"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum3" style="color: rgb(96, 96, 96);"&gt;   3:&lt;/span&gt;         &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;ListBox.ItemsPanel&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum4" style="color: rgb(96, 96, 96);"&gt;   4:&lt;/span&gt;             &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;ItemsPanelTemplate&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum5" style="color: rgb(96, 96, 96);"&gt;   5:&lt;/span&gt;                 &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;StackPanel&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum6" style="color: rgb(96, 96, 96);"&gt;   6:&lt;/span&gt;             &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;ItemsPanelTemplate&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum7" style="color: rgb(96, 96, 96);"&gt;   7:&lt;/span&gt;         &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;ListBox.ItemsPanel&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum8" style="color: rgb(96, 96, 96);"&gt;   8:&lt;/span&gt;     &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;ListBox&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; text-align: left; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: 'Courier New',courier,monospace; direction: ltr; color: black; font-size: 8pt;"&gt;&lt;span id="lnum9" style="color: rgb(96, 96, 96);"&gt;   9:&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;toolkit:ListBoxDragDropTarget&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;And then you’d be able to reorder using the drag/drop behavior of your mouse:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://storage.timheuer.com/dragdroplistbox2.png" alt="reorder sample image" title="reorder sample image" style="display: block; float: none; margin-left: auto; margin-right: auto;" /&gt;&lt;/p&gt;
&lt;p&gt;Very cool.  What’s great about this is that while I’m using simple text, you can use whatever DataTemplate you may have in your ListBox and the same functionality works…even if I added an image to my Person class and added that to the template, the functionality still works and looks great for the user:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://storage.timheuer.com/dragdroplistbox3.png" alt="complex template sample image" title="complex template sample image" style="display: block; float: none; margin-left: auto; margin-right: auto;" /&gt;&lt;/p&gt;
&lt;p&gt;As you can see the template follows the drop.  And the drop target location doesn’t have to match the same data template!  I can have my binding in the FromBox be a complex data template, but in the ToBox only choose to bind to a single property of the class.  Nice.  Here’s an animated view of this working or &lt;a href="http://timheuer.com/silverlight/dragtarget"&gt;click here for a live sample&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://storage.timheuer.com/dragdropanimated.gif" style="display: block; float: none; margin-left: auto; margin-right: auto;" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;This isn’t just for ListBox elements either.  Here are the other implementations:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;ListBoxDragDropTarget &lt;/li&gt;
    &lt;li&gt;TreeViewDragDropTarget &lt;/li&gt;
    &lt;li&gt;DataGridDragDropTarget &lt;/li&gt;
    &lt;li&gt;DataPointSeriesDragDropTarget&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Check out &lt;a href="http://themechanicalbride.blogspot.com/2009/08/new-with-silverlight-toolkit-drag-and.html"&gt;Jafar’s post&lt;/a&gt; for some samples on the other implementations to see how helpful they can be.&lt;/p&gt;
&lt;p&gt;So what do you think?  Good?  Hope this helps some of your scenarios with ease.  Go Toolkit!&lt;/p&gt;
&lt;p&gt;UPDATE: &lt;a href="http://storage.timheuer.com/SilverlightApplication105.zip"&gt;Download my project I used above here&lt;/a&gt;.&lt;br /&gt;
&lt;/p&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:d6ee5458-3c58-408e-ae51-afe559c31ba5" style="margin: 0px; padding: 0px; display: inline; float: none;"&gt;&lt;span class="tags"&gt;tags: &lt;a rel="tag" href="http://timheuer.com/blog/tags/silverlight/default.aspx"&gt;silverlight&lt;/a&gt;, &lt;a rel="tag" href="http://timheuer.com/blog/tags/silverlight+toolkit/default.aspx"&gt;silverlight toolkit&lt;/a&gt;, &lt;a rel="tag" href="http://timheuer.com/blog/tags/ria/default.aspx"&gt;ria&lt;/a&gt;, &lt;a rel="tag" href="http://timheuer.com/blog/tags/xaml/default.aspx"&gt;xaml&lt;/a&gt;, &lt;a rel="tag" href="http://timheuer.com/blog/tags/dragdrop/default.aspx"&gt;dragdrop&lt;/a&gt;, &lt;a rel="tag" href="http://timheuer.com/blog/tags/dragdroptarget/default.aspx"&gt;dragdroptarget&lt;/a&gt;, &lt;a rel="tag" href="http://timheuer.com/blog/tags/riaservices/default.aspx"&gt;riaservices&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0px; padding: 0px;" class="wlWriterHeaderFooter"&gt;&lt;hr /&gt;
&lt;div class="cc-license"&gt;This work is licensed under a &lt;a href="http://creativecommons.org/licenses/by/3.0/"&gt;Creative Commons Attribution By license.&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;&lt;img src="http://timheuer.com/blog/aggbug/14675.aspx" width="1" height="1" /&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/jfYcwv78p4x5uUXynB1KOltpP1g/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jfYcwv78p4x5uUXynB1KOltpP1g/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/jfYcwv78p4x5uUXynB1KOltpP1g/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jfYcwv78p4x5uUXynB1KOltpP1g/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/timheuer/~4/zlHdr6Zeq7M" height="1" width="1"/&gt;</description>
            <dc:creator>Tim Heuer</dc:creator>
            <guid isPermaLink="false">http://timheuer.com/blog/archive/2009/10/19/silverlight-toolkit-adds-drag-drop-support.aspx</guid>
            <pubDate>Mon, 19 Oct 2009 23:51:17 GMT</pubDate>
            <wfw:comment>http://timheuer.com/blog/comments/14675.aspx</wfw:comment>
            <comments>http://timheuer.com/blog/archive/2009/10/19/silverlight-toolkit-adds-drag-drop-support.aspx#feedback</comments>
            <slash:comments>40</slash:comments>
            <wfw:commentRss>http://timheuer.com/blog/comments/commentRss/14675.aspx</wfw:commentRss>
        <feedburner:origLink>http://timheuer.com/blog/archive/2009/10/19/silverlight-toolkit-adds-drag-drop-support.aspx</feedburner:origLink></item>
        <item>
            <title>A plea to my developer brethren about designer/designers</title>
            <category>developer</category>
            <category>expression</category>
            <category>silverlight</category>
            <category>ria</category>
            <category>tech stuff</category>
            <category>ux</category>
            <category>web</category>
            <link>http://feedproxy.google.com/~r/timheuer/~3/36cuY4tmXlA/14674.aspx</link>
            <description>&lt;p&gt;Since we appear to be in another revolution on user interface (UI) design and user experience (UX), I’ve seen a lot of people, companies, sites refer to the designer-developer workflow, including Microsoft.  Heck we’re &lt;a href="http://www.microsoft.com/expression"&gt;building tools&lt;/a&gt; around it for &lt;a href="http://silverlight.net"&gt;Silverlight&lt;/a&gt; and WPF development!  One thing I see too often though is the conversation being diminished to UI only.  &lt;/p&gt;  &lt;p&gt;I’ve heard conversations between developers saying things like &lt;em&gt;yeah, now we just need a designer to make things look pretty&lt;/em&gt; or &lt;em&gt;we take what the designer made pretty and put functionality behind it&lt;/em&gt;.&lt;/p&gt;  &lt;p&gt;I have a plea for my developer brethren: &lt;strong&gt;please stop using the word pretty and diminishing the role a designer plays in defining UI/UX.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;To me when I hear this I cringe for two reasons.  First, while I’m not a designer, I consider myself to have a strong appreciation for design and know that it isn’t easy to execute on a design for everyone.  Second I know many talented people in the design world who understand much more about how UI affects end user productivity and emotion more than just ‘making it pretty.’  So please stop, it’s insulting to the trade I think.&lt;/p&gt;  &lt;p&gt;Imagine if you heard a conversation of designers…&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;u&gt;Designer A&lt;/u&gt;&lt;/em&gt;: Sweet design man, I love how you anticipate the user’s next interaction and use the typography to really identify that action.     &lt;br /&gt;&lt;em&gt;&lt;u&gt;Designer B&lt;/u&gt;&lt;/em&gt;: Yeah, it took a lot of research and usability observations, but I think we got it right.  I hope the developers can finish this up so we can get it in the user’s hands.     &lt;br /&gt;&lt;em&gt;&lt;u&gt;Designer A&lt;/u&gt;&lt;/em&gt;: Totally, I’m sure they’ll finish the macros soon, I think it’s all wizard based anyway.     &lt;br /&gt;&lt;em&gt;&lt;u&gt;Designer B&lt;/u&gt;&lt;/em&gt;: Yep, I mean, I’ve created an Access application before, how hard can it be.&lt;/p&gt;  &lt;p&gt;Yeah, see what I mean?  If you are insulted by hearing someone talking about the development craft reduced to macros and Access, then you should realize you’re doing the same thing.  Design is a craft just like software development and there are patterns and meaning to things that designers do, both in interactive design and print design.  It isn’t just about picking the right template.  Sure, palettes and animations are a part of the design, but their intent in the final design usually isn’t without thought.  Reducing a designer’s craft down to a simple “pretty” isn’t cool…at all.  And I’ve been guilty of it.  &lt;/p&gt;  &lt;p&gt;If you want to work with a designer, then do it, but don’t hand them your finished product and ask them to make it pretty.  Make them a part of the process and have them help identify the right UI/UX for the application.  I realize it isn’t easy and sometimes isn’t possible to always have a designer, but when you have that need, just make sure you respect the trade or don’t be surprised if you get &lt;a href="http://www.amazon.com/Everything-Microsoft-Office-Excel-2007/dp/0072263695/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1255989655&amp;amp;sr=8-1"&gt;this book&lt;/a&gt; in the mail.  Take a moment and learn what makes good design.  For a start, watch &lt;a href="http://blog.nerdplusart.com"&gt;Robby’s&lt;/a&gt; session from MIX08: &lt;a href="http://videos.visitmix.com/MIX09/02W"&gt;&lt;strong&gt;Design Fundamentals for Developers&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;I’ve got it off my chest…and I leave you with this:&lt;/p&gt;  &lt;p align="center"&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/L7BQRGXFLJs&amp;amp;hl=en&amp;amp;fs=1&amp;amp;color1=0x2b405b&amp;amp;color2=0x6b8ab6&amp;amp;start=59" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;embed src="http://www.youtube.com/v/L7BQRGXFLJs&amp;amp;hl=en&amp;amp;fs=1&amp;amp;color1=0x2b405b&amp;amp;color2=0x6b8ab6&amp;amp;start=59" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344" /&gt;&lt;/object&gt;&lt;/p&gt;  &lt;p&gt;Cheers.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:9fe4ac90-ceca-4079-bb91-2c3e36a1594a" class="wlWriterEditableSmartContent"&gt;&lt;span class="tags"&gt;tags: &lt;a href="http://timheuer.com/blog/tags/silverlight/default.aspx" rel="tag"&gt;silverlight&lt;/a&gt;, &lt;a href="http://timheuer.com/blog/tags/ria/default.aspx" rel="tag"&gt;ria&lt;/a&gt;, &lt;a href="http://timheuer.com/blog/tags/xaml/default.aspx" rel="tag"&gt;xaml&lt;/a&gt;, &lt;a href="http://timheuer.com/blog/tags/wpf/default.aspx" rel="tag"&gt;wpf&lt;/a&gt;, &lt;a href="http://timheuer.com/blog/tags/design/default.aspx" rel="tag"&gt;design&lt;/a&gt;, &lt;a href="http://timheuer.com/blog/tags/designer/default.aspx" rel="tag"&gt;designer&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="wlWriterHeaderFooter" style="margin:0px; padding:0px 0px 0px 0px;"&gt;&lt;hr /&gt;&lt;div class="cc-license"&gt;This work is licensed under a &lt;a href="http://creativecommons.org/licenses/by/3.0/"&gt;Creative Commons Attribution By license.&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;img src="http://timheuer.com/blog/aggbug/14674.aspx" width="1" height="1" /&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Ac7aGY6zO3N04WUFNzfxhYwuUvI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Ac7aGY6zO3N04WUFNzfxhYwuUvI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Ac7aGY6zO3N04WUFNzfxhYwuUvI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Ac7aGY6zO3N04WUFNzfxhYwuUvI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/timheuer/~4/36cuY4tmXlA" height="1" width="1"/&gt;</description>
            <dc:creator>Tim Heuer</dc:creator>
            <guid isPermaLink="false">http://timheuer.com/blog/archive/2009/10/19/14674.aspx</guid>
            <pubDate>Mon, 19 Oct 2009 22:03:35 GMT</pubDate>
            <wfw:comment>http://timheuer.com/blog/comments/14674.aspx</wfw:comment>
            <comments>http://timheuer.com/blog/archive/2009/10/19/14674.aspx#feedback</comments>
            <slash:comments>23</slash:comments>
            <wfw:commentRss>http://timheuer.com/blog/comments/commentRss/14674.aspx</wfw:commentRss>
        <feedburner:origLink>http://timheuer.com/blog/archive/2009/10/19/14674.aspx</feedburner:origLink></item>
        <item>
            <title>Visual Studio 2010 Beta 2 and Silverlight updates</title>
            <category>developer</category>
            <category>expression</category>
            <category>ria</category>
            <category>silverlight</category>
            <category>tech stuff</category>
            <category>visual studio</category>
            <link>http://feedproxy.google.com/~r/timheuer/~3/9Q-Ac0WR5IU/silverlight-and-visual-studio-2010-beta-2.aspx</link>
            <description>&lt;p&gt;Today (19 Oct 2009) the Visual Studio team released the second beta for Visual Studio 2010 to the public.  This is a significant milestone for the team and a huge improvement over the previous beta in my opinion as a user.  As a developer, you can find out how/when you can &lt;strong&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkID=151797"&gt;download Visual Studio 2010 and .NET Framework 4 beta 2 from here&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;After installing the tools, one thing you may notice right away is a different look of branding of Visual Studio going forward for now.  Gone is the beloved multi-colored infinity looking thing (that’s what I call it at least) and enter the updated logo.&lt;/p&gt;  &lt;p&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="Visual Studio 2010 brand logo" alt="Visual Studio 2010 brand logo" src="http://storage.timheuer.com/vs2010logo.png" /&gt;&lt;/p&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;p&gt;I’d encourage you to download it when you can (MSDN Subscribers can do that today, general availability on Wednesday, 21 Oct) and start playing around with it.&lt;/p&gt;  &lt;h2&gt;What’s new for &lt;a href="http://silverlight.net"&gt;Silverlight&lt;/a&gt; developers in VS2010?&lt;/h2&gt;  &lt;p&gt;Well, the good news is no &lt;a href="http://timheuer.com/blog/archive/2009/05/20/silverlight-and-visual-studio-2010-beta.aspx"&gt;more work around hacks&lt;/a&gt; to get Visual Studio 2010 working with Silverlight development!  So what happens now when you install.  Here’s my experience from a clean machine (no existing SDKs, nor any version of Visual Studio as well).&lt;/p&gt;  &lt;p&gt;After install of Visual Studio 2010 I have this for Silverlight development:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Visual Web Developer &lt;/li&gt;    &lt;li&gt;Silverlight 3 SDK &lt;/li&gt;    &lt;li&gt;Silverlight 3 Tools (build 40818, the latest) &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;A few things missing here:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://silverlight.codeplex.com"&gt;Silverlight Toolkit&lt;/a&gt; (see below for the update to get) &lt;/li&gt;    &lt;li&gt;.NET RIA Services &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;See below to get the October 2009 release of the Silverlight Toolkit to get all that goodness and support for VS2010.  Remember the installer for the toolkit also gives you the option to deploy the source (which you still have to unzip) which is EXTREMELY helpful in understanding how controls work in general as well as extending the controls to fit your own needs.&lt;/p&gt;  &lt;p&gt;For .NET RIA Services, we don’t yet have a supported build for Visual Studio 2010 Beta 2.  More information on this will be coming so make sure to &lt;a href="http://feeds.timheuer.com/timheuer"&gt;subscribe to my feed here&lt;/a&gt; for updates and watch the forums.  I’m seeing if I can work on publishing a potential work around for RIA Services users and will post an update here if I can.  &lt;strong&gt;&lt;font color="#ff0000"&gt;UPDATE: &lt;/font&gt;&lt;/strong&gt;&lt;a href="http://forums.silverlight.net/forums/p/136819/305323.aspx#305323"&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;View information about RIA Services roadmap and VS2010 from the team here&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;.&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;After installing VS2010 though, you can start developing your Silverlight applications and use the editable designer surface as well.  &lt;a href="http://microsoft.com/expression"&gt;Expression Blend&lt;/a&gt; will still be your friend for Visual State Manager editing and animation recording, in my opinion.&lt;/p&gt;  &lt;h2&gt;Making the designer have some better performance&lt;/h2&gt;  &lt;p&gt;For beta 2, there is a registry entry you can add (we did say it was beta right ;-)) to make the WPF/Silverlight designer perform better.  &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;NOTE: Editing your registry can be dangerous if you aren’t familiar with it.  It can cause wars, harm children and hurt your machine.  You’ve been warned.&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;To enable this, perform these steps with all instances of Visual Studio shut down:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Open regedit.exe using admin permissions (on vista/win7) &lt;/li&gt;    &lt;li&gt;Navigate to HKLM\Software\Microsoft\VisualStudio\10.0 key &lt;/li&gt;    &lt;li&gt;Right-click and add a new Key named “ClrHost” &lt;/li&gt;    &lt;li&gt;In the new key, right-click and create a new DWORD32 with the name of StartupFlags &lt;/li&gt;    &lt;li&gt;Set the value of StartupFlags to 5 &lt;/li&gt;    &lt;li&gt;Close regedit and use Visual Studio as you normally would &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;I’ve also made a reg file to make this easier.  You can download this file: &lt;a href="http://s3.amazonaws.com:80/storage.timheuer.com/Dev10DesignerFix.renametoreg"&gt;Dev10DesignerFix.renametoreg&lt;/a&gt; and rename it to .reg and double-click it to get this entry.  I chose to force you to rename to .reg so you know what you are doing :-).  This is a step that will not be necessary in the final release version.&lt;/p&gt;  &lt;h2&gt;&lt;a href="http://silverlight.codeplex.com"&gt;Silverlight Toolkit&lt;/a&gt; October 2009 Release&lt;/h2&gt;  &lt;p&gt;Additionally today, the Silverlight Toolkit published the October 2009 release of the bits.  Primarily this was for support of Visual Studio 2010 integration, but also includes drag-drop support for key controls as well as some charting and other API improvements/fixes.  You can &lt;a href="http://silverlight.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=30514"&gt;read the full details of the release of the toolkit here and download the latest build&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Hopefully you all have a chance to start working with Visual Studio 2010.  I am looking forward to using the new IDE and features to help me be more productive!&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:6778403f-4135-4458-b296-ccc419aa57bc" class="wlWriterEditableSmartContent"&gt;&lt;span class="tags"&gt;tags: &lt;a href="http://timheuer.com/blog/tags/silverlight+toolkit/default.aspx" rel="tag"&gt;silverlight toolkit&lt;/a&gt;, &lt;a href="http://timheuer.com/blog/tags/silverlight/default.aspx" rel="tag"&gt;silverlight&lt;/a&gt;, &lt;a href="http://timheuer.com/blog/tags/riaservices/default.aspx" rel="tag"&gt;riaservices&lt;/a&gt;, &lt;a href="http://timheuer.com/blog/tags/ria/default.aspx" rel="tag"&gt;ria&lt;/a&gt;, &lt;a href="http://timheuer.com/blog/tags/xaml/default.aspx" rel="tag"&gt;xaml&lt;/a&gt;, &lt;a href="http://timheuer.com/blog/tags/cider/default.aspx" rel="tag"&gt;cider&lt;/a&gt;, &lt;a href="http://timheuer.com/blog/tags/visual+studio/default.aspx" rel="tag"&gt;visual studio&lt;/a&gt;, &lt;a href="http://timheuer.com/blog/tags/wpf/default.aspx" rel="tag"&gt;wpf&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="wlWriterHeaderFooter" style="margin:0px; padding:0px 0px 0px 0px;"&gt;&lt;hr /&gt;&lt;div class="cc-license"&gt;This work is licensed under a &lt;a href="http://creativecommons.org/licenses/by/3.0/"&gt;Creative Commons Attribution By license.&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;img src="http://timheuer.com/blog/aggbug/14673.aspx" width="1" height="1" /&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/jv_0N9rXvwiitIMF6rNZHbXW_Nc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jv_0N9rXvwiitIMF6rNZHbXW_Nc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/jv_0N9rXvwiitIMF6rNZHbXW_Nc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jv_0N9rXvwiitIMF6rNZHbXW_Nc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/timheuer/~4/9Q-Ac0WR5IU" height="1" width="1"/&gt;</description>
            <dc:creator>Tim Heuer</dc:creator>
            <guid isPermaLink="false">http://timheuer.com/blog/archive/2009/10/19/silverlight-and-visual-studio-2010-beta-2.aspx</guid>
            <pubDate>Mon, 19 Oct 2009 19:39:47 GMT</pubDate>
            <wfw:comment>http://timheuer.com/blog/comments/14673.aspx</wfw:comment>
            <comments>http://timheuer.com/blog/archive/2009/10/19/silverlight-and-visual-studio-2010-beta-2.aspx#feedback</comments>
            <slash:comments>19</slash:comments>
            <wfw:commentRss>http://timheuer.com/blog/comments/commentRss/14673.aspx</wfw:commentRss>
        <feedburner:origLink>http://timheuer.com/blog/archive/2009/10/19/silverlight-and-visual-studio-2010-beta-2.aspx</feedburner:origLink></item>
        <item>
            <title>Silverlight Live Streaming service update</title>
            <category>developer</category>
            <category>expression</category>
            <category>silverlight</category>
            <category>silverlight streaming</category>
            <category>tech stuff</category>
            <link>http://feedproxy.google.com/~r/timheuer/~3/jprnPtgLjxY/silverlight-live-streaming-being-discontinued.aspx</link>
            <description>&lt;p&gt;Yesterday, the &lt;a href="http://silverlight.net"&gt;&lt;strong&gt;Silverlight&lt;/strong&gt;&lt;/a&gt; Live Streaming team (SLS) &lt;a href="http://dev.live.com/blogs/sls"&gt;posted an update on their blog&lt;/a&gt; regarding the future of the Silverlight Streaming by Windows Live service. &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;SLS was a beta service to users to have a place to host and deliver their Silverlight-based applications or media to be delivered by Silverlight players.  It was launched at the time of Silverlight 2 as a free beta service to users under the Windows Live brand and offered 10GB of free storage to beta users.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;In summary, the SLS service is being discontinued.  Effective immediately no new account sign-ups are going to be permitted for the service.  Existing accounts are not going to be deleted, nor is the content at this time.  A date for final termination of the service has not yet been set and the team has stated they will provide ample time to users to get their content out of the service.&lt;/p&gt;  &lt;h2&gt;Is there a replacement, if so, what is it?&lt;/h2&gt;  &lt;p&gt;A new Windows Azure based service for hosting and delivery of similar content is planned to be launched by the end of 2009 and would be a service that SLS users might consider transferring to, however is not a direct replacement of SLS.  Windows Azure is a broader initiative for the company and this is just one service that will be offered as a part of the suite of Azure cloud services.  Windows Azure is a pay service and will have costs associated with use.&lt;/p&gt;  &lt;h2&gt;How can I get my content?&lt;/h2&gt;  &lt;p&gt;The &lt;a href="http://dev.live.com/blogs/sls"&gt;SLS team blog post&lt;/a&gt; has information about how you can retrieve your content from the service.  In a nutshell, we’ve enabled the WebDAV folder support for users of the service.  This gives you the ability to map a drive to your account and move files in your file explorer utility.  The key pieces of information you will need to accomplish this is your SLS Account ID and Key.  These are &lt;em&gt;different&lt;/em&gt; then your Live ID account you use to log into the service.  To retrieve these, log into your account at the SLS site and click on Manage Account in the SLS options on the left after logging in, like this:&lt;/p&gt;  &lt;p&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="SLS Account ID information" alt="SLS Account ID information" src="http://s3.amazonaws.com:80/storage.timheuer.com/sls-accountid.png" /&gt;&lt;/p&gt;  &lt;p&gt;Make note of these two things.  The &lt;a href="http://dev.live.com/blogs/sls"&gt;blog post&lt;/a&gt; has instructions on how you can use this information to map a network drive or network location to a WebDAV URL or share location to access your content.  I’m guessing the servers might be under some heavy load using this method so please be patient.  Remember that any authentication prompt is not looking for your Windows Live ID, but rather the SLS Account information noted above.&lt;/p&gt;  &lt;h2&gt;Summary and some FAQ&lt;/h2&gt;  &lt;p&gt;Yes, this is a bummer the service is going away as-is.  While the service was meant to stream any stand-alone Silverlight application, I know a lot primarily used it to host video content for blogs, etc. because of the web player it automatically generated.  &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Q: Will the new Azure service enable video streaming and Smooth Streaming?     &lt;br /&gt;&lt;/strong&gt;A: I think SLS had one of the most misleading names we’ve had on a product.  The video content on SLS was never really &lt;em&gt;streaming&lt;/em&gt; in the technical sense.  It was always just a progressive download experience.  The Azure service details have not been completed for public detail just yet and will be announced when available as to what they will provide, costs and other details.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Q: What about the advertising platform?&lt;/strong&gt;    &lt;br /&gt;A: Users who opted in and were approved for the advertising pilot with AdCenter will still have their AdCenter account information and content.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Q: When will you delete my content?     &lt;br /&gt;&lt;/strong&gt;A: The final dates of discontinuance haven’t been determined and the team will give notice to all users (via the registered Windows Live ID account information/email and the blog) of timelines when they are available.  I would recommend to start downloading/saving your content now if you want it for later…this will save any mad rush to get content.&lt;/p&gt;  &lt;p&gt;Hope this helps clarify anything but please also &lt;a href="http://dev.live.com/blogs/sls"&gt;read the full announcement from the SLS team themselves&lt;/a&gt;.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:005b2a96-89be-45cc-87df-18303e8d201b" class="wlWriterEditableSmartContent"&gt;&lt;span class="tags"&gt;tags: &lt;a href="http://timheuer.com/blog/tags/silverlight/default.aspx" rel="tag"&gt;silverlight&lt;/a&gt;, &lt;a href="http://timheuer.com/blog/tags/silverlight+streaming/default.aspx" rel="tag"&gt;silverlight streaming&lt;/a&gt;, &lt;a href="http://timheuer.com/blog/tags/windows+live/default.aspx" rel="tag"&gt;windows live&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="wlWriterHeaderFooter" style="margin:0px; padding:0px 0px 0px 0px;"&gt;&lt;hr /&gt;&lt;div class="cc-license"&gt;This work is licensed under a &lt;a href="http://creativecommons.org/licenses/by/3.0/"&gt;Creative Commons Attribution By license.&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;img src="http://timheuer.com/blog/aggbug/14672.aspx" width="1" height="1" /&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/tFvv1Mk1W1Z3MXaypZlzgH550Pk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tFvv1Mk1W1Z3MXaypZlzgH550Pk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/tFvv1Mk1W1Z3MXaypZlzgH550Pk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tFvv1Mk1W1Z3MXaypZlzgH550Pk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/timheuer/~4/jprnPtgLjxY" height="1" width="1"/&gt;</description>
            <dc:creator>Tim Heuer</dc:creator>
            <guid isPermaLink="false">http://timheuer.com/blog/archive/2009/10/19/silverlight-live-streaming-being-discontinued.aspx</guid>
            <pubDate>Mon, 19 Oct 2009 17:14:05 GMT</pubDate>
            <wfw:comment>http://timheuer.com/blog/comments/14672.aspx</wfw:comment>
            <comments>http://timheuer.com/blog/archive/2009/10/19/silverlight-live-streaming-being-discontinued.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://timheuer.com/blog/comments/commentRss/14672.aspx</wfw:commentRss>
        <feedburner:origLink>http://timheuer.com/blog/archive/2009/10/19/silverlight-live-streaming-being-discontinued.aspx</feedburner:origLink></item>
        <item>
            <title>Updated Silverlight getting started for beginners</title>
            <category>developer</category>
            <category>expression</category>
            <category>ria</category>
            <category>silverlight</category>
            <category>tech stuff</category>
            <category>ux</category>
            <category>web</category>
            <category>visual studio</category>
            <link>http://feedproxy.google.com/~r/timheuer/~3/X79zbhcrb2I/new-getting-started-with-silverlight-development-series.aspx</link>
            <description>&lt;p&gt;If you’re a pro &lt;a href="http://silverlight.net"&gt;&lt;strong&gt;Silverlight&lt;/strong&gt;&lt;/a&gt; developer, this post isn’t for you.  Just a brief update that I’ve updated some of our getting started material for beginners – those who really haven’t done anything.  These will be showing up on the &lt;a href="http://silverlight.net"&gt;&lt;strong&gt;Silverlight Community Site&lt;/strong&gt;&lt;/a&gt; soon, but I wanted to post a link to it here first.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;a href="http://timheuer.com/blog/articles/getting-started-with-silverlight-development.aspx"&gt;Getting Started with Silverlight Development&lt;/a&gt;&lt;/strong&gt; is a 7-part series where I aim to do my best in trying to stuff as much as possible about Silverlight development in a simple application we develop at different steps.  It uses:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Navigation&lt;/li&gt;    &lt;li&gt;Styles/templates&lt;/li&gt;    &lt;li&gt;Data Templates&lt;/li&gt;    &lt;li&gt;Data binding&lt;/li&gt;    &lt;li&gt;Value Converters&lt;/li&gt;    &lt;li&gt;&lt;a href="http://silverlight.codeplex.com"&gt;&lt;strong&gt;Silverlight Toolkit&lt;/strong&gt;&lt;/a&gt; controls&lt;/li&gt;    &lt;li&gt;Isolated Storage&lt;/li&gt;    &lt;li&gt;Network connectivity&lt;/li&gt;    &lt;li&gt;Web service requests to a public service&lt;/li&gt;    &lt;li&gt;Out-of-browser experiences&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;I hope that it is simple enough for beginners to follow but also provide a broad spectrum of capabilities to the beginner.  Full code in C# and Visual Basic is provided.&lt;/p&gt;  &lt;p&gt;Hope this helps!&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:aed3700c-69a7-49ea-b9c2-58860606c235" class="wlWriterEditableSmartContent"&gt;&lt;span class="tags"&gt;tags: &lt;a href="http://timheuer.com/blog/tags/silverlight+toolkit/default.aspx" rel="tag"&gt;silverlight toolkit&lt;/a&gt;, &lt;a href="http://timheuer.com/blog/tags/silverlight/default.aspx" rel="tag"&gt;silverlight&lt;/a&gt;, &lt;a href="http://timheuer.com/blog/tags/ria/default.aspx" rel="tag"&gt;ria&lt;/a&gt;, &lt;a href="http://timheuer.com/blog/tags/xaml/default.aspx" rel="tag"&gt;xaml&lt;/a&gt;, &lt;a href="http://timheuer.com/blog/tags/getting+started/default.aspx" rel="tag"&gt;getting started&lt;/a&gt;, &lt;a href="http://timheuer.com/blog/tags/expression+blend/default.aspx" rel="tag"&gt;expression blend&lt;/a&gt;, &lt;a href="http://timheuer.com/blog/tags/blend/default.aspx" rel="tag"&gt;blend&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="wlWriterHeaderFooter" style="margin:0px; padding:0px 0px 0px 0px;"&gt;&lt;hr /&gt;&lt;div class="cc-license"&gt;This work is licensed under a &lt;a href="http://creativecommons.org/licenses/by/3.0/"&gt;Creative Commons Attribution By license.&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;img src="http://timheuer.com/blog/aggbug/14671.aspx" width="1" height="1" /&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/OUUaxrz4WBDzi9cxbp8bi_An1_4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/OUUaxrz4WBDzi9cxbp8bi_An1_4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/OUUaxrz4WBDzi9cxbp8bi_An1_4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/OUUaxrz4WBDzi9cxbp8bi_An1_4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/timheuer/~4/X79zbhcrb2I" height="1" width="1"/&gt;</description>
            <dc:creator>Tim Heuer</dc:creator>
            <guid isPermaLink="false">http://timheuer.com/blog/archive/2009/10/06/new-getting-started-with-silverlight-development-series.aspx</guid>
            <pubDate>Tue, 06 Oct 2009 17:40:01 GMT</pubDate>
            <wfw:comment>http://timheuer.com/blog/comments/14671.aspx</wfw:comment>
            <comments>http://timheuer.com/blog/archive/2009/10/06/new-getting-started-with-silverlight-development-series.aspx#feedback</comments>
            <slash:comments>17</slash:comments>
            <wfw:commentRss>http://timheuer.com/blog/comments/commentRss/14671.aspx</wfw:commentRss>
        <feedburner:origLink>http://timheuer.com/blog/archive/2009/10/06/new-getting-started-with-silverlight-development-series.aspx</feedburner:origLink></item>
    </channel>
</rss>
