<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>WPF</title>
        <link>http://geekswithblogs.net/lbugnion/category/4828.aspx</link>
        <description>Windows Presentation Foundation</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>Bug fix: WPF4 project template for #MVVMLight V3</title>
            <link>http://geekswithblogs.net/lbugnion/archive/2012/01/25/bug-fix-wpf4-project-template-for-mvvmlight-v3.aspx</link>
            <description>&lt;p&gt;Ironically, my last release of MVVM Light V3 was about fixing bugs in templates and making them better. In the process however, seems that I introduced a regression bug in the WPF4 project templates. Yep shit happens.&lt;/p&gt;  &lt;h2&gt;How do I know if I have the bug?&lt;/h2&gt;  &lt;p&gt;Check the Programs and Features control panel, and look for MVVM Light. If the “Version” column shows &lt;font color="#ff0000"&gt;3.0.&lt;font size="3"&gt;&lt;strong&gt;2&lt;/strong&gt;&lt;/font&gt;.19&lt;/font&gt;, you have the bug. If it shows anything higher, you don’t. For instance, the new version with the bug correction is 3.0.3.19. Also, any version 4.*.*.* does not have this bug.&lt;/p&gt; &lt;a title="MVVM Light version check" href="http://www.flickr.com/photos/36917929@N06/6757419835"&gt;&lt;img src="http://farm8.staticflickr.com/7164/6757419835_f830cfcc68_b_d.jpg" /&gt;&lt;/a&gt;   &lt;p&gt;Alternatively, simply try to create a new WPF4 MVVM Light application in Studio. If you see the following warning, you have the bug.&lt;/p&gt; &lt;a title="Snagit Capture for Flickr" href="http://www.flickr.com/photos/36917929@N06/6757445519"&gt;&lt;img src="http://farm8.staticflickr.com/7171/6757445519_ec38c6852f_d.jpg" /&gt;&lt;/a&gt;   &lt;h2&gt;Upgrading&lt;/h2&gt;  &lt;p&gt;To fix the bug, &lt;a href="http://mvvmlight.codeplex.com/releases/view/71278"&gt;simply download V3.0.3.19 from Codeplex&lt;/a&gt; and install. You don’t need to uninstall the previous version.&lt;/p&gt;  &lt;h2&gt;What’s next?&lt;/h2&gt;  &lt;p&gt;I am working hard on V4 and have some nice improvements coming up. Many people have asked me when the “beta” will come out of MVVM Light, and the answer is “soon”. In the coming few days, I will publish a temporary release that corrects a few memory leaks, notably in the Messenger and in the RelayCommand. This will give expert users time to test and report issues. Then I still have a couple of fixes and I will release a release candidate. I won’t add any new feature after the RC, but will merely fix bugs if people find some. Once the RC is deemed stable, I will release V4 and take a deep breath! &lt;/p&gt;  &lt;p&gt;And yes, there will be a V5 &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://geekswithblogs.net/images/geekswithblogs_net/lbugnion/Windows-Live-Writer/Small-bug-fix-WPF4-project-template-for-_14B52/wlEmoticon-smile_2.png" /&gt;&lt;/p&gt;  &lt;p&gt;Happy coding,    &lt;br /&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; margin-top: 7px; border-left-style: none; width: 450px; border-top-style: none; margin-bottom: -20px; height: 23px; border-right-style: none; overflow: hidden" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.galasoft.ch/archive/2012/01/25/bug-fix-wpf4-project-template-for-mvvmlight-v3.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;img src="http://geekswithblogs.net/lbugnion/aggbug/148474.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Laurent Bugnion</dc:creator>
            <guid>http://geekswithblogs.net/lbugnion/archive/2012/01/25/bug-fix-wpf4-project-template-for-mvvmlight-v3.aspx</guid>
            <pubDate>Tue, 24 Jan 2012 23:40:09 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/lbugnion/comments/148474.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/lbugnion/archive/2012/01/25/bug-fix-wpf4-project-template-for-mvvmlight-v3.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/lbugnion/comments/commentRss/148474.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/lbugnion/services/trackbacks/148474.aspx</trackback:ping>
        </item>
        <item>
            <title>New MVVM Light templates with bug fixes</title>
            <link>http://geekswithblogs.net/lbugnion/archive/2012/01/02/new-mvvm-light-templates-with-bug-fixes.aspx</link>
            <description>&lt;p&gt;The current version of MVVM Light had a couple of issues in the project templates. The most annoying one was causing a problem when creating new projects: The GUIDs used to uniquely identify the project were in fact not re-generated properly every time, and we ended up with the same GUID in every new project. The symptoms are the following: If you side-load an MVVM Light application, and then side-load another one, you will see that the first one is overwritten. Note however that &lt;strong&gt;this is only an issue when side-loading applications&lt;/strong&gt;: The GUIDs are properly re-generated and overwritten by Microsoft during the app approval process.&lt;/p&gt;  &lt;p&gt;This was not really an issue with WPF and Silverlight applications (which is why the bug was never found until now), however the Windows Phone uses these GUIDs to check if the application is already installed on the Windows Phone device or not. &lt;/p&gt;  &lt;p&gt;I also took this occasion to update the templates with some information in the AssemblyInfo.cs, so that should make it even easier to fill the assembly information.&lt;/p&gt;  &lt;p&gt;I just published a new MSI that corrects the issue. You can install the new MSI on top of the existing one. As usual, there is an MSI for &lt;a href="http://mvvmlight.codeplex.com/releases/view/71278"&gt;MVVM Light V3&lt;/a&gt; and one for &lt;a href="http://mvvmlight.codeplex.com/releases/view/73208"&gt;MVVM Light V4 beta&lt;/a&gt;.&lt;/p&gt;  &lt;h2&gt;Fixing the issue in existing applications&lt;/h2&gt;  &lt;p&gt;If you encounter this issue in existing application, you can use the following steps to correct it. Note that I recommend you to follow these steps for every MVVM Light application.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Start the GUID generator installed with Visual Studio (open the Start menu and type GUID to find it). &lt;/li&gt;    &lt;li&gt;In the GUID generator, select the Registry Format. &lt;/li&gt;    &lt;li&gt;Press the New GUID button and then the Copy button. &lt;/li&gt; &lt;/ul&gt; &lt;a title="GUID generator" href="http://www.flickr.com/photos/36917929@N06/6621147243/"&gt;&lt;img alt="2011010201" src="http://farm8.staticflickr.com/7156/6621147243_e4dc1db068_o.png" width="403" height="424" /&gt;&lt;/a&gt;   &lt;ul&gt;   &lt;li&gt;Open the CSPROJ file in Notepad (or any text editor). &lt;/li&gt;    &lt;li&gt;Locate the &amp;lt;ProjectGuid&amp;gt; attribute. &lt;/li&gt;    &lt;li&gt;Select its content and paste the GUID you previously copied. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;For Windows Phone projects only, in addition:&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;In the GUID generator, press the New GUID button and then the Copy button. &lt;/li&gt;    &lt;li&gt;Open the file WMAppManifest.xml (in the Properties folder). &lt;/li&gt;    &lt;li&gt;Find the ProductID attribute and replace its content with the GUID you previously copied. &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;Projects exposed to COM&lt;/h3&gt;  &lt;p&gt;Some project also have a GUID in the AssemblyInfo.cs. Open this file in Visual Studio or in Notepad and check if you can see a GUID there. If there is one, copy a new GUID from the GUID generator and replace the old one with the one you just copied. Be careful to remove the opening ‘{‘ and closing ‘}’.&lt;/p&gt;  &lt;h2&gt;That’s it&lt;/h2&gt;  &lt;p&gt;Apologies for this bug, and thanks to everyone who reported it and helped make MVVM Light better.&lt;/p&gt;  &lt;p&gt;Cheers,    &lt;br /&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; left: 130px; top: -36px"&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-top-style: none; margin-bottom: -20px; height: 23px; width: 450px; border-bottom-style: none; overflow: hidden; border-right-style: none; border-left-style: none; margin-top: 7px" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.galasoft.ch/archive/2012/01/02/new-mvvm-light-templates-with-bug-fixes.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;img src="http://geekswithblogs.net/lbugnion/aggbug/148217.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Laurent Bugnion</dc:creator>
            <guid>http://geekswithblogs.net/lbugnion/archive/2012/01/02/new-mvvm-light-templates-with-bug-fixes.aspx</guid>
            <pubDate>Mon, 02 Jan 2012 20:13:28 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/lbugnion/comments/148217.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/lbugnion/archive/2012/01/02/new-mvvm-light-templates-with-bug-fixes.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/lbugnion/comments/commentRss/148217.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/lbugnion/services/trackbacks/148217.aspx</trackback:ping>
        </item>
        <item>
            <title>MVVM Light installers and Nuget (including Silverlight 5) #mvvmlight</title>
            <link>http://geekswithblogs.net/lbugnion/archive/2011/12/18/mvvm-light-installers-and-nuget-including-silverlight-5-mvvmlight.aspx</link>
            <description>&lt;p&gt;I just pushed two big updates to MVVM Light setup components.&lt;/p&gt;  &lt;h2&gt;MSI installers with Silverlight 5 support&lt;/h2&gt;  &lt;p&gt;The MSI installers are available on Codeplex. The current version supports Silverlight 3, Silverlight 4, &lt;strong&gt;Silverlight 5 (new)&lt;/strong&gt;, WPF 3.5 SP1, WPF 4, Windows Phone 7.0 and Windows Phone 7.1. The &lt;a href="http://mvvmlight.codeplex.com/releases/view/71278"&gt;installer for V3&lt;/a&gt; is available, as well &lt;a href="http://mvvmlight.codeplex.com/releases/view/73208"&gt;as the one for V4 beta&lt;/a&gt;.&lt;/p&gt;  &lt;h2&gt;NuGet support including Silverlight 5&lt;/h2&gt;  &lt;p&gt;I also pushed a new version of the NuGet packages which includes Silverlight 5. To install MVVM Light into an existing application with the help of the NuGet package manager in Visual Studio, &lt;a href="http://www.galasoft.ch/mvvm/installing/nuget"&gt;check the instructions&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;If you look for “mvvmlight” on NuGet, you will find four packages:&lt;/p&gt; &lt;a title="" href="http://www.flickr.com/photos/36917929@N06/6532927729"&gt;&lt;img src="http://farm8.staticflickr.com/7149/6532927729_d66b49a854.jpg" width="500" height="333" /&gt;&lt;/a&gt;   &lt;ul&gt;   &lt;li&gt;MVVM Light: The whole package, libraries + ViewModelLocator + MainViewModel. Installing this also modifies App.xaml to install the ViewModelLocator. This package is for V3 of MVVM Light! &lt;/li&gt;    &lt;li&gt;MVVM Light libraries only: Installs only the DLLs and references them. This package is for V3 of MVVM Light! &lt;/li&gt;    &lt;li&gt;MVVM Light [Preview]: This is the whole package too, but for V4 beta. &lt;/li&gt;    &lt;li&gt;MVVM Light libraries only [Preview]: Just the DLLs, for V4 beta. &lt;/li&gt; &lt;/ul&gt;  &lt;h2&gt;Update on V4’s availability&lt;/h2&gt;  &lt;p&gt;One of the most annoying issues in V3 is a memory leak that can appear in the Messenger component in certain circumstances. I will post details in due time, but there is indeed a risk that an instance is not garbage collected if it is registered with the Messenger with a non-static method, and if the developer omits to unregister the instance before deleting it.&lt;/p&gt;  &lt;p&gt;Because of the promise of a “weak” registration, I really want to solve this issue. Currently, I am able to completely solve it in WPF, and to solve it in most cases in Silverlight (including Windows Phone). There is still one special case in Silverlight where a memory leak may remain, and I am currently working on handling this. I am not sure that there is a solution for this last scenario, but there are other alternatives that it is not a blocking issue anymore.&lt;/p&gt;  &lt;p&gt;Once this fix is fully tested, I still have a few things I would like to add in V4. However I am also aware that we have been in beta (and alpha) for quite some time already, and it is very possible that I procrastinate some of these features into V5.&lt;/p&gt;  &lt;p&gt;Happy coding!    &lt;br /&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; margin-top: 7px; border-left-style: none; width: 450px; border-top-style: none; margin-bottom: -20px; height: 23px; border-right-style: none; overflow: hidden" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.galasoft.ch/archive/2011/12/18/mvvm-light-installers-and-nuget-including-silverlight-5-mvvmlight.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;img src="http://geekswithblogs.net/lbugnion/aggbug/148076.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Laurent Bugnion</dc:creator>
            <guid>http://geekswithblogs.net/lbugnion/archive/2011/12/18/mvvm-light-installers-and-nuget-including-silverlight-5-mvvmlight.aspx</guid>
            <pubDate>Sun, 18 Dec 2011 21:10:12 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/lbugnion/comments/148076.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/lbugnion/archive/2011/12/18/mvvm-light-installers-and-nuget-including-silverlight-5-mvvmlight.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/lbugnion/comments/commentRss/148076.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/lbugnion/services/trackbacks/148076.aspx</trackback:ping>
        </item>
        <item>
            <title>Quick tip: Select the correct INotifyPropertyChanged in Windows 8 / WinRT</title>
            <link>http://geekswithblogs.net/lbugnion/archive/2011/09/25/quick-tip-select-the-correct-inotifypropertychanged-in-windows-8.aspx</link>
            <description>&lt;p&gt;Microsoft loves MVVM and INotifyPropertyChanged so much that they included this very useful interface twice in the new WinRT framework. Unfortunately, only one of these is working correctly (and the other one is likely a bug, remnant from the past &lt;img class="wlEmoticon wlEmoticon-winkingsmile" style="border-top-style: none; border-bottom-style: none; border-right-style: none; border-left-style: none" alt="Winking smile" src="http://geekswithblogs.net/images/geekswithblogs_net/lbugnion/Windows-Live-Writer/Quick-tip-Select-the-correct-INotifyProp_1400B/wlEmoticon-winkingsmile_2.png" /&gt;)&lt;/p&gt;  &lt;p&gt;When implementing INotifyPropertyChanged, make sure that you select the correct one! The one you want to use is into &lt;strong&gt;Windows.UI.Xaml.Data&lt;/strong&gt;. The old one, the one you DON’T WANT is into System.ComponentModel (the same namespace it was in WPF and Silverlight). If you select the wrong one, the Bindings will not be updated and the UI will remain dead as a dead fish. &lt;/p&gt;  &lt;p&gt;&lt;img src="http://farm7.static.flickr.com/6173/6182240057_d008054937_o_d.png" /&gt;&lt;/p&gt;  &lt;p&gt;I mentioned before that Microsoft took the “once in a lifetime” opportunity (well, 5-10 years is a lifetime in the world of computers) to clean up and rearrange classes within the framework. This is one of the signs right here. As for the System.ComponentModel.INotifyPropertyChanged, I guess it will be removed in a later release of the WinRT framework.&lt;/p&gt;  &lt;div class="frame"&gt;&lt;strong&gt;Update&lt;/strong&gt;: Indeed I was just told by the excellent and always vigilant Tim Heuer &lt;a href="https://twitter.com/#!/timheuer/status/118075660366385152"&gt;that this bug has already been fixed&lt;/a&gt;. I guess we will see the fix in the next release to developers of Windows 8.&lt;/div&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; left: 130px; top: -36px"&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-top-style: none; margin-bottom: -20px; height: 23px; width: 450px; border-bottom-style: none; overflow: hidden; border-right-style: none; border-left-style: none; margin-top: 7px" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.galasoft.ch/archive/2011/09/25/quick-tip-select-the-correct-inotifypropertychanged-in-windows-8.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;img src="http://geekswithblogs.net/lbugnion/aggbug/147038.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Laurent Bugnion</dc:creator>
            <guid>http://geekswithblogs.net/lbugnion/archive/2011/09/25/quick-tip-select-the-correct-inotifypropertychanged-in-windows-8.aspx</guid>
            <pubDate>Sun, 25 Sep 2011 20:47:24 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/lbugnion/comments/147038.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/lbugnion/archive/2011/09/25/quick-tip-select-the-correct-inotifypropertychanged-in-windows-8.aspx#feedback</comments>
            <slash:comments>9</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/lbugnion/comments/commentRss/147038.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/lbugnion/services/trackbacks/147038.aspx</trackback:ping>
        </item>
        <item>
            <title>My thoughts about Build, Windows 8, WinRT, XAML and Silverlight</title>
            <link>http://geekswithblogs.net/lbugnion/archive/2011/09/17/my-thoughts-about-build-windows-8-winrt-xaml-and-silverlight.aspx</link>
            <description>&lt;p&gt;Last week, Microsoft held their long awaited &lt;a href="http://www.buildwindows.com/"&gt;Build Windows&lt;/a&gt; (or simply "Build") conference in Anaheim CA. About 5000 people packed the convention center to discover the latest version of the Windows operation system: Windows 8.&lt;/p&gt;  &lt;p&gt;This is a very major iteration (much more than the Windows Vista –&amp;gt; Windows 7 transition) (and also, it is an early preview so it is quite unfinished ;) As such, we will definitely need a bit more time to play with it before we can express a truly informed opinion. Of course that didn't stop tech journalists and dumbasses all over the world to (again) express complex thoughts such as "Microsoft is abandoning Flash/Silverlight in Windows 8" or to ride again the "Silverlight is dead" roller coaster.&lt;/p&gt;  &lt;div class="frame"&gt;&lt;strong&gt;Side note:&lt;/strong&gt; Did I just call you a dumbass? Well if you are on this blog, reading, the answer is most probably NO. I want to be very clear: This comment was not targeted at Scott Barnes either (though, why would he think it was? mmm food for thoughts there) ;) The dumbasses are the haters, the people who keep taking any occasion to spread FUD because they do not know it, understand it, or simply because it has the name Microsoft on it. So no, I did not call YOU a dumbass. Apologies for not making that super clear from the start. After all, you read my blog, that makes you my best friend (or something ;)&lt;/div&gt;  &lt;p&gt; &lt;/p&gt; &lt;iframe height="315" src="http://www.youtube.com/embed/EyEEP2mKogg" frameborder="0" width="420" allowfullscreen="allowfullscreen"&gt;&lt;/iframe&gt;  &lt;p&gt;Of course, as usual (it is starting to get annoying, right?), these opinions are far from the truth and attempt to put a negative spin on everything Microsoft does. I won't even speculate why that is, but based on track records, it is safe to say that this kind of prediction is not very accurate or rational (remember when we were told that we would not be able to use anything else than HTML to build Windows 8 apps? Yeah those were the days ;)&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;So what is the reality now? Here is what we know:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;(disclaimer: this is based on what I understand after many discussions with experts. However, I am not a Windows 8 expert, I just played with it for 5 days now. If anything here is incorrect, it is my own fault and not the experts')&lt;/em&gt;&lt;/p&gt;  &lt;h2&gt;Desktop vs Metro style&lt;/h2&gt;  &lt;ul&gt;   &lt;li&gt;Windows 8 has two modes, one named "Desktop" and one named "Metro style". These names are temporary and may very well change before release. The "Metro style" applications are also referred to as "immersive apps". &lt;/li&gt;    &lt;li&gt;Silverlight and WPF will continue to run as is on Windows 8 in Desktop mode. You can think of the Desktop mode as Windows 7++, an improved version especially optimized for touch operation. Honestly using the Desktop mode with the fingers is an amazing pleasure now, while it was a pain in Windows 7. &lt;/li&gt;    &lt;li&gt;All applications (as far as I tested) that run in Windows 7 also run on Windows 8 Desktop mode. I installed Silverlight and Flash already on mine, OneNote, Live Writer, Live Messenger, Skype and more. No issues at all so far (apart from an occasional instability because "it's an early preview" (TM)). &lt;/li&gt;    &lt;li&gt;Metro style applications (aka "immersive apps") are a &lt;strong&gt;new class of apps altogether&lt;/strong&gt;. They are in fact &lt;strong&gt;much more similar to a Windows Phone 7 app&lt;/strong&gt; than to a classic Windows application. They are optimized for Touch and can also be &lt;a href="http://www.winrumors.com/windows-8-tips-and-tricks-for-mousekeyboard-users/"&gt;actuated with keyboard and mouse&lt;/a&gt;, though the experience is better with the fingers. &lt;/li&gt;    &lt;li&gt;Metro style apps are sandboxed for security. Again, this is very similar to the Windows Phone 7 model. &lt;/li&gt;    &lt;li&gt;Metro style apps can be developed with 3 possible stacks: &lt;strong&gt;XAML/C++, XAML/C# or HTML/CSS/JavaScript&lt;/strong&gt;. They rely on a set of API named "WinRT" which is exposed in a very consistent manner for the three stacks. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;This last point is important. It means that there is no reason to choose one or the other stack based on WinRT features that you want to address. Because of the chosen architecture, the features will automatically be available to the three stacks. In some cases however, some features will be hidden on purpose from one stack or the other, because they might simply not make sense.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;The Windows 8 programming model: The blue side is largely unchanged (.NET 4.5, Silverlight 5, Win 32) and everything runs as usual. The green side is new (see the next section).&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;img src="http://farm7.static.flickr.com/6087/6156547594_deac345781_o_d.png" /&gt;&lt;/p&gt;  &lt;h1&gt;Programming stacks for WinRT&lt;/h1&gt;  &lt;ul&gt;   &lt;li&gt;Amongst the three stacks, there will be some differences due to the languages. For instance, JavaScript and C# don't address asynchronous programming in a similar manner (by the way Windows 8 is sporting C# 5, so you have the great &lt;a href="http://blogs.msdn.com/b/ericlippert/archive/2010/10/28/asynchrony-in-c-5-part-one.aspx"&gt;"await" and "async"&lt;/a&gt; keywords that are making asynchronous programming much more similar to synchronous coding). Similarly, JavaScript is more dynamic than C#, but C# is easier to code and to debug, etc. &lt;/li&gt;    &lt;li&gt;All three stacks talk to unmanaged code (the WinRT libraries). For C++, this is a direct unmanaged call. For C# and JavaScript, there is a thin managed layer to "map" the calls into WinRT. However, the managed layer is much thinner than before. It is simply because most of the previous .NET libraries are now WinRT libraries, and these are unmanaged. &lt;/li&gt;    &lt;li&gt;For the C# developer however, you will not notice that the WInRT are unmanaged (except in some rare occasions) because the API is managed. &lt;/li&gt;    &lt;li&gt;This means that the performance gain in C++ is not going to be as significant as versus "classic .NET". There will be however a small performance gain in using XAML/C++. &lt;/li&gt; &lt;/ul&gt;  &lt;h2&gt;Portability of Metro style apps&lt;/h2&gt;  &lt;ul&gt;   &lt;li&gt;HTML/CSS/JavaScript applications coded for WinRT are not cross platform. They are something new. They use WinRT specific APIs, both in HTML/CSS (for instance the new Grid layout, which is not supported by other browsers at this time), or of course any calls against the WinRT APIs. &lt;strong&gt;This is NOT web programming&lt;/strong&gt;. This is a standalone Windows 8 app that happens to be coded in a programming language that can also be used on the web. Two very different beasts, though of course knowledge and skills can be leveraged. &lt;/li&gt;    &lt;li&gt;XAML/C# apps are not Silverlight or WPF. They are something new. They use WinRT specific APIs (sounds familiar?). Mostly, these APIs were already available in Silverlight, however there was a rather large "spring cleaning" operation, and a lot of APIs were moved in different namespaces, and sometimes renamed. A good example of this is the System.Threading.Dispatcher class which is now a &lt;a href="http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.core.coredispatcher(v=VS.85).aspx"&gt;Windows.UI.Core.CoreDispatcher&lt;/a&gt;. The original dispatcher's CheckAccess() method is now a property named &lt;a href="http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.core.coredispatcher.hasthreadaccess(v=VS.85).aspx"&gt;HasThreadAccess&lt;/a&gt;. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;In both these points, notice how similar the experience is for the developer: Much is familiar, some things are new (most significantly new/renamed APIs), skills are portable but there is a learning curve.&lt;/p&gt;  &lt;h2&gt;How to choose?&lt;/h2&gt;  &lt;p&gt;In Jason Zander's (and others') own words, to choose the stack of choice to create a new Metro style app, you should consider the skills you have. If you are a web programmer with a solid experience in JavaScript, it's obvious that you want to leverage your knowledge of the language. You will have a learning curve though, to learn the new proprietary APIs. If on the other hand you are a Silverlight/WPF developer, or even a .NET developer with no prior XAML experience, it will be easier and more faster for you to climb on the C#/XAML stack. Finally, if you are a C++ enthusiast, the C++/XAML stack is for you. And if like me you love to learn new things, then you can try one or both of the other stacks to build new apps.&lt;/p&gt;  &lt;p&gt;Because of the Win8 architecture, any new feature added to WinRT will (almost) automatically be available to all three programming stacks (in fact it requires a little bit of work to decide what should be exposed or not, because some APIs just don't make sense with a given programming language, but in regards to the investment needed to implement the feature, this is not significant.&lt;/p&gt;  &lt;h1&gt;What about existing applications?&lt;/h1&gt;  &lt;p&gt;It means that your (our) investments in any technology you were using until now are safe for a number of years. You had a Silverlight application, or are currently working on one? You should continue. WPF? Same thing. Not only these frameworks are fully supported and extended (&lt;a href="http://www.silverlight.net/learn/overview/what's-new-in-silverlight-5"&gt;Silverlight 5 release candidate&lt;/a&gt; was announced a few days before Build started), but they also work as is, without any changes on Windows 8.&lt;/p&gt;  &lt;h3&gt;And C#?&lt;/h3&gt;  &lt;p&gt;I had the immense privilege to be invited to a side session with Anders Heljsberg, the father of C#. It was a great session, and you can feel Anders' happiness and enthusiasm. WinRT currently supports C#5, including all the new features such as the &lt;a href="http://blogs.msdn.com/b/ericlippert/archive/2010/10/28/asynchrony-in-c-5-part-one.aspx"&gt;async and await&lt;/a&gt; keywords, and more. When asked if he was thinking of a version 6, Anders laughed and told us that he had a history of being quite stable at his job (13 years at Borland, 10+ years at Microsoft) and that he was foreseeing C# 6, 7, 8. C# is actively developed, and Anders is an accessible architect, who will listen to requests for new features. Changing a language is obviously not a fast process (nor should it be!) but his team is working on exciting stuff, and we are his customers!&lt;/p&gt;  &lt;h2&gt;Thoughts about porting applications from Silverlight/WPF to WinRT&lt;/h2&gt;  &lt;p&gt;This one is a tough one, mostly because I did not have time to experiment enough. If you have an existing application implemented in Silverlight or WPF, and you want to make it a WinRT application, how should you proceed, and is that easy?&lt;/p&gt;  &lt;p&gt;Based  on what I saw and what others reported, it is not a trivial process, even if in most cases the major work is to find out what was renamed and what was moved (see the “spring cleaning” mention above). If you want/have to do that work, I would consider the following:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Why do you want to do this? Do you really want to make your existing application (which by the way runs perfectly fine on the Windows 8 Desktop) a WinRT app? Who are you trying to touch. Shouldn’t you rather be developing a new app, &lt;strong&gt;something like a companion to the existing application&lt;/strong&gt;? &lt;/li&gt;    &lt;li&gt;If you answer “yes” to the “do you really want to” question, then I really hope that you followed best practices and layered and componentized your application carefully (I also hope you wrote unit tests, because you’re going to need those to verify that the ported code runs fine). &lt;/li&gt;    &lt;li&gt;Porting the code will take some effort. Do not underestimate the effort. I tend to believe that Microsoft was (purposely?) over-optimistic in telling us that this is an easy process. At least now that the documentation is in a very early stage, looking for the renamed objects is a tedious process. &lt;/li&gt;    &lt;li&gt;By the way, I started porting &lt;a href="http://galasoft.ch/mvvm/"&gt;MVVM Light&lt;/a&gt; to WinRT and I hope that (if my compulsion to blog about Windows 8 lets me) I might have something to share soon. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;em&gt;Tip: I was told (and didn’t test yet) that &lt;a href="http://msdn.microsoft.com/en-us/library/f7dy01k1(VS.80).aspx"&gt;ILDASM can decompile&lt;/a&gt; the WinRT assemblies and let you peek for your objects/methods/properties. This is because even though the WinRT framework is unmanaged, a thin layer of meta data is built in to allow managed code access. Pretty clever (and handy) if you ask me. I (again) didn’t try but I suspect that &lt;a href="http://www.jetbrains.com/decompiler/"&gt;dotPeek&lt;/a&gt; and other similar tools may work too. Let me know in the comments if you try it!&lt;/em&gt;&lt;/p&gt;  &lt;h2&gt;Wrapping up&lt;/h2&gt;  &lt;p&gt;There are a few not-very-well organized thoughts on Windows 8, WinRT, XAML and more, put together after 5 days of immersion and tons of discussions with Microsoft employees as well as third party experts. I hope you'll forgive me if it sounds a bit chaotic, it is simply that a new framework of that amplitude will need a few weeks (months?) to be fully assimilated and digested. I hope that this helps painting a clearer picture however.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://farm7.static.flickr.com/6204/6156003697_0a96a79737_o_d.jpg" width="250" height="256" /&gt;&lt;/p&gt;  &lt;p&gt;If there is one thing only you should take from this post, it is the following: Don't panic. Yes we will have some work to fully climb on this new exciting platform. But much MUCH of what we know is going to apply almost 1:1 to the new stack. Also, Microsoft is really investing in user experience, Blend, XAML, C# and all that. If there is only one session of Build that you must see, it is Jensen Harris fantastic &lt;a href="http://channel9.msdn.com/events/BUILD/BUILD2011/BPS-1004"&gt;Big Picture session about the Windows 8 UX&lt;/a&gt;.&lt;/p&gt; &lt;iframe style="height: 544px; width: 960px" src="http://channel9.msdn.com/Events/BUILD/BUILD2011/BPS-1004/player?w=960&amp;amp;h=544" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;  &lt;p&gt;I for one am pretty excited about Windows 8 and WinRT. First it confirms what I have been thinking since I started playing with the Avalon bits: XAML is a great way to build a wonderful user experience, Blend is central to that experience and C# is awesome. I am also excited to see new ways to develop applications for WinRT, because diversity is good. The Samsung slate is an awesome device, and there was a great sense of excitement in Anaheim this week. Of course I am known for being an optimistic, but I don’t think it’s just me feeling that excitement. Windows 8 is going to be pretty awesome.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;font size="1"&gt;Credit for “Don’t panic” button: &lt;a title="http://www.flickr.com/photos/brighton/2153602543/" href="http://www.flickr.com/photos/brighton/2153602543/s"&gt;http://www.flickr.com/photos/brighton/2153602543/s&lt;/a&gt;&lt;/font&gt;&lt;/em&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; left: 130px; top: -36px"&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-top-style: none; margin-bottom: -20px; height: 23px; width: 450px; border-bottom-style: none; overflow: hidden; border-right-style: none; border-left-style: none; margin-top: 7px" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.galasoft.ch/archive/2011/09/17/my-thoughts-about-build-windows-8-winrt-xaml-and-silverlight.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;img src="http://geekswithblogs.net/lbugnion/aggbug/146924.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Laurent Bugnion</dc:creator>
            <guid>http://geekswithblogs.net/lbugnion/archive/2011/09/17/my-thoughts-about-build-windows-8-winrt-xaml-and-silverlight.aspx</guid>
            <pubDate>Sat, 17 Sep 2011 19:32:12 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/lbugnion/comments/146924.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/lbugnion/archive/2011/09/17/my-thoughts-about-build-windows-8-winrt-xaml-and-silverlight.aspx#feedback</comments>
            <slash:comments>53</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/lbugnion/comments/commentRss/146924.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/lbugnion/services/trackbacks/146924.aspx</trackback:ping>
        </item>
        <item>
            <title>MVVM Light V4 beta1</title>
            <link>http://geekswithblogs.net/lbugnion/archive/2011/09/12/mvvm-light-v4-beta1.aspx</link>
            <description>&lt;p&gt;This morning, I published MVVM Light V4 beta1 in the form of an MSI. The installation instructions are detailed on the &lt;a href="http://www.galasoft.ch/mvvm/installing/"&gt;MVVM Light installation page&lt;/a&gt;. Please make sure to &lt;a href="http://www.galasoft.ch/mvvm/cleaning/"&gt;uninstall previous versions&lt;/a&gt; before you install V4 beta1.&lt;/p&gt;  &lt;p&gt;There are &lt;a href="http://www.galasoft.ch/mvvm/installing/changes/"&gt;quite a few changes in this version&lt;/a&gt;, and I plan to blog about various features in the coming days. As usual, stay tuned!&lt;/p&gt;  &lt;h2&gt;Change log&lt;/h2&gt;  &lt;h3&gt;General changes&lt;/h3&gt;  &lt;ul class="squarelist"&gt;   &lt;li&gt;Added &lt;a href="#XmlnsDefinitionAttribute"&gt;XmlnsDefinitionAttribute for GalaSoft.MvvmLight.Command&lt;/a&gt; in Extras assembly. &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;Setup&lt;/h3&gt;  &lt;ul class="squarelist"&gt;   &lt;li&gt;&lt;a href="http://www.galasoft.ch/mvvm/installing"&gt;Created an installer&lt;/a&gt;. &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;Messenger&lt;/h3&gt;  &lt;ul class="squarelist"&gt;   &lt;li&gt;Fixed &lt;a href="http://mvvmlight.codeplex.com/workitem/7521"&gt;Issue #7521&lt;/a&gt;: race condition in Messenger.Default. &lt;/li&gt;    &lt;li&gt;Fixed &lt;a href="http://mvvmlight.codeplex.com/workitem/7539"&gt;Issue #7539&lt;/a&gt;: Messenger support for uncast objects. &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;ViewModelBase&lt;/h3&gt;  &lt;ul class="squarelist"&gt;   &lt;li&gt;Added support for RaisePropertyChanged(null) and RaisePropertyChanged(string.empty). A blog post about this will follow. &lt;/li&gt;    &lt;li&gt;Fixed &lt;a href="http://mvvmlight.codeplex.com/workitem/7520"&gt;Issue #7520&lt;/a&gt;: RaisePropertyChanged() fails in ReleaseBuild. This overload was removed because of the many issues, and replaced by the Set methods. &lt;/li&gt;    &lt;li&gt;Added Set(...) methods. A blog post about this will follow. &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;RelayCommand&lt;/h3&gt;  &lt;ul class="squarelist"&gt;   &lt;li&gt;Fixed &lt;a href="http://mvvmlight.codeplex.com/workitem/7522"&gt;Issue #7522&lt;/a&gt;: used deprecated Predicate instead of Func. &lt;/li&gt;    &lt;li&gt;Fixed &lt;a href="http://mvvmlight.codeplex.com/workitem/7534"&gt;Issue #7534&lt;/a&gt;: RelayCommand has security issue. &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;SimpleIoc&lt;/h3&gt;  &lt;ul class="squarelist"&gt;   &lt;li&gt;Implemented method IsRegistered&amp;lt;T&amp;gt;(). A blog post about this will follow. &lt;/li&gt;    &lt;li&gt;Fixed issue "Contains&amp;lt;T&amp;gt;() is returning true even if no instance was already instantiated". Contains&amp;lt;T&amp;gt;() only returns true if an instance is already created. IsRegistered&amp;lt;T&amp;gt;() returns true if the class has been registered with the IOC container. &lt;/li&gt;    &lt;li&gt;Fixed issue "Instances get created at registration already when registered with a key and a factory". Registering the instance does not execute the factory method yet. The method is only executed when the method GetInstance is called the first time. &lt;/li&gt;    &lt;li&gt;Fixed issue "Use the correct DLLs for CommonServiceLocator". The original DLLs from &lt;a href="http://commonservicelocator.codeplex.com"&gt;http://commonservicelocator.codeplex.com&lt;/a&gt; are now used everywhere. &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;DispatcherHelper&lt;/h3&gt;  &lt;ul class="squarelist"&gt;   &lt;li&gt;The class was moved from GalaSoft.MvvmLight.Extras.dll into GalaSoft.MvvmLight.dll. &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;Project Templates&lt;/h3&gt;  &lt;ul class="squarelist"&gt;   &lt;li&gt;A couple of internal changes to the template's structure. &lt;/li&gt;    &lt;li&gt;Using the new slightly modified MVVM Light logo. &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;ViewModelLocator Template&lt;/h3&gt;  &lt;ul class="squarelist"&gt;   &lt;li&gt;Modified template to use SimpleIoc. &lt;/li&gt;    &lt;li&gt;A couple of internal changes to the template's structure. &lt;/li&gt;    &lt;li&gt;Using the new slightly modified MVVM Light logo. &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;ViewModel Template&lt;/h3&gt;  &lt;ul class="squarelist"&gt;   &lt;li&gt;A couple of internal changes to the template's structure. &lt;/li&gt;    &lt;li&gt;Using the new slightly modified MVVM Light logo. &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;View Template&lt;/h3&gt;  &lt;ul class="squarelist"&gt;   &lt;li&gt;Fixed issue in XAML for WP7 and WP7.1 templates. &lt;/li&gt;    &lt;li&gt;A couple of internal changes to the template's structure. &lt;/li&gt;    &lt;li&gt;Using the new slightly modified MVVM Light logo. &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;INPC snippet&lt;/h3&gt;  &lt;ul class="squarelist"&gt;   &lt;li&gt;Setter in property is now public. &lt;/li&gt;    &lt;li&gt;Added $end$ marker. &lt;/li&gt;    &lt;li&gt;Added new snippets with various ways to call RaisePropertyChanged. &lt;/li&gt;    &lt;li&gt;Added a snippet using the new ViewModelBase.Set() method. &lt;/li&gt;    &lt;li&gt;A blog post will follow about all this. &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;ViewModelLocator property snippet&lt;/h3&gt;  &lt;ul class="squarelist"&gt;   &lt;li&gt;Added $end$ marker. &lt;/li&gt;    &lt;li&gt;Modified to use SimpleIoc. &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;Relay Command snippets&lt;/h3&gt;  &lt;ul class="squarelist"&gt;   &lt;li&gt;Added code snippets for RelayCommands. A blog post about this will follow. &lt;/li&gt; &lt;/ul&gt;  &lt;h2&gt;Details&lt;/h2&gt;  &lt;h3&gt;&lt;a id="XmlnsDefinitionAttribute"&gt;&lt;/a&gt;XmlnsDefinitionAttribute for GalaSoft.MvvmLight.Command in Extras assembly&lt;/h3&gt;  &lt;p&gt;Thanks to the addition of XmlnsDefinitionAttribute, you can simplify the inclusion of the MVVM Light EventToCommand action in XAML. See the before and after below:&lt;/p&gt;  &lt;pre class="xml" name="code"&gt;Before:

&amp;lt;UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" 
             
             xmlns:cmd="clr-namespace:GalaSoft.MvvmLight.Command;assembly=GalaSoft.MvvmLight.Extras.SL4"
             
             xmlns:cmd="http://www.galasoft.ch/mvvmlight" 
             x:Class="MvvmLight4.MainPage"&amp;gt;

After:

&amp;lt;UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" 
             xmlns:cmd="http://www.galasoft.ch/mvvmlight" 
             x:Class="MvvmLight4.MainPage"&amp;gt;&lt;/pre&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; margin-top: 7px; border-left-style: none; width: 450px; border-top-style: none; margin-bottom: -20px; height: 23px; border-right-style: none; overflow: hidden" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.galasoft.ch/archive/2011/09/12/mvvm-light-v4-beta1.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;img src="http://geekswithblogs.net/lbugnion/aggbug/146840.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Laurent Bugnion</dc:creator>
            <guid>http://geekswithblogs.net/lbugnion/archive/2011/09/12/mvvm-light-v4-beta1.aspx</guid>
            <pubDate>Mon, 12 Sep 2011 16:00:20 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/lbugnion/comments/146840.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/lbugnion/archive/2011/09/12/mvvm-light-v4-beta1.aspx#feedback</comments>
            <slash:comments>7</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/lbugnion/comments/commentRss/146840.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/lbugnion/services/trackbacks/146840.aspx</trackback:ping>
        </item>
        <item>
            <title>MVVM light V3 installer for non-English systems</title>
            <link>http://geekswithblogs.net/lbugnion/archive/2011/09/01/mvvm-light-v3-installer-for-non-english-systems.aspx</link>
            <description>&lt;p&gt;After &lt;a href="http://www.galasoft.ch/mvvm/installing/index.html"&gt;I released the MVVM Light installer&lt;/a&gt;, I got a note saying that parts of the installation failed on non-English systems (in that case a German installation of Expression Blend and Visual Studio). Specifically, what failed was the code snippets on Visual Studio, and the project and item templates in Expression Blend.&lt;/p&gt;  &lt;p&gt;After investigating, it is correct that these two particular features of MVVM Light were installed to language-coded folders. Correcting the issue for Expression Blend was easy enough (Blend can also find project and item templates in the My Documents folder, under Expression\Blend 4\ItemTemplates and Expression\Blend 4\ProjectTemplates, which are language independent).&lt;/p&gt;  &lt;p&gt;Unfortunately it was not that easy for code snippets, so eventually I had to resort to a few custom actions in the installer. How annoying that we cannot install code snippets to a language-neutral folder!!&lt;/p&gt;  &lt;p&gt;Anyway, after a lot of efforts and even more testing, &lt;a href="http://www.galasoft.ch/mvvm/installing/index.html"&gt;I published a new version which corrects the previous issues&lt;/a&gt;. So now I can happily resume my efforts on V4 beta 1 which is nearing completion, and which will also come with a neat installer &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://geekswithblogs.net/images/geekswithblogs_net/lbugnion/Windows-Live-Writer/MVVM-light-V3-installer-for-non-English-_12C83/wlEmoticon-smile_2.png" /&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; margin-top: 7px; border-left-style: none; width: 450px; border-top-style: none; margin-bottom: -20px; height: 23px; border-right-style: none; overflow: hidden" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.galasoft.ch/archive/2011/09/01/mvvm-light-v3-installer-for-non-english-systems.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;img src="http://geekswithblogs.net/lbugnion/aggbug/146738.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Laurent Bugnion</dc:creator>
            <guid>http://geekswithblogs.net/lbugnion/archive/2011/09/01/mvvm-light-v3-installer-for-non-english-systems.aspx</guid>
            <pubDate>Thu, 01 Sep 2011 20:28:01 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/lbugnion/comments/146738.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/lbugnion/archive/2011/09/01/mvvm-light-v3-installer-for-non-english-systems.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/lbugnion/comments/commentRss/146738.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/lbugnion/services/trackbacks/146738.aspx</trackback:ping>
        </item>
        <item>
            <title>Automated installer for MVVM Light V3!</title>
            <link>http://geekswithblogs.net/lbugnion/archive/2011/08/07/automated-installer-for-mvvm-light-v3.aspx</link>
            <description>&lt;p&gt;For a very (too) long time, the installation procedure for MVVM Light sucked. It involved downloading and unzipping files in various locations. Unfortunately, creating an automated installer is not completely trivial because of the variety of files that are getting installed: Binaries, Code Snippets, Project and Item Templates, all require different locations, and all that for VS2008, VS2010, Blend 4 and Silverlight 3, Silverlight 4, WPF3.5 SP1, WPF4, WP7.0 and now WP7.1 “Mango”.&lt;/p&gt;  &lt;p&gt;Thankfully, MVVM Light is taking advantage of a great community. First, &lt;a href="http://twitter.com/leonzandman"&gt;Leon Zandman&lt;/a&gt; initiated the project of an MSI for MVVM Light. Unfortunately, Leon was not able to complete this initiative, but &lt;a href="http://sharpgis.net/"&gt;the very helpful and capable Morten Nielsen&lt;/a&gt; created the installer in Wix. This gave me the occasion to learn Wix (I had only created setups with the Visual Studio setup project so far), and to tweak the installer. I am really grateful to Morten for his time!&lt;/p&gt;  &lt;p&gt;Yesterday, I &lt;a href="http://www.galasoft.ch/mvvm/installing/"&gt;published the automated installer for MVVM Light V3&lt;/a&gt;. This installer contains binaries, project and item template as well as code snippets for Silverlight 3, Silverlight 4, WPF3.5SP1, WPF4, Windows Phone 7.0 and Windows Phone 7.5 “Mango”. It allows you to develop in Visual Studio 2008, Visual Studio 2010, Expression Blend 4 and/or Visual Studio Express for Windows Phone.&lt;/p&gt;  &lt;div class="frame"&gt;&lt;strong&gt;Update:&lt;/strong&gt; The previous version has issues on non-English systems. This issue has been corrected now (as of 1st of September 2011).&lt;/div&gt;  &lt;h2&gt;And then?&lt;/h2&gt;  &lt;p&gt;A lot of people asked me when MVVM Light V4 will be published. As I mentioned above, I will release a beta 1 very soon. Beta 1 means that the API should be reasonably stable. I do however have more things I want to fix, so I am also planning a beta 2 before I hit RTM. The goal with beta 2 is to let people test my fixes, just to make sure that I didn’t break anything (yes I do run quite a few unit tests in all available frameworks, but… &lt;a href="http://en.wikipedia.org/wiki/Errare_humanum_est#errare_humanum_est"&gt;errare humanum est&lt;/a&gt;!).&lt;/p&gt;  &lt;p&gt;It is really hard for me to give a precise timeline for those releases, because &lt;a href="http://www.identitymine.com"&gt;of work&lt;/a&gt;, a new house that we are moving to in August, &lt;a href="http://www.flickr.com/photos/lbugnion/5994256381/"&gt;my wonderful family&lt;/a&gt; who also requires some of my time here and there and my greedy Kindle 3 (just finished &lt;a href="http://www.amazon.com/Dance-Dragons-Book-Song-ebook/dp/B004XISI4A/ref=tmm_kin_title_0?ie=UTF8&amp;amp;m=APZETQFSWU1YM"&gt;A Dance with Dragons&lt;/a&gt;, that one was pretty amazing). However roughly put, it looks like this:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;MVVM Light V4 beta 1 before end of August. &lt;/li&gt;    &lt;li&gt;MVVM Light V4 beta 2 not too long after that. &lt;/li&gt;    &lt;li&gt;MVVM Light V4 RTM not too long after that &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://geekswithblogs.net/images/geekswithblogs_net/lbugnion/Windows-Live-Writer/Installing-MVVM-Light_9D5D/wlEmoticon-smile_2.png" /&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;More than ever, I am amazed and delighted at the great feedback I receive from the MVVM Light community. This is not a perfect product, but your continuous constructive feedback keeps me motivated to continue developing and making this toolkit better. Thanks for your fantastic support!&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; margin-top: 7px; border-left-style: none; width: 450px; border-top-style: none; margin-bottom: -20px; height: 23px; border-right-style: none; overflow: hidden" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.galasoft.ch/archive/2011/08/07/automated-installer-for-mvvm-light-v3.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;img src="http://geekswithblogs.net/lbugnion/aggbug/146449.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Laurent Bugnion</dc:creator>
            <guid>http://geekswithblogs.net/lbugnion/archive/2011/08/07/automated-installer-for-mvvm-light-v3.aspx</guid>
            <pubDate>Sat, 06 Aug 2011 23:50:59 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/lbugnion/comments/146449.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/lbugnion/archive/2011/08/07/automated-installer-for-mvvm-light-v3.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/lbugnion/comments/commentRss/146449.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/lbugnion/services/trackbacks/146449.aspx</trackback:ping>
        </item>
        <item>
            <title>Proposing a new RelayCommand snippet for MVVM Light V4</title>
            <link>http://geekswithblogs.net/lbugnion/archive/2011/06/15/proposing-a-new-relaycommand-snippet-for-mvvm-light-v4.aspx</link>
            <description>&lt;p&gt;In MVVM Light V4, I am proposing a new RelayCommand snippet, making it easier to declare and initialize a RelayCommand. I came up with a syntax that allows having the RelayCommand and its initialization in one convenient location.&lt;/p&gt;  &lt;p&gt;I am looking for feedback, so leave your comments below!!&lt;/p&gt;  &lt;h2&gt;RelayCommand&lt;/h2&gt;  &lt;p&gt;This is the code created by the code snippet after expansion, for a simple RelayCommand.&lt;/p&gt;  &lt;pre class="csharp" name="code"&gt;private RelayCommand _testCommand;

/// &amp;lt;summary&amp;gt;
/// Gets the TestCommand.
/// &amp;lt;/summary&amp;gt;
public RelayCommand TestCommand
{
    get
    {
        return _testCommand ?? (_testCommand = new RelayCommand(
            () =&amp;gt;
            {
                // Execute delegate
                throw new NotImplementedException();
            },
            () =&amp;gt;
            {
                // CanExecute delegate
                throw new NotImplementedException();
            }));
    }
}&lt;/pre&gt;

&lt;h2&gt;RelayCommand&amp;lt;T&amp;gt;&lt;/h2&gt;

&lt;p&gt;This is the code created by the code snippet after expansion, for a generic RelayCommand (with parameter).&lt;/p&gt;

&lt;pre class="csharp" name="code"&gt;private RelayCommand&amp;lt;string&amp;gt; _testAgainCommand;

/// &amp;lt;summary&amp;gt;
/// Gets the TestAgainCommand.
/// &amp;lt;/summary&amp;gt;
public RelayCommand&amp;lt;string&amp;gt; TestAgainCommand
{
    get
    {
        return _testAgainCommand ?? (_testAgainCommand = new RelayCommand&amp;lt;string&amp;gt;(
            p =&amp;gt;
            {
                // Execute delegate
                throw new NotImplementedException();
            },
            p =&amp;gt;
            {
                // CanExecute delegate
                throw new NotImplementedException();
            }));
    }
}&lt;/pre&gt;

&lt;h2&gt;Conclusion&lt;/h2&gt;

&lt;p&gt;Do you find this way of creating the RelayCommands convenient? This limits the number of key press to a minimum (the only parameters to enter are the attribute name, the command’s name and (in the case of the generic RelayCommand) the type of the parameter. Looking for feedback before I consolidate this for V4!&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; margin-top: 7px; border-left-style: none; width: 450px; border-top-style: none; margin-bottom: -20px; height: 23px; border-right-style: none; overflow: hidden" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.galasoft.ch/archive/2011/06/15/proposing-a-new-relaycommand-snippet-for-mvvm-light-v4.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;img src="http://geekswithblogs.net/lbugnion/aggbug/145872.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Laurent Bugnion</dc:creator>
            <guid>http://geekswithblogs.net/lbugnion/archive/2011/06/15/proposing-a-new-relaycommand-snippet-for-mvvm-light-v4.aspx</guid>
            <pubDate>Wed, 15 Jun 2011 14:39:30 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/lbugnion/comments/145872.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/lbugnion/archive/2011/06/15/proposing-a-new-relaycommand-snippet-for-mvvm-light-v4.aspx#feedback</comments>
            <slash:comments>23</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/lbugnion/comments/commentRss/145872.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/lbugnion/services/trackbacks/145872.aspx</trackback:ping>
        </item>
        <item>
            <title>Is your application powered by #mvvmlight?</title>
            <link>http://geekswithblogs.net/lbugnion/archive/2011/05/20/is-your-application-powered-by-mvvmlight.aspx</link>
            <description>&lt;p&gt;A couple of days ago I had the wonderful surprise to find &lt;a href="http://content.usatoday.com/communities/labs/post/2011/05/windows-phone-7-app-live/1"&gt;a mention (and a link!) to MVVM Light on USAToday.com&lt;/a&gt;. The article talks about the new USA Today app available for Windows Phone 7. MVVM Light is mentioned as well as JSON.NET just after the high quality of the development tools is mentioned:&lt;/p&gt;  &lt;div style="border-right-width: 2px; background: white; border-top-width: 2px; border-bottom-width: 2px; border-left-width: 2px" class="frame"&gt;&lt;em&gt;&lt;font style="background-color: #ffff00"&gt;&lt;/font&gt;&lt;/em&gt;&lt;em&gt;“That same high bar for tools extends into the community as well. &lt;/em&gt;&lt;a href="http://mvvmlight.codeplex.com/"&gt;&lt;em&gt;MVVM Light&lt;/em&gt;&lt;/a&gt;&lt;em&gt; and JSON.Net were extremely useful moving past mundane tasks and instead getting to the business of building our app.” – &lt;a href="http://content.usatoday.com/topics/reporter/Tim+Carlson"&gt;Tim Carlson&lt;/a&gt;, USA TODAY&lt;/em&gt;&lt;em&gt;&lt;font style="background-color: #ffff00"&gt;&lt;/font&gt;&lt;/em&gt;&lt;/div&gt;  &lt;p&gt;This is of course fantastic, but it made me realize that I did not, until now, keep track of what applications (in Windows Phone 7 but also Silverlight and WPF) use MVVM Light to facilitate the development. &lt;/p&gt;  &lt;h2&gt;An appeal to MVVM Light users&lt;/h2&gt;  &lt;p&gt;In order to correct this, I would love to hear from you. Do you use MVVM Light? Did you publish an application (WP7, Silverlight, WPF) using the bits? If yes, do you mind answering the following optional questions:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;What is the name and homepage of your project? &lt;/li&gt;    &lt;li&gt;What framework is it? (WP7, Silverlight, WPF?) &lt;/li&gt;    &lt;li&gt;Do you allow me to use this info for promotion (on the MVVM Light Toolkit’s page, or in conferences)? (if you prefer me to keep this info confidential, you have my assurance that I will happily comply). &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Feel free to answer in the comments below, or per email to &lt;strong&gt;&lt;a href="mailto:laurent@galasoft.ch"&gt;laurent@galasoft.ch&lt;/a&gt;&lt;/strong&gt;. This is, in advance, very much appreciated!&lt;/p&gt;  &lt;p&gt;Happy coding,    &lt;br /&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; margin-top: 7px; border-left-style: none; width: 450px; border-top-style: none; margin-bottom: -20px; height: 23px; border-right-style: none; overflow: hidden" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.galasoft.ch/archive/2011/05/20/is-your-application-powered-by-mvvmlight.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;img src="http://geekswithblogs.net/lbugnion/aggbug/145460.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Laurent Bugnion</dc:creator>
            <guid>http://geekswithblogs.net/lbugnion/archive/2011/05/20/is-your-application-powered-by-mvvmlight.aspx</guid>
            <pubDate>Fri, 20 May 2011 16:56:31 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/lbugnion/comments/145460.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/lbugnion/archive/2011/05/20/is-your-application-powered-by-mvvmlight.aspx#feedback</comments>
            <slash:comments>21</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/lbugnion/comments/commentRss/145460.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/lbugnion/services/trackbacks/145460.aspx</trackback:ping>
        </item>
    </channel>
</rss>
