<rss version="2.0" 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/">
    <channel>
        <title>Work</title>
        <link>http://blog.galasoft.ch/category/7619.aspx</link>
        <description>About my work at Siemens</description>
        <language>en-US</language>
        <copyright>Laurent Bugnion</copyright>
        <managingEditor>laurent@galasoft.ch</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
        <item>
            <title>MVVM Light Hotfix for Windows Phone 7 developer tools beta</title>
            <link>http://blog.galasoft.ch/archive/2010/07/22/mvvm-light-hotfix-for-windows-phone-7-developer-tools-beta.aspx</link>
            <description>&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/lbugnion/WindowsLiveWriter/MVVMLightHotfixforWindowsPhone7developer_8F5D/4084199726_d1cc8527aa_o%5B1%5D_2.png" rel="lightbox"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="4084199726_d1cc8527aa_o[1]" border="0" alt="4084199726_d1cc8527aa_o[1]" src="http://geekswithblogs.net/images/geekswithblogs_net/lbugnion/WindowsLiveWriter/MVVMLightHotfixforWindowsPhone7developer_8F5D/4084199726_d1cc8527aa_o%5B1%5D_thumb.png" width="244" height="210" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;This is a hotfix to correct the issues with the MVVM Light templates for Windows Phone 7.&lt;/p&gt;  &lt;h2&gt;Who is it for?&lt;/h2&gt;  &lt;p&gt;Use this hotfix if (and only if):&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;You have &lt;a href="http://www.galasoft.ch/mvvm/installing/manually/" target="_blank"&gt;MVVM Light Toolkit V3 SP1&lt;/a&gt; installed. &lt;/li&gt;    &lt;li&gt;You are using the new developer tools beta for Windows Phone 7. &lt;/li&gt; &lt;/ul&gt;  &lt;h2&gt;Why a hotfix?&lt;/h2&gt;  &lt;p&gt;The hotifx is needed because of changes in the Microsoft Windows Phone 7 assemblies (regrouping of classes in different namespaces and/or different assemblies) as well as some other changes (manifest structure, etc). The MVVM Light assemblies do not need any update however, and continue to work as expected with the new release.&lt;/p&gt;  &lt;h2&gt;How to install?&lt;/h2&gt;  &lt;p&gt;The installation process is described at &lt;a href="http://www.galasoft.ch/mvvm/installing/hotfix20100719/"&gt;http://www.galasoft.ch/mvvm/installing/hotfix20100719/&lt;/a&gt;&lt;/p&gt;  &lt;h2&gt;Note about Blend:&lt;/h2&gt;  &lt;p&gt;At the moment, Blend for Windows Phone beta seems unable to load custom template. I have a pending question with Microsoft to try and clear this up. Right now, the workaround is to create the MVVM Light application for Windows Phone 7 in Visual Studio, and then to open it in Blend for Windows Phone beta.&lt;/p&gt;  &lt;p&gt;Happy coding!&lt;/p&gt;  &lt;p&gt;Laurent&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;div style="margin-bottom: -1em"&gt;   &lt;div style="vertical-align: middle"&gt;&lt;a href="http://www.galasoft.ch/"&gt;&lt;img title="GalaSoft Laurent Bugnion" alt="GalaSoft Laurent Bugnion" src="http://www.galasoft.ch/logo/Current/logo_120x30.png" /&gt;&lt;/a&gt; &lt;/div&gt;    &lt;div style="position: relative; top: -36px; left: 130px"&gt;&lt;strong&gt;&lt;a href="http://www.galasoft.ch/contact_en.html"&gt;Laurent Bugnion (GalaSoft)&lt;/a&gt;&lt;/strong&gt;       &lt;br /&gt;&lt;a href="http://feeds.feedburner.com/galasoft"&gt;Subscribe&lt;/a&gt; | &lt;a href="http://twitter.com/lbugnion"&gt;Twitter&lt;/a&gt; | &lt;a href="http://www.facebook.com/lbugnion"&gt;Facebook&lt;/a&gt; | &lt;a href="http://www.flickr.com/photos/lbugnion"&gt;Flickr&lt;/a&gt; | &lt;a href="http://www.linkedin.com/in/lbugnion"&gt;LinkedIn&lt;/a&gt;       &lt;br /&gt;&lt;iframe style="border-bottom-style: none; border-right-style: none; margin-top: 7px; width: 450px; border-top-style: none; margin-bottom: -20px; height: 23px; border-left-style: none; overflow: hidden" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.galasoft.ch/archive/2010/07/22/mvvm-light-hotfix-for-windows-phone-7-developer-tools-beta.aspx&amp;amp;layout=standard&amp;amp;show_faces=true&amp;amp;width=450&amp;amp;action=like&amp;amp;colorscheme=light" frameborder="0" allowtransparency="allowtransparency" scrolling="no"&gt;&lt;/iframe&gt;&lt;/div&gt; &lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141032"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=141032" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://blog.galasoft.ch/aggbug/141032.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Laurent Bugnion</dc:creator>
            <guid>http://blog.galasoft.ch/archive/2010/07/22/mvvm-light-hotfix-for-windows-phone-7-developer-tools-beta.aspx</guid>
            <pubDate>Thu, 22 Jul 2010 23:24:13 GMT</pubDate>
            <wfw:comment>http://blog.galasoft.ch/comments/141032.aspx</wfw:comment>
            <comments>http://blog.galasoft.ch/archive/2010/07/22/mvvm-light-hotfix-for-windows-phone-7-developer-tools-beta.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://blog.galasoft.ch/comments/commentRss/141032.aspx</wfw:commentRss>
            <trackback:ping>http://blog.galasoft.ch/services/trackbacks/141032.aspx</trackback:ping>
        </item>
        <item>
            <title>JavaScript vs Silverlight: An answer</title>
            <link>http://blog.galasoft.ch/archive/2010/07/14/javascript-vs-silverlight-an-answer.aspx</link>
            <description>&lt;p&gt;&lt;a href="http://jupiterjs.com/news/tips-on-hiring-a-jquery-consultant#news/javascript-vs-silverlight"&gt;An article was published&lt;/a&gt; at JupiterJS.com (titled “JavaScript vs Silverlight”) arguing that JavaScript is better than Silverlight. Unfortunately, there is no way to post comments on that page (weird, really) so I decided I would post my answer here.&lt;/p&gt;  &lt;p&gt;First let me state that I do not think that Silverlight is an opponent, nor a threat to JavaScript. I love both, I write both, and both are helping me to create better experiences.&lt;/p&gt;  &lt;p&gt;Also, Silverlight has grown to be much more than “just” a web plug-in. You can write out-of-browser applications for PC and Mac, and now you can use it to write Windows Phone 7 applications. In the near future it will expand to other platforms (top boxes, etc). So opposing JavaScript to Silverlight is really shooting at the wrong target in my opinion.&lt;/p&gt;  &lt;p&gt;That said, some (many) of the points in this article are wrong and need correction, so here goes:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Plugin Lock-In: OK I will grant that one. The number of users according to the article is 50%, Microsoft speaks of 65% (I think, didn’t check the latest), but all in all you’re right, it is less widespread than JavaScript. The fact that it took years to JavaScript to reach that broad reach and that level of standardization is irrelevant right now, since we are in the present and not the past. This is an argument for what I have been advocating always: Use Silverlight to enhance your webpage, not to replace it completely. &lt;/li&gt;    &lt;li&gt;HTML5: Quoting: “HTML5 is going to provide a lot of the same goodies that Silverlight provides.” Keywords: “is going”. Where do I start… first it is really not ready yet. Let’s talk about it in 2 years or 5 years. Second, even though it is developed as an open standard, nothing says that the browser makers will implement all functionalities in the same way and in the same time frame. I have been burnt too much in the past to trust the words of corporations when it comes to implementing “standards”. On the other hand, you know exactly what you get with Silverlight. &lt;/li&gt;    &lt;li&gt;Group Standards: See “HTML5”. &lt;/li&gt;    &lt;li&gt;Competition: Since when is that a bad thing? Competition encourages innovation, and Flash/Flex have pushed Silverlight to become bigger and better in a ridiculously short timeframe. Besides, HTML5 is also a competition to Flash and Silverlight and others, so the same story applies here. &lt;/li&gt;    &lt;li&gt;Backend locking: First, why talk about Flex here? Was this article initially aimed at Flex? Weird… anyway, when it comes to Silverlight, nothing could be more wrong. SOAP-based services are just one option. With Linq-to-Json and Linq-to-XML, parsing JSON and XML based replies is a breeze and much easier (and faster) than in JavaScript. Believe me, I know, I did wrote a lot of parsing code for JavaScript when it was all we had.      &lt;br /&gt;In fact, Silverlight is so good at REST calls and networking that I would recommend using Silverlight (where available) to do that even if you do not use XAML to create a UI. Use the HTML Bridge to communicate back and forth with JavaScript, and use the speed and ease of use of Silverlight for the heavy lifting. &lt;/li&gt;    &lt;li&gt;Development time: Visual Studio is the best development environment available, and that pretty much sums it up. Firebug is great, but I really prefer a full blown debugger. I understand it is a matter of preference to a certain point. &lt;/li&gt;    &lt;li&gt;Open: As someone who writes and maintains open source projects, and a rich blog, I know that there is a lot of open source projects and of documentation available online. I rarely use the Microsoft official documentation if I want to solve something, I either get an open source component to perform the task, or I find how to do it myself, with the added value of learning something in the process. &lt;/li&gt;    &lt;li&gt;Community: I have been active in the JavaScript community and I have been active in the Silverlight community, and I loved both. I am more active now in the Silverlight community because it is where I spend most of my time. It is a rich, vibrant and innovative community, and I love every moment I spend interacting with it. &lt;/li&gt;    &lt;li&gt;Scripting vs Compile: We could argue for hours about that. I love C# as a language, so I am glad I can use it in Silverlight. That said, you can also use Python, Ruby and more if you prefer. As for the fact that scripting produces less code, I am puzzled. I doubt it. Maybe if you ignore the fact that jQuery is of course code, and needs to be interpreted too. In that matter, Silverlight wins, since the .NET framework is not interpreted, but is already there and optimized, ready to be used. Also, compiled code is still faster than the fastest JavaScript, though to be honest I never really found that to be an issue when I was writing a lot of JS code.      &lt;br /&gt;Also, I feel that it is easier to write clean decoupled code in Silverlight than in JS. Componentizing an application with MEF or an IOC framework is super easy. .NET wins here in my book. &lt;/li&gt;    &lt;li&gt;Testing: Silverlight has at least two unit test frameworks that I know of, the Silverlight Unit Test (part of the Silverlight toolkit, available for free and super easy to use) and NUnit. As for automated UI testing, it is also possible. &lt;/li&gt;    &lt;li&gt;In the box: What I usually advocate is “island of richness” made in Silverlight than communicate with the rest of the page. I am not a huge fan of full pages made in Silverlight. These island of richnesses can communicate with JavaScript (through the HTML bridge) or with other Silverlight applications running in the same page or in another page (local communication). It is as open as I need it to be. Also, Silverlight applications (in the contrary of other plugins) can blend with the HTML if needed, and you can place HTML elements in front of a Silverlight area. It does not need to be square, by the way, you can clip it to any shape. Here too, I consider the fact that I can use JavaScript (should I need it) an advantage. &lt;/li&gt;    &lt;li&gt;Perceived performance: As said before, it is now super easy (with MEF) to componentize a Silverlight application and load modules on demand. It is also possible to write customized splash screens, so the UX is better should the loading time be slow anyway. Oh, and I can use JavaScript to start performing tasks while waiting ;) best of both worlds. &lt;/li&gt;    &lt;li&gt;Mobile: iPhone, I agree. It’s funny to have to use a closed platform as an argument for openness ;) but yeah, as long as Jobs doesn’t come to his senses, Silverlight won’t make it to iPhone. This kind of things should actually make you want to sell your iPhone and choose a better phone, but this is another debate. For now, for mobility with Silverlight, I will use Windows Phone 7 and am very excited about it. There is also Silverlight on Symbian, and I wouldn’t be surprised to see it run on Android too some day. &lt;/li&gt;    &lt;li&gt;OS Support: As I said, the numbers cited by MSFT are higher than 50%, but since noone really knows, I will happily concede that JavaScript’s reach is larger. That said, Silverlight runs on multiple flavors of Windows (included embedded for kiosks etc), Mac, Linux (it runs pretty well there, Miguel and his team are doing a great job), plus all the other platforms to come (Windows Phone, top sets, etc). Yes JavaScript wins in terms of reach, which makes it a great fallback strategy. &lt;/li&gt;    &lt;li&gt;Accessibility: The accessibility story is much better in Silverlight 4 and this is an area where the team is constantly improving. Already now, it is possible to make selectable rich text boxes. If you want to display HTML content on top of Silverlight, you can. Also, this really has nothing to do with JavaScript, you’re comparing Silverlight to HTML here. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Anyway… my point still stands: Both technologies complement each other. Silverlight plays very well with JavaScript, and an SL application is really not the isolated ivory tower that the article paints. It has multiple ways to interact with the page, with JavaScript and with the web.&lt;/p&gt;  &lt;p&gt;It is also a platform that is a lot of fun to develop for, and allows for a great user experience. It enables my designers to think out of the box and we constantly push them to try new concepts. No more square boxes, easy multitouch interactions, rich and smooth hardware accelerated animations and much more make Silverlight a really great platform to code for. So dear reader if you made it that far, do not let ill-informed articles lure you away from Silverlight, at least give it a try and if you have something that you don’t understand, ask the community, it is great!.&lt;/p&gt;  &lt;p&gt;Oh, and if you disagree, please post a comment below (but keep it civil and constructive ;) This is what the community is about, discussing and interacting!&lt;/p&gt;  &lt;p&gt;Cheers,&lt;/p&gt;  &lt;p&gt;Laurent&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;div style="margin-bottom: -1em"&gt;   &lt;div style="vertical-align: middle"&gt;&lt;a href="http://www.galasoft.ch/"&gt;&lt;img title="GalaSoft Laurent Bugnion" alt="GalaSoft Laurent Bugnion" src="http://www.galasoft.ch/logo/Current/logo_120x30.png" /&gt;&lt;/a&gt; &lt;/div&gt;    &lt;div style="position: relative; top: -36px; left: 130px"&gt;&lt;strong&gt;&lt;a href="http://www.galasoft.ch/contact_en.html"&gt;Laurent Bugnion (GalaSoft)&lt;/a&gt;&lt;/strong&gt;       &lt;br /&gt;&lt;a href="http://feeds.feedburner.com/galasoft"&gt;Subscribe&lt;/a&gt; | &lt;a href="http://twitter.com/lbugnion"&gt;Twitter&lt;/a&gt; | &lt;a href="http://www.facebook.com/lbugnion"&gt;Facebook&lt;/a&gt; | &lt;a href="http://www.flickr.com/photos/lbugnion"&gt;Flickr&lt;/a&gt; | &lt;a href="http://www.linkedin.com/in/lbugnion"&gt;LinkedIn&lt;/a&gt;       &lt;br /&gt;&lt;iframe style="border-bottom-style: none; border-right-style: none; margin-top: 7px; width: 450px; border-top-style: none; margin-bottom: -20px; height: 23px; border-left-style: none; overflow: hidden" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.galasoft.ch/archive/2010/07/14/javascript-vs-silverlight-an-answer.aspx&amp;amp;layout=standard&amp;amp;show_faces=true&amp;amp;width=450&amp;amp;action=like&amp;amp;colorscheme=light" frameborder="0" allowtransparency="allowtransparency" scrolling="no"&gt;&lt;/iframe&gt;&lt;/div&gt; &lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=140922"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=140922" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://blog.galasoft.ch/aggbug/140922.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Laurent Bugnion</dc:creator>
            <guid>http://blog.galasoft.ch/archive/2010/07/14/javascript-vs-silverlight-an-answer.aspx</guid>
            <pubDate>Wed, 14 Jul 2010 14:49:03 GMT</pubDate>
            <wfw:comment>http://blog.galasoft.ch/comments/140922.aspx</wfw:comment>
            <comments>http://blog.galasoft.ch/archive/2010/07/14/javascript-vs-silverlight-an-answer.aspx#feedback</comments>
            <slash:comments>43</slash:comments>
            <wfw:commentRss>http://blog.galasoft.ch/comments/commentRss/140922.aspx</wfw:commentRss>
            <trackback:ping>http://blog.galasoft.ch/services/trackbacks/140922.aspx</trackback:ping>
        </item>
        <item>
            <title>How to use the MultiTouch Behavior for Windows Phone 7</title>
            <link>http://blog.galasoft.ch/archive/2010/07/07/how-to-use-the-multitouch-behavior-for-windows-phone-7.aspx</link>
            <description>&lt;p&gt;Yesterday, I published the source code of the MultiTouch Behavior for Windows Phone 7 on Codeplex (&lt;a href="http://multitouch.codeplex.com"&gt;http://multitouch.codeplex.com&lt;/a&gt;). Meanwhile, Davide Zordan (the founder of this project) started to modify the Silverlight 4 version of the behavior to make it API compatible. Eventually, the goal is to share all the API signature, and as much code as possible. We would like to extend this to the WPF version as well, in order to have a consistent landscape of multitouch on all 3 platforms.&lt;/p&gt;  &lt;p&gt;Together with the source code, you will also find an automated setup file (MSI) that copies the DLLs to c:\program files, but also creates a registry entry that makes the MultiTouch Behavior available in Expression Blend even though the references have not been added yet. This makes adding everything needed in your WP7 application as easy as drag and drop.&lt;/p&gt;  &lt;p&gt;There are two tutorials available:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;A 15’ long video (embedded below) where I show how to use the behavior and how it works. &lt;/li&gt;    &lt;li&gt;In addition, I &lt;a href="http://www.galasoft.ch/touch/wp7"&gt;just published a written tutorial&lt;/a&gt; that explains how to add the behavior in Blend and in XAML, as well as documenting all the properties. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;With all that, you should be set! I would love to get feedback, so please if you find a bug, or have constructive suggestions, talk to me!! :)&lt;/p&gt;  &lt;p&gt;Cheers,&lt;/p&gt;  &lt;p&gt;Laurent&lt;/p&gt; &lt;a title="Figure 4: Debug mode and visualize fingers" href="http://www.flickr.com/photos/36917929@N06/4770502147/"&gt;&lt;img alt="Figure 4: Debug mode and visualize fingers" src="http://farm5.static.flickr.com/4074/4770502147_27a09a417f.jpg" width="500" height="245" /&gt;&lt;/a&gt;   &lt;br /&gt;  &lt;br /&gt;&lt;object width="640" height="360"&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=13075008&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=00ADEF&amp;amp;fullscreen=1" /&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=13075008&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=00ADEF&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="640" height="360"&gt;&lt;/embed&gt;&lt;/object&gt;  &lt;p&gt; &lt;/p&gt;  &lt;div style="margin-bottom: -1em"&gt;   &lt;div style="vertical-align: middle"&gt;&lt;a href="http://www.galasoft.ch/"&gt;&lt;img title="GalaSoft Laurent Bugnion" alt="GalaSoft Laurent Bugnion" src="http://www.galasoft.ch/logo/Current/logo_120x30.png" /&gt;&lt;/a&gt; &lt;/div&gt;    &lt;div style="position: relative; top: -36px; left: 130px"&gt;&lt;strong&gt;&lt;a href="http://www.galasoft.ch/contact_en.html"&gt;Laurent Bugnion (GalaSoft)&lt;/a&gt;&lt;/strong&gt;       &lt;br /&gt;&lt;a href="http://feeds.feedburner.com/galasoft"&gt;Subscribe&lt;/a&gt; | &lt;a href="http://twitter.com/lbugnion"&gt;Twitter&lt;/a&gt; | &lt;a href="http://www.facebook.com/lbugnion"&gt;Facebook&lt;/a&gt; | &lt;a href="http://www.flickr.com/photos/lbugnion"&gt;Flickr&lt;/a&gt; | &lt;a href="http://www.linkedin.com/in/lbugnion"&gt;LinkedIn&lt;/a&gt;       &lt;br /&gt;&lt;iframe style="border-bottom-style: none; border-right-style: none; margin-top: 7px; width: 450px; border-top-style: none; margin-bottom: -20px; height: 23px; border-left-style: none; overflow: hidden" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.galasoft.ch/archive/2010/07/07/how-to-use-the-multitouch-behavior-for-windows-phone-7.aspx&amp;amp;layout=standard&amp;amp;show_faces=true&amp;amp;width=450&amp;amp;action=like&amp;amp;colorscheme=light" frameborder="0" allowtransparency="allowtransparency" scrolling="no"&gt;&lt;/iframe&gt;&lt;/div&gt; &lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=140817"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=140817" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://blog.galasoft.ch/aggbug/140817.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Laurent Bugnion</dc:creator>
            <guid>http://blog.galasoft.ch/archive/2010/07/07/how-to-use-the-multitouch-behavior-for-windows-phone-7.aspx</guid>
            <pubDate>Wed, 07 Jul 2010 21:54:49 GMT</pubDate>
            <wfw:comment>http://blog.galasoft.ch/comments/140817.aspx</wfw:comment>
            <comments>http://blog.galasoft.ch/archive/2010/07/07/how-to-use-the-multitouch-behavior-for-windows-phone-7.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://blog.galasoft.ch/comments/commentRss/140817.aspx</wfw:commentRss>
            <trackback:ping>http://blog.galasoft.ch/services/trackbacks/140817.aspx</trackback:ping>
        </item>
        <item>
            <title>Silverlight 4 Unleashed table of content</title>
            <link>http://blog.galasoft.ch/archive/2010/06/28/silverlight-4-unleashed-table-of-content.aspx</link>
            <description>&lt;a title="Silverlight 4 Unleashed book cover" href="http://www.amazon.com/Silverlight-4-Unleashed-Laurent-Bugnion/dp/0672333368/ref=sr_1_3?ie=UTF8&amp;amp;s=books&amp;amp;qid=1277638865&amp;amp;sr=8-3"&gt;&lt;img title="Silverlight 4 Unleashed book cover" alt="Silverlight 4 Unleashed book cover" src="http://farm5.static.flickr.com/4093/4738461036_a3b4bdac42.jpg" width="286" height="371" /&gt;&lt;/a&gt;   &lt;p&gt;&lt;em&gt;(book cover might change before publication)&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;As I am reaching the end of the writing phase of &lt;a href="http://www.amazon.com/Silverlight-4-Unleashed-Laurent-Bugnion/dp/0672333368/ref=sr_1_3?ie=UTF8&amp;amp;s=books&amp;amp;qid=1277638865&amp;amp;sr=8-3"&gt;Silverlight 4 Unleashed&lt;/a&gt; (to be published at Sams), I thought I would give a little more information about this book.&lt;/p&gt;  &lt;h2&gt;The book’s idea&lt;/h2&gt;  &lt;p&gt;Because I didn’t want to merely write an update to the existing &lt;a href="http://www.amazon.com/Silverlight-2-Unleashed-Laurent-Bugnion/dp/0672330148/ref=sr_1_2?ie=UTF8&amp;amp;s=books&amp;amp;qid=1277638865&amp;amp;sr=8-2"&gt;Silverlight 2 Unleashed&lt;/a&gt;, I proposed a different approach to my editor: Using Silverlight 2 Unleashed (which was bringing people up to speed with Silverlight 2 pretty much from scratch) as the basis for the new book, and building on the foundation. The thing is, much of the material from Silverlight 2 Unleashed is still valid in Silverlight 4. There are very few differences and of course all the new features that were added in SL3 and SL4, but let’s face it, I don’t have much new to write about XAML, the basic transforms, animations etc. &lt;/p&gt;  &lt;p&gt;We decided to make the PDF of selected chapters of Silverlight 2 Unleashed available to the buyers of Silverlight 4 Unleashed. This way, developers who never touched Silverlight will be able to bring themselves up to speed, and then to dive into advanced material with the new book. We still need to work out the exact details, more about this later. I think this is an innovative and attractive initiative, and I am very grateful that Sams accepted to do this.&lt;/p&gt;  &lt;p&gt;With that, it means that Silverlight 4 Unleashed will be 700+ pages packed with brand new material. Some of the features I describe were already available in Silverlight 3, but you will need them for Silverlight 4 (and since we didn’t do a Silverlight 3 version of the book, they needed to be mentioned). I think I did a good job in covering most of the features that Silverlight 4 has.&lt;/p&gt;  &lt;p&gt;Just like my first book, this new book is chock-packed with code samples (everything will be available on my website, of course) and pictures. We are also renewing the Silverlight 2 Unleashed experience by &lt;strong&gt;publishing the new book in full color&lt;/strong&gt;. I am very happy about this again (and let’s be honest, this is a lot of work for me as an author and for the editor too to do a book in color), and I think the added value is pretty obvious.&lt;/p&gt;  &lt;h2&gt;The topics&lt;/h2&gt;  &lt;p&gt;&lt;a href="http://www.galasoft.ch/sl4u/Documents/SL4U_TOC.pdf"&gt;A full table of content is available as PDF&lt;/a&gt;. There are 22 chapters as shown below.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Caveat:&lt;/strong&gt; This is a raw TOC. Some chapters (title and content) will change during the edit process. Early chapters were written against Silverlight 4 beta, so some names will change before publication.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;&lt;strong&gt;Three years of Silverlight&lt;/strong&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Setting up and discovering your environment&lt;/strong&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Extending your application with controls&lt;/strong&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Investigating existing controls&lt;/strong&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Understanding dependency properties&lt;/strong&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Grouping, sorting and binding&lt;/strong&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Understanding the Model-View-ViewModel pattern&lt;/strong&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Using data controls&lt;/strong&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Connecting to the web&lt;/strong&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Creating resources, styles and templates&lt;/strong&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Deep diving into Blend&lt;/strong&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Sketching user experience&lt;/strong&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Creating line of business applications&lt;/strong&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Enhancing line of business applications&lt;/strong&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Developing navigation application and Silverlight for Windows Phone 7&lt;/strong&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Using effects and recording media&lt;/strong&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Extending the experience&lt;/strong&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Extending the experience some more&lt;/strong&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Extending the experience (again)&lt;/strong&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Building extensible and maintainable applications&lt;/strong&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Optimizing the performance&lt;/strong&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Using advanced development techniques&lt;/strong&gt; &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;  &lt;h2&gt;When will it be available?&lt;/h2&gt;  &lt;p&gt;I often get asked when the book will be available. My answer has been: After the summer. We didn’t decide the exact date of publication yet, but rest assured that both Sams and I are doing all we can to have this book out to you guys as soon as possible, and with the highest possible quality.&lt;/p&gt;  &lt;p&gt;For more info about the book’s progress, follow me on Twitter and stay tuned to this blog!&lt;/p&gt;  &lt;p&gt;Happy coding,&lt;/p&gt;  &lt;p&gt;Laurent&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;div style="margin-bottom: -1em"&gt;   &lt;div style="vertical-align: middle"&gt;&lt;a href="http://www.galasoft.ch/"&gt;&lt;img title="GalaSoft Laurent Bugnion" alt="GalaSoft Laurent Bugnion" src="http://www.galasoft.ch/logo/Current/logo_120x30.png" /&gt;&lt;/a&gt; &lt;/div&gt;    &lt;div style="position: relative; top: -36px; left: 130px"&gt;&lt;strong&gt;&lt;a href="http://www.galasoft.ch/contact_en.html"&gt;Laurent Bugnion (GalaSoft)&lt;/a&gt;&lt;/strong&gt;       &lt;br /&gt;&lt;a href="http://feeds.feedburner.com/galasoft"&gt;Subscribe&lt;/a&gt; | &lt;a href="http://twitter.com/lbugnion"&gt;Twitter&lt;/a&gt; | &lt;a href="http://www.facebook.com/lbugnion"&gt;Facebook&lt;/a&gt; | &lt;a href="http://www.flickr.com/photos/lbugnion"&gt;Flickr&lt;/a&gt; | &lt;a href="http://www.linkedin.com/in/lbugnion"&gt;LinkedIn&lt;/a&gt;       &lt;br /&gt;&lt;iframe style="border-bottom-style: none; border-right-style: none; margin-top: 7px; width: 450px; border-top-style: none; margin-bottom: -20px; height: 23px; border-left-style: none; overflow: hidden" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.galasoft.ch/archive/2010/06/28/silverlight-4-unleashed-table-of-content.aspx&amp;amp;layout=standard&amp;amp;show_faces=true&amp;amp;width=450&amp;amp;action=like&amp;amp;colorscheme=light" frameborder="0" allowtransparency="allowtransparency" scrolling="no"&gt;&lt;/iframe&gt;&lt;/div&gt; &lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=140657"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=140657" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://blog.galasoft.ch/aggbug/140657.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Laurent Bugnion</dc:creator>
            <guid>http://blog.galasoft.ch/archive/2010/06/28/silverlight-4-unleashed-table-of-content.aspx</guid>
            <pubDate>Mon, 28 Jun 2010 15:07:39 GMT</pubDate>
            <wfw:comment>http://blog.galasoft.ch/comments/140657.aspx</wfw:comment>
            <comments>http://blog.galasoft.ch/archive/2010/06/28/silverlight-4-unleashed-table-of-content.aspx#feedback</comments>
            <slash:comments>8</slash:comments>
            <wfw:commentRss>http://blog.galasoft.ch/comments/commentRss/140657.aspx</wfw:commentRss>
            <trackback:ping>http://blog.galasoft.ch/services/trackbacks/140657.aspx</trackback:ping>
        </item>
        <item>
            <title>Windows Phone 7 multitouch behavior: beta testers needed (#wp7dev)!</title>
            <link>http://blog.galasoft.ch/archive/2010/06/20/windows-phone-7-multitouch-behavior-beta-testers-needed-wp7dev.aspx</link>
            <description>&lt;p&gt;I finished implementing version 0.1/beta1 of a multitouch behavior for Windows Phone 7 and need beta testers.&lt;/p&gt; &lt;h2&gt;What is the Windows Phone 7 multitouch behavior?&lt;/h2&gt; &lt;p&gt;Multitouch in Windows Phone 7 is not super hard, but there are a few things that need to be taken in account (such as the orientation of the device). In addition, it is very easy to get unwanted effects on a small screen (for example that the element becomes too big/too small). Also, in some cases the proportionality should be kept for a scaled element. The multitouch behavior encapsulates all these concerns and expose a set of easy-to-understand properties to govern its usage. These properties can be databound, so you can even change their value during runtime.&lt;/p&gt; &lt;p&gt;In addition to this, the multitouch behavior has two modes that make it easier to debug a multitouch application:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;A &lt;strong&gt;debug mode&lt;/strong&gt;, in which debug information is written to the screen. This is super useful because it is really hard to debug a multitouch application. Setting breakpoints interrupts the manipulation! Having the debug info on the screen helps to understand why things are not working exactly as you want.  &lt;/li&gt;&lt;li&gt;A &lt;strong&gt;visualization of the first finger&lt;/strong&gt; that was pressed on the screen. This is especially useful for demos, where the audience does not see your fingers on the screen of the emulator. It is also useful when debugging. The finger is represented by a small orange ellipse drawn on the screen and moving as you move your finger. &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;Notes:&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;I was not able to test on a real device yet. &lt;strong&gt;Microsoft, if you listen, writing multitouch code without a real device to test is super hard. You know I am a good guy, and I share my knowledge, please give me a development device… thanks!&lt;/strong&gt;  &lt;/li&gt;&lt;li&gt;The visualization of the pressed finger works only for one finger at this time. More fingers should be visible in a further version. &lt;/li&gt;&lt;/ul&gt; &lt;h2&gt;Where will you publish it?&lt;/h2&gt; &lt;p&gt;The multitouch behavior for Windows Phone 7 will be published on Codeplex, in &lt;a href="http://multitouch.codeplex.com"&gt;the awesome project started by Davide Zordan&lt;/a&gt; that aims to provide a unified interface for multitouch in Windows Presentation Foundation, Silverlight and Windows Phone 7.&lt;/p&gt; &lt;h2&gt;What is supported (and what is not)?&lt;/h2&gt; &lt;p&gt;The following is supported in this first version:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Translate manipulation: move an element on the screen.  &lt;/li&gt;&lt;li&gt;Scale manipulation: Use a “pinch” gesture to zoom an element in and out.  &lt;/li&gt;&lt;li&gt;Maximum and Minimum scale (optional): Avoid that an element becomes too large or too small.  &lt;/li&gt;&lt;li&gt;Proportional scale: Forces an element to stay proportional along the X and Y axis, no matter what.  &lt;/li&gt;&lt;li&gt;Debug mode (see above).  &lt;/li&gt;&lt;li&gt;Finger visualization (see above).  &lt;/li&gt;&lt;li&gt;Automatic support for orientation change. &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Not supported:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Rotate manipulation: this is not supported by the Windows Phone 7 Silverlight framework at this point. We are hoping to support it anyway in a future version, but it is unclear how.  &lt;/li&gt;&lt;li&gt;Inertia: in this version, inertia is not supported. We are hoping to get inertia working in a future version.  &lt;/li&gt;&lt;li&gt;I was not able to test the behavior when the device is held upside down. For the moment, this mode is not explicitly supported until I have a device where I can make sure that it works fine. &lt;/li&gt;&lt;/ul&gt; &lt;h2&gt;How do I know if I can apply?&lt;/h2&gt; &lt;p&gt;You need the following to test the multitouch behavior:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;A computer with the Windows Phone tools (April CTP) installed.  &lt;/li&gt;&lt;li&gt;The computer’s screen must support multitouch (at least two points)  &lt;/li&gt;&lt;li&gt;You must make sure that the Windows Phone 7 emulator does indeed support multitouch on your computer (see below).  &lt;/li&gt;&lt;li&gt;(optional) you have access to a Windows Phone 7 device and can run applications on it. &lt;/li&gt;&lt;/ul&gt; &lt;h3&gt;How do I make sure that the Windows Phone 7 emulator supports multitouch on my computer?&lt;/h3&gt; &lt;p&gt;Apparently not every multitouch computer supports multitouch in the Windows Phone 7 emulator. We heard that the PDC laptop (that was given to PDC attendees in 2009) does not support multitouch in the emulator.&lt;/p&gt; &lt;p&gt;To know if your multitouch computer qualifies is very easy with the following steps:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Create a new Silverlight for Windows Phone 7 application in Visual Studio, Visual Studio Express or Expression Blend.  &lt;/li&gt;&lt;li&gt;Start the application.  &lt;/li&gt;&lt;li&gt;In the emulator, press on the Windows button to go back to the start screen.  &lt;/li&gt;&lt;li&gt;Press on the Internet Explorer tile.  &lt;/li&gt;&lt;li&gt;Navigate to a web page and try to zoom in using a pinch gesture. &lt;/li&gt;&lt;/ol&gt; &lt;p&gt;If you are able to zoom in and out using the pinch gesture, your computer should be able to test the Windows Phone 7 multitouch behavior!&lt;/p&gt; &lt;h2&gt;How do I apply?&lt;/h2&gt; &lt;p&gt;Very simple: Send me an email (&lt;a href="mailto:laurent@galasoft.ch"&gt;laurent@galasoft.ch&lt;/a&gt;) or send me your email address on Twitter (&lt;a href="http://www.twitter.com/lbugnion" target="_blank"&gt;@lbugnion&lt;/a&gt;). I will send you a test application, instructions to make it work and a few questions that I would like you to answer to understand how the experience worked for you, and how it could be improved.&lt;/p&gt; &lt;p&gt;I will also be looking for people willing to write documentation (articles, etc…) for this component, so if you have the soul of a writer and have an outlet (blog, Code Project, etc) let me know and I will send you the preview code.&lt;/p&gt; &lt;h2&gt;What’s next?&lt;/h2&gt; &lt;p&gt;I am hoping to publish the code on Codeplex very soon after I get enough feedback. Of course all announcements will be made on this blog too, so stay tuned.&lt;/p&gt; &lt;h2&gt;Pictures&lt;/h2&gt; &lt;p&gt;&lt;a title="Debug mode in multitouch behavior" href="http://www.flickr.com/photos/36917929@N06/4716506537"&gt;&lt;img src="http://farm5.static.flickr.com/4063/4716506537_3d2b74e9f2.jpg" width="500" height="244" /&gt;&lt;/a&gt;  &lt;br /&gt;&lt;em&gt;Debug mode in multitouch behavior&lt;/em&gt;&lt;/p&gt; &lt;p&gt;&lt;a title="Visualization of finger" href="http://www.flickr.com/photos/36917929@N06/4717153512"&gt;&lt;img src="http://farm5.static.flickr.com/4060/4717153512_ba3752ee7d.jpg" width="500" height="245" /&gt;&lt;/a&gt;  &lt;br /&gt;&lt;em&gt;Visualization of finger &lt;/em&gt;&lt;/p&gt; &lt;p&gt;&lt;a title="Debug mode and visualization of finger" href="http://www.flickr.com/photos/36917929@N06/4717155928"&gt;&lt;img src="http://farm5.static.flickr.com/4018/4717155928_cd5180e1ae.jpg" width="500" height="244" /&gt;&lt;/a&gt;  &lt;br /&gt;&lt;em&gt;Debug mode and visualization of finger &lt;/em&gt;&lt;/p&gt; &lt;p&gt;&lt;a title="Settings of sample application" href="http://www.flickr.com/photos/36917929@N06/4716514653"&gt;&lt;img src="http://farm5.static.flickr.com/4055/4716514653_4d462d9616.jpg" width="500" height="243" /&gt;&lt;/a&gt;  &lt;br /&gt;&lt;em&gt;Settings of sample application &lt;/em&gt;&lt;/p&gt; &lt;p&gt;Happy coding!&lt;/p&gt; &lt;p&gt;Laurent&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;div style="margin-bottom: -1em"&gt; &lt;div style="vertical-align: middle"&gt;&lt;a href="http://www.galasoft.ch/"&gt;&lt;img title="GalaSoft Laurent Bugnion" alt="GalaSoft Laurent Bugnion" src="http://www.galasoft.ch/logo/Current/logo_120x30.png" /&gt;&lt;/a&gt; &lt;/div&gt; &lt;div style="position: relative; top: -36px; left: 130px"&gt;&lt;strong&gt;&lt;a href="http://www.galasoft.ch/contact_en.html"&gt;Laurent Bugnion (GalaSoft)&lt;/a&gt;&lt;/strong&gt; &lt;br /&gt;&lt;a href="http://feeds.feedburner.com/galasoft"&gt;Subscribe&lt;/a&gt; | &lt;a href="http://twitter.com/lbugnion"&gt;Twitter&lt;/a&gt; | &lt;a href="http://www.facebook.com/lbugnion"&gt;Facebook&lt;/a&gt; | &lt;a href="http://www.flickr.com/photos/lbugnion"&gt;Flickr&lt;/a&gt; | &lt;a href="http://www.linkedin.com/in/lbugnion"&gt;LinkedIn&lt;/a&gt; &lt;br /&gt;&lt;iframe style="border-bottom-style: none; border-right-style: none; margin-top: 7px; width: 450px; border-top-style: none; margin-bottom: -20px; height: 23px; border-left-style: none; overflow: hidden" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.galasoft.ch/archive/2010/06/20/windows-phone-7-multitouch-behavior-beta-testers-needed-wp7dev.aspx&amp;amp;layout=standard&amp;amp;show_faces=true&amp;amp;width=450&amp;amp;action=like&amp;amp;colorscheme=light" frameborder="0" allowtransparency="" scrolling="no"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;/div&gt; &lt;p&gt;&lt;/p&gt;&lt;pre&gt;&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=140522"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=140522" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://blog.galasoft.ch/aggbug/140522.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Laurent Bugnion</dc:creator>
            <guid>http://blog.galasoft.ch/archive/2010/06/20/windows-phone-7-multitouch-behavior-beta-testers-needed-wp7dev.aspx</guid>
            <pubDate>Sun, 20 Jun 2010 18:19:15 GMT</pubDate>
            <wfw:comment>http://blog.galasoft.ch/comments/140522.aspx</wfw:comment>
            <comments>http://blog.galasoft.ch/archive/2010/06/20/windows-phone-7-multitouch-behavior-beta-testers-needed-wp7dev.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://blog.galasoft.ch/comments/commentRss/140522.aspx</wfw:commentRss>
            <trackback:ping>http://blog.galasoft.ch/services/trackbacks/140522.aspx</trackback:ping>
        </item>
        <item>
            <title>Two small issues with Windows Phone 7 ApplicationBar buttons (and workaround)</title>
            <link>http://blog.galasoft.ch/archive/2010/06/08/two-small-issues-with-windows-phone-7-applicationbar-buttons-and.aspx</link>
            <description>&lt;p&gt;When you work with the ApplicationBar in Windows Phone 7, you notice very fast that it is not quite a component like the others. For example, &lt;a href="http://blog.galasoft.ch/archive/2010/04/09/using-commands-with-applicationbarmenuitem-and-applicationbarbutton-in-windows-phone-7.aspx"&gt;the ApplicationBarIconButton element is not a dependency object&lt;/a&gt;, which causes issues because it is not possible to add attached properties to it.&lt;/p&gt;  &lt;p&gt;Here are two other issues I stumbled upon, and what workaround I used to make it work anyway.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.galasoft.ch/blogs-all/resources/2010060901/ApplicationBarIssues.zip"&gt;Code to demonstrate the issues and the workaround can be downloaded here&lt;/a&gt;!&lt;/p&gt;  &lt;h2&gt;Finding a button by name returns null&lt;/h2&gt;  &lt;p&gt;Since the ApplicationBar is not in the tree of the Silverlight page, finding an element by name fails. For example consider the following code:&lt;/p&gt;  &lt;pre class="xml" name="code"&gt;&amp;lt;phoneNavigation:PhoneApplicationPage.ApplicationBar&amp;gt;
    &amp;lt;shell:ApplicationBar&amp;gt;
        &amp;lt;shell:ApplicationBar.Buttons&amp;gt;
            &amp;lt;shell:ApplicationBarIconButton
                IconUri="/Resources/edit.png"
                Click="EditButtonClick"
                x:Name="EditButton"/&amp;gt;
            &amp;lt;shell:ApplicationBarIconButton
                IconUri="/Resources/cancel.png"
                Click="CancelButtonClick"
                x:Name="CancelButton"/&amp;gt;
        &amp;lt;/shell:ApplicationBar.Buttons&amp;gt;
    &amp;lt;/shell:ApplicationBar&amp;gt;
&amp;lt;/phoneNavigation:PhoneApplicationPage.ApplicationBar&amp;gt;&lt;/pre&gt;

&lt;p&gt;with &lt;/p&gt;

&lt;pre class="csharp" name="code"&gt;private void EditButtonClick(
    object sender, 
    EventArgs e)
{
    CancelButton.IsEnabled = false;
    // Fails, CancelButton is always null
}&lt;/pre&gt;

&lt;p&gt;The CancelButton, even though it is named through an x:Name attribute, and even though it appears in Intellisense in the code behind, is null when it is needed.&lt;/p&gt;

&lt;p&gt;To solve the issue, I use the following code:&lt;/p&gt;

&lt;pre class="csharp" name="code"&gt;public enum IconButton
{
    Edit = 0,
    Cancel = 1
}

public ApplicationBarIconButton GetButton(
    IconButton which)
{
    return ApplicationBar.Buttons[(int) which]
        as ApplicationBarIconButton;
}

private void EditButtonClick(
    object sender, 
    EventArgs e)
{
    GetButton(IconButton.Cancel).IsEnabled = false;
}&lt;/pre&gt;

&lt;h2&gt;Updating a Binding when the icon button is clicked&lt;/h2&gt;

&lt;p&gt;In Silverlight, a Binding on a TextBox’s Text property can only be updated in two circumstances:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;When the TextBox loses the focus. &lt;/li&gt;

  &lt;li&gt;Explicitly by placing a call in code. &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;In WPF, there is a third option, updating the Binding every time that the Text property changes (i.e. every time that the user types a character). Unfortunately this option is not available in Silverlight). To select option 1, 2 (and in WPF, 3), you use the Mode property of the Binding class.&lt;/p&gt;

&lt;p&gt;The issue here is that pressing a button on the ApplicationBar does not remove the focus from the TextBox where the user is currently typing. If the button is a Save button, this is super annoying: The Binding does not get updated on the data object, the object is saved anyway with the old state, and noone understands what just happened.&lt;/p&gt;

&lt;p&gt;In order to solve this, you can make sure that the Binding is updated explicitly when the button is pressed, with the following code:&lt;/p&gt;

&lt;pre class="csharp" name="code"&gt;private void SaveButtonClick(object sender, EventArgs e)
{
    // Force update binding first
    var binding
        = MessageTextBox.GetBindingExpression(
            TextBox.TextProperty);

    binding.UpdateSource();

    // Property was updated for sure, now we can save
    var vm = DataContext as MainViewModel;
    vm.Save();
}&lt;/pre&gt;

&lt;p&gt;Obviously this is less maintainable than the usual way to do things in Silverlight. So be careful when using the ApplicationBar and remember that it is not a Silverlight element like the others!!&lt;/p&gt;

&lt;p&gt;Happy coding!&lt;/p&gt;

&lt;p&gt;Laurent&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;div style="margin-bottom: -1em"&gt;
  &lt;div style="vertical-align: middle"&gt;&lt;a href="http://www.galasoft.ch/"&gt;&lt;img title="GalaSoft Laurent Bugnion" alt="GalaSoft Laurent Bugnion" src="http://www.galasoft.ch/logo/Current/logo_120x30.png" /&gt;&lt;/a&gt; &lt;/div&gt;

  &lt;div style="position: relative; top: -36px; left: 130px"&gt;&lt;strong&gt;&lt;a href="http://www.galasoft.ch/contact_en.html"&gt;Laurent Bugnion (GalaSoft)&lt;/a&gt;&lt;/strong&gt; 

    &lt;br /&gt;&lt;a href="http://feeds.feedburner.com/galasoft"&gt;Subscribe&lt;/a&gt; | &lt;a href="http://twitter.com/lbugnion"&gt;Twitter&lt;/a&gt; | &lt;a href="http://www.facebook.com/lbugnion"&gt;Facebook&lt;/a&gt; | &lt;a href="http://www.flickr.com/photos/lbugnion"&gt;Flickr&lt;/a&gt; | &lt;a href="http://www.linkedin.com/in/lbugnion"&gt;LinkedIn&lt;/a&gt; 

    &lt;br /&gt;&lt;iframe style="border-bottom-style: none; border-right-style: none; margin-top: 7px; width: 450px; border-top-style: none; margin-bottom: -20px; height: 23px; border-left-style: none; overflow: hidden" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.galasoft.ch/archive/2010/06/08/two-small-issues-with-windows-phone-7-applicationbar-buttons-and.aspx&amp;amp;layout=standard&amp;amp;show_faces=true&amp;amp;width=450&amp;amp;action=like&amp;amp;colorscheme=light" frameborder="0" allowtransparency="allowtransparency" scrolling="no"&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=140292"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=140292" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://blog.galasoft.ch/aggbug/140292.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Laurent Bugnion</dc:creator>
            <guid>http://blog.galasoft.ch/archive/2010/06/08/two-small-issues-with-windows-phone-7-applicationbar-buttons-and.aspx</guid>
            <pubDate>Tue, 08 Jun 2010 23:06:05 GMT</pubDate>
            <wfw:comment>http://blog.galasoft.ch/comments/140292.aspx</wfw:comment>
            <comments>http://blog.galasoft.ch/archive/2010/06/08/two-small-issues-with-windows-phone-7-applicationbar-buttons-and.aspx#feedback</comments>
            <slash:comments>4</slash:comments>
            <wfw:commentRss>http://blog.galasoft.ch/comments/commentRss/140292.aspx</wfw:commentRss>
            <trackback:ping>http://blog.galasoft.ch/services/trackbacks/140292.aspx</trackback:ping>
        </item>
        <item>
            <title>Handling DataGrid.SelectedItems in an MVVM-friendly manner</title>
            <link>http://blog.galasoft.ch/archive/2010/05/19/handling-datagrid.selecteditems-in-an-mvvm-friendly-manner.aspx</link>
            <description>&lt;p&gt;An interesting question from one of the MVVM Light users today:&lt;/p&gt; &lt;p&gt;&lt;em&gt;Is there an MVVM-friendly way to get a DataGrid’s SelectedItems into the ViewModel?&lt;/em&gt;&lt;/p&gt; &lt;p&gt;The issue there is as old as the DataGrid (that’s not very old but still): SelectedItem (singular) is a DependencyProperty and can be databound to a property in the ViewModel. SelectedItems (plural) is not a DependencyProperty.&lt;/p&gt; &lt;p&gt;Thankfully the answer is very simple: Use EventToCommand to call a Command in the ViewModel, and pass the SelectedItems collection as parameter. For example, if the command in the ViewModel is declared as follows:&lt;/p&gt;&lt;pre class="csharp" name="code"&gt;public RelayCommand&amp;lt;IList&amp;gt; SelectionChangedCommand
{
    get;
    private set;
}&lt;/pre&gt;&lt;font face="Verdana"&gt;and (in the MainViewModel constructor):&lt;/font&gt;&lt;pre&gt;&lt;/pre&gt;&lt;pre class="csharp" name="code"&gt;SelectionChangedCommand = new RelayCommand&amp;lt;IList&amp;gt;(
    items =&amp;gt;
    {
        if (items == null)
        {
            NumberOfItemsSelected = 0;
            return;
        }

        NumberOfItemsSelected = items.Count;
    });&lt;/pre&gt;
&lt;p&gt;Then the XAML markup becomes:&lt;/p&gt;&lt;pre class="xml" name="code"&gt;&amp;lt;sdk:DataGrid x:Name="MyDataGrid"
                ItemsSource="{Binding Items}"&amp;gt;
    &amp;lt;i:Interaction.Triggers&amp;gt;
        &amp;lt;i:EventTrigger EventName="SelectionChanged"&amp;gt;
            &amp;lt;cmd:EventToCommand
                Command="{Binding SelectionChangedCommand}"
                CommandParameter="{Binding SelectedItems,
                    ElementName=MyDataGrid}" /&amp;gt;
        &amp;lt;/i:EventTrigger&amp;gt;
    &amp;lt;/i:Interaction.Triggers&amp;gt;
&amp;lt;/sdk:DataGrid&amp;gt;&lt;/pre&gt;
&lt;p&gt;I slapped &lt;a href="http://www.galasoft.ch/mvvm/resources/Samples/MVVMFriendlySelectedItems.zip"&gt;a quick sample and published it here&lt;/a&gt; (VS2010, SL4 but the concept works in SL3 and WPF too).&lt;/p&gt;&lt;a title="Snagit Capture for Flickr" href="http://www.flickr.com/photos/36917929@N06/4622423670"&gt;&lt;img src="http://farm4.static.flickr.com/3352/4622423670_52531ccc80.jpg" width="294" height="299" /&gt;&lt;/a&gt; 
&lt;p&gt;Cheers!&lt;/p&gt;
&lt;p&gt;Laurent&lt;/p&gt;
&lt;div style="margin-bottom: -1em"&gt;
&lt;div style="vertical-align: middle"&gt;&lt;a href="http://www.galasoft.ch/"&gt;&lt;img title="GalaSoft Laurent Bugnion" alt="GalaSoft Laurent Bugnion" src="http://www.galasoft.ch/logo/Current/logo_120x30.png" /&gt;&lt;/a&gt; &lt;/div&gt;
&lt;div style="position: relative; top: -36px; left: 130px"&gt;&lt;strong&gt;&lt;a href="http://www.galasoft.ch/contact_en.html"&gt;Laurent Bugnion (GalaSoft)&lt;/a&gt;&lt;/strong&gt; &lt;br /&gt;&lt;a href="http://feeds.feedburner.com/galasoft"&gt;Subscribe&lt;/a&gt; | &lt;a href="http://twitter.com/lbugnion"&gt;Twitter&lt;/a&gt; | &lt;a href="http://www.facebook.com/lbugnion"&gt;Facebook&lt;/a&gt; | &lt;a href="http://www.flickr.com/photos/lbugnion"&gt;Flickr&lt;/a&gt; | &lt;a href="http://www.linkedin.com/in/lbugnion"&gt;LinkedIn&lt;/a&gt; &lt;br /&gt;&lt;iframe style="border-bottom-style: none; border-right-style: none; margin-top: 7px; width: 450px; border-top-style: none; margin-bottom: -20px; height: 23px; border-left-style: none; overflow: hidden" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.galasoft.ch/archive/2010/05/19/handling-datagrid.selecteditems-in-an-mvvm-friendly-manner.aspx&amp;amp;layout=standard&amp;amp;show_faces=true&amp;amp;width=450&amp;amp;action=like&amp;amp;colorscheme=light" frameborder="0" allowtransparency="" scrolling="no"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=139950"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=139950" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://blog.galasoft.ch/aggbug/139950.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Laurent Bugnion</dc:creator>
            <guid>http://blog.galasoft.ch/archive/2010/05/19/handling-datagrid.selecteditems-in-an-mvvm-friendly-manner.aspx</guid>
            <pubDate>Wed, 19 May 2010 19:17:17 GMT</pubDate>
            <wfw:comment>http://blog.galasoft.ch/comments/139950.aspx</wfw:comment>
            <comments>http://blog.galasoft.ch/archive/2010/05/19/handling-datagrid.selecteditems-in-an-mvvm-friendly-manner.aspx#feedback</comments>
            <slash:comments>12</slash:comments>
            <wfw:commentRss>http://blog.galasoft.ch/comments/commentRss/139950.aspx</wfw:commentRss>
            <trackback:ping>http://blog.galasoft.ch/services/trackbacks/139950.aspx</trackback:ping>
        </item>
        <item>
            <title>Be careful when installing the Blend Windows Phone 7 Add-In</title>
            <link>http://blog.galasoft.ch/archive/2010/04/29/be-careful-when-installing-the-blend-windows-phone-7-add-in.aspx</link>
            <description>&lt;p&gt;There was a small issue today with the release of the &lt;a href="http://timh.me/wp7-apr2010"&gt;Windows Phone Developer Tools CTP (April 2010 Refresh)&lt;/a&gt; refresh. The issue is that the &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=47f5c718-9dec-4557-9687-619c0fdd3d4f&amp;amp;displaylang=en"&gt;Expression Blend Add-in Preview for Windows Phone (April Refresh)&lt;/a&gt; is not compatible with Blend 4.0.20408.0, which was the public RC (release candidate).&lt;/p&gt;  &lt;p&gt;A few days ago, the Blend team released a fix for an issue that was sometimes causing a crash when Blend was starting up. This new release (V4.0.20421.0) was not very well announced however, and many people (including me) did not install it. After all, Blend did not crash at startup of either of my machines, so I didn’t deem necessary to install yet a new RC.&lt;/p&gt;  &lt;p&gt;However, it is now clear that the Windows Phone 7 Add-In needs this latest-and-greatest version to work. &lt;strong&gt;If you have Blend 4.0.20408.0, you won’t be able to work with Windows Phone 7 in Blend.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;To add to the confusion, the page &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=88484825-1b3c-4e8c-8b14-b05d025e1541&amp;amp;displaylang=en"&gt;where you can download V4.0.20421.0 from&lt;/a&gt; has an error, and the wrong version number is shown (at least at the time of writing). Do not let this confuse you. You must download this version and install it.&lt;/p&gt;  &lt;p&gt;Hopefully this helps clarify some of the confusion…&lt;/p&gt;  &lt;p&gt;Happy WinPhone7 coding :)&lt;/p&gt;  &lt;p&gt;Laurent&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;div style="margin-bottom: -1em"&gt;   &lt;div style="vertical-align: middle"&gt;&lt;a href="http://www.galasoft.ch/"&gt;&lt;img title="GalaSoft Laurent Bugnion" alt="GalaSoft Laurent Bugnion" src="http://www.galasoft.ch/logo/Current/logo_120x30.png" /&gt;&lt;/a&gt; &lt;/div&gt;    &lt;div style="position: relative; top: -36px; left: 130px"&gt;&lt;strong&gt;&lt;a href="http://www.galasoft.ch/contact_en.html"&gt;Laurent Bugnion (GalaSoft)&lt;/a&gt;&lt;/strong&gt;       &lt;br /&gt;&lt;a href="http://feeds.feedburner.com/galasoft"&gt;Subscribe&lt;/a&gt; | &lt;a href="http://twitter.com/lbugnion"&gt;Twitter&lt;/a&gt; | &lt;a href="http://www.facebook.com/lbugnion"&gt;Facebook&lt;/a&gt; | &lt;a href="http://www.flickr.com/photos/lbugnion"&gt;Flickr&lt;/a&gt; | &lt;a href="http://www.linkedin.com/in/lbugnion"&gt;LinkedIn&lt;/a&gt;       &lt;br /&gt;&lt;iframe style="border-bottom-style: none; border-right-style: none; margin-top: 7px; width: 450px; border-top-style: none; margin-bottom: -20px; height: 23px; border-left-style: none; overflow: hidden" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.galasoft.ch/archive/2010/04/29/be-careful-when-installing-the-blend-windows-phone-7-add-in.aspx&amp;amp;layout=standard&amp;amp;show_faces=true&amp;amp;width=450&amp;amp;action=like&amp;amp;colorscheme=light" frameborder="0" allowtransparency="allowtransparency" scrolling="no"&gt;&lt;/iframe&gt;&lt;/div&gt; &lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=139592"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=139592" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://blog.galasoft.ch/aggbug/139592.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Laurent Bugnion</dc:creator>
            <guid>http://blog.galasoft.ch/archive/2010/04/29/be-careful-when-installing-the-blend-windows-phone-7-add-in.aspx</guid>
            <pubDate>Thu, 29 Apr 2010 21:49:33 GMT</pubDate>
            <wfw:comment>http://blog.galasoft.ch/comments/139592.aspx</wfw:comment>
            <comments>http://blog.galasoft.ch/archive/2010/04/29/be-careful-when-installing-the-blend-windows-phone-7-add-in.aspx#feedback</comments>
            <slash:comments>4</slash:comments>
            <wfw:commentRss>http://blog.galasoft.ch/comments/commentRss/139592.aspx</wfw:commentRss>
            <trackback:ping>http://blog.galasoft.ch/services/trackbacks/139592.aspx</trackback:ping>
        </item>
        <item>
            <title>Crowdsourcing MVVM Light Toolkit support</title>
            <link>http://blog.galasoft.ch/archive/2010/04/18/crowdsourcing-mvvm-light-toolkit-support.aspx</link>
            <description>&lt;a title="MVVM Light loves StackOverflow" href="http://www.flickr.com/photos/36917929@N06/4532075259"&gt;&lt;img src="http://farm3.static.flickr.com/2764/4532075259_65f2ee2925.jpg" width="488" height="110" /&gt;&lt;/a&gt;   &lt;p&gt;Considering the number of emails that are sent to me asking for support for MVVM Light toolkit, I find myself unable to answer all of them in sufficient time to make me feel good.&lt;/p&gt;  &lt;p&gt;In consequence, I started to send the following message in response to support queries, either per email or on the &lt;a href="http://mvvmlight.codeplex.com/Thread/List.aspx"&gt;MVVM Light Codeplex discussion page&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Hi,&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;I am doing my best to answer all the questions as fast as possible. I receive a lot of them, however, and cannot reply to everyone fast enough to make me happy.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Due to this, I would like to encourage you to post your question on StackOverflow, and tag it with the tag mvvm-light.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;StackOverflow is an awesome site where tons of developers help others with their technical question.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://stackoverflow.com/questions/tagged/mvvm-light"&gt;&lt;em&gt;http://stackoverflow.com/questions/tagged/mvvm-light&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;I will monitor this tag on the StackOverflow website and do my best to answer questions. The advantage of StackOverflow over the Codeplex discussion is the sheer number of qualified developers able to help you with your questions, the visibility of the question itself, and the whole StackOverflow infrastructure (reputation, up- or down-vote, comments, etc)&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Thanks!&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Laurent&lt;/em&gt;&lt;/p&gt;  &lt;h2&gt;Bug reports&lt;/h2&gt;  &lt;p&gt;Regarding bug reports, feel free to continue to &lt;a href="http://mvvmlight.codeplex.com/Thread/List.aspx"&gt;send them to the Codeplex site&lt;/a&gt; (preferred), or to me directly.&lt;/p&gt;  &lt;p&gt;I hope that this will help all support queries to be answered faster, and with the great quality for which the StackOverflow users are known!&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;div style="margin-bottom: -1em"&gt;   &lt;div style="vertical-align: middle"&gt;&lt;a href="http://www.galasoft.ch/"&gt;&lt;img title="GalaSoft Laurent Bugnion" alt="GalaSoft Laurent Bugnion" src="http://www.galasoft.ch/logo/Current/logo_120x30.png" /&gt;&lt;/a&gt; &lt;/div&gt;    &lt;div style="position: relative; top: -36px; left: 130px"&gt;&lt;strong&gt;&lt;a href="http://www.galasoft.ch/contact_en.html"&gt;Laurent Bugnion (GalaSoft)&lt;/a&gt;&lt;/strong&gt;       &lt;br /&gt;&lt;a href="http://feeds.feedburner.com/galasoft"&gt;Subscribe&lt;/a&gt; | &lt;a href="http://twitter.com/lbugnion"&gt;Twitter&lt;/a&gt; | &lt;a href="http://www.facebook.com/lbugnion"&gt;Facebook&lt;/a&gt; | &lt;a href="http://www.flickr.com/photos/lbugnion"&gt;Flickr&lt;/a&gt; | &lt;a href="http://www.linkedin.com/in/lbugnion"&gt;LinkedIn&lt;/a&gt;       &lt;br /&gt;  &lt;iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.galasoft.ch%2Farchive%2F2010%2F04%2F18%2Fcrowdsourcing-mvvm-light-toolkit-support.aspx&amp;amp;layout=standard&amp;amp;show_faces=true&amp;amp;width=450&amp;amp;action=like&amp;amp;colorscheme=light" scrolling="no" frameborder="0" allowtransparency="true" style="border:none; overflow:hidden; width:450px; height: 23px; margin-top: 7px; margin-bottom: -20px;"&gt;&lt;/iframe&gt;  &lt;/div&gt; &lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=139345"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=139345" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://blog.galasoft.ch/aggbug/139345.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Laurent Bugnion</dc:creator>
            <guid>http://blog.galasoft.ch/archive/2010/04/18/crowdsourcing-mvvm-light-toolkit-support.aspx</guid>
            <pubDate>Sun, 18 Apr 2010 21:45:06 GMT</pubDate>
            <wfw:comment>http://blog.galasoft.ch/comments/139345.aspx</wfw:comment>
            <comments>http://blog.galasoft.ch/archive/2010/04/18/crowdsourcing-mvvm-light-toolkit-support.aspx#feedback</comments>
            <wfw:commentRss>http://blog.galasoft.ch/comments/commentRss/139345.aspx</wfw:commentRss>
            <trackback:ping>http://blog.galasoft.ch/services/trackbacks/139345.aspx</trackback:ping>
        </item>
        <item>
            <title>Small change in MVVM Light Toolkit templates for Blend 4 RC</title>
            <link>http://blog.galasoft.ch/archive/2010/04/18/small-change-in-mvvm-light-toolkit-templates-for-blend-4.aspx</link>
            <description>&lt;p&gt;Ah, the joy of new releases… You will find that the MVVM Light Toolkit works fine with Visual Studio 2010 RTM and Blend 4 RC except for a few adjustments:&lt;/p&gt;  &lt;h2&gt;Blend templates&lt;/h2&gt;  &lt;p&gt;The path to the Expression Blend 4 project templates changed. If you start Expression Blend 4 RC now, you will likely not see the MVVM Light templates in the New Project dialog. &lt;/p&gt;  &lt;p&gt; &lt;a title="20100403003" href="http://www.flickr.com/photos/36917929@N06/4487801224/"&gt;&lt;img border="0" alt="20100403003" src="http://farm5.static.flickr.com/4024/4487801224_969620cafd.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;New Project dialog with MVVM Light&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;To restore the templates, follow the steps:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Open Windows Explorer &lt;/li&gt;    &lt;li&gt;Navigate to C:\Users\[username]\Documents\Expression (or simply type My Documents in Windows Explorer and then open the Expression folder). &lt;/li&gt;    &lt;li&gt;Change the name of the “Blend 4 beta” folder into “Blend 4”.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;That’s it, you should now see the templates in the New Project dialog in Blend 4.&lt;/p&gt;  &lt;p&gt;Note that since the new name is “Blend 4”, I hope that I won’t need to do the same exercise when Blend 4 RTM is released!&lt;/p&gt;  &lt;h2&gt;Windows Phone 7 templates&lt;/h2&gt;  &lt;h2&gt;&lt;/h2&gt;  &lt;p&gt;Since the Windows Phone 7 tools are not ready yet for Visual Studio 2010 RTM and Blend 4 RC, the templates in the Silverlight for Windows Phone folders will not work. You will get an error if you try to create a new such project in the newly released environment.&lt;/p&gt;  &lt;p&gt;I hesitated to remove these templates from the current packages, but honestly that is a lot of trouble for a very short time before the tools for Windows Phone 7 are released (note: I don’t have any information as to when these tools will be released). In the mean time, just don’t create a WinPhone7 application.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Reminder: If you want to write code for Windows Phone 7, you need to keep the Visual Studio 2010 RC as well as Expression Blend 4 beta.&lt;/strong&gt;&lt;/p&gt;  &lt;h2&gt;&lt;/h2&gt;  &lt;p&gt;&lt;/p&gt;  &lt;h2&gt;Updated package&lt;/h2&gt;  &lt;p&gt;I uploaded an update to the Blend 4 templates. It is available like before on the “&lt;a href="http://www.galasoft.ch/mvvm/installing/manually"&gt;Install manually&lt;/a&gt;” page and on &lt;a href="http://mvvmlight.codeplex.com/releases/view/43831"&gt;the Codeplex page&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;div style="margin-bottom: -1em"&gt;   &lt;div style="vertical-align: middle"&gt;&lt;a href="http://www.galasoft.ch/"&gt;&lt;img title="GalaSoft Laurent Bugnion" alt="GalaSoft Laurent Bugnion" src="http://www.galasoft.ch/logo/Current/logo_120x30.png" /&gt;&lt;/a&gt; &lt;/div&gt;    &lt;div style="position: relative; top: -36px; left: 130px"&gt;&lt;strong&gt;&lt;a href="http://www.galasoft.ch/contact_en.html"&gt;Laurent Bugnion (GalaSoft)&lt;/a&gt;&lt;/strong&gt;       &lt;br /&gt;&lt;a href="http://feeds.feedburner.com/galasoft"&gt;Subscribe&lt;/a&gt; | &lt;a href="http://twitter.com/lbugnion"&gt;Twitter&lt;/a&gt; | &lt;a href="http://www.facebook.com/lbugnion"&gt;Facebook&lt;/a&gt; | &lt;a href="http://www.flickr.com/photos/lbugnion"&gt;Flickr&lt;/a&gt; | &lt;a href="http://www.linkedin.com/in/lbugnion"&gt;LinkedIn&lt;/a&gt;         &lt;br /&gt;&lt;iframe style="border-bottom-style: none; border-right-style: none; margin-top: 7px; width: 450px; border-top-style: none; margin-bottom: -20px; height: 23px; border-left-style: none; overflow: hidden" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.galasoft.ch/archive/2010/04/18/small-change-in-mvvm-light-toolkit-templates-for-blend-4.aspx&amp;amp;layout=standard&amp;amp;show_faces=true&amp;amp;width=450&amp;amp;action=like&amp;amp;colorscheme=light" frameborder="0" allowtransparency="allowtransparency" scrolling="no"&gt;&lt;/iframe&gt;&lt;/div&gt; &lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=139339"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=139339" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://blog.galasoft.ch/aggbug/139339.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Laurent Bugnion</dc:creator>
            <guid>http://blog.galasoft.ch/archive/2010/04/18/small-change-in-mvvm-light-toolkit-templates-for-blend-4.aspx</guid>
            <pubDate>Sun, 18 Apr 2010 14:15:44 GMT</pubDate>
            <wfw:comment>http://blog.galasoft.ch/comments/139339.aspx</wfw:comment>
            <comments>http://blog.galasoft.ch/archive/2010/04/18/small-change-in-mvvm-light-toolkit-templates-for-blend-4.aspx#feedback</comments>
            <wfw:commentRss>http://blog.galasoft.ch/comments/commentRss/139339.aspx</wfw:commentRss>
            <trackback:ping>http://blog.galasoft.ch/services/trackbacks/139339.aspx</trackback:ping>
        </item>
    </channel>
</rss>