Are Code Snippet supposed to be available in VS 2013 Ultimate?

Jan 14, 2014 at 7:49 PM
Edited Jan 14, 2014 at 7:52 PM
I added MVVM Light via Nuget to a new Metro app I'm building with VS 2013 Ultimate. I read here that the MVVM Light install adds snippets too? If so, I don't see them when I go to the Snippets Manager. I am not using Resharper or any similar tool that might affect Intellisense.

I'm guessing it's because I did not use the full installer. If I remove the NuGet package now and use the full installer, will I break anything in my app?

UPDATE: It looks like the full installer for the latest version isn't out yet. Please tweet when it is. Not the link on the main page for the manual installer goes to a 404 page:

http://www.galasoft.ch/mvvm/installing/manually/
Coordinator
Jan 14, 2014 at 8:09 PM
Hi,

Please go to the downloads section of this Codeplex site and use the VSIX installer for VS13.

Alternatively you can use the Visual Studio Gallery in VS13 directly (Tools, Extensions and Updates).

cheers
Laurent
Jan 14, 2014 at 8:25 PM
Edited Jan 14, 2014 at 10:33 PM
Hello Laurent,

I tried installing with:

MvvmLight.VS2013.vsix

but when it ran an error dialog popped up saying "This extension is not installable on any currently installed products". I shut down all copies of VS & Blend but I still get the error message.

I took the Tools -> Extensions & Updates route and that worked. I see the snippets now, thank you.

Do you have a link to document that explains how to add the new MVVM Light to an existing project? Currently I'm copying over the package from an Empty MVVM Light project I created for that purpose and merging the repositories.config file. It works fine but I'm wondering if there's an easier way to do this in the future.

Also, is the EventToCommand behavior included in this setup? I checked my project references and I do see GalaSoft.MvvmLight.Extras.Win8k, but I did a full search for EventToCommand in the Object browser and nothing came up. I also don't see it in Blend in the Behaviors list.
Coordinator
Jan 15, 2014 at 1:00 PM
Hi,

I have to admit I don't know why the VSIX installer doesn't work for you. It sounds as if you are doing it right.

If you want, you can do the following: Create an empty Win8 app, and then add the Nuget package mvvmlight. This will add the DLLs you need as well as a ViewModelLocator and a MainViewModel. This is typically what I do to get started.

Regarding your question about EventToCommand, please check this: http://blog.galasoft.ch/posts/2014/01/using-the-eventargsconverter-in-mvvm-light-and-why-is-there-no-eventtocommand-in-the-windows-8-1-version/

Cheers
Laurent
Jan 15, 2014 at 1:35 PM
Hello Laurent,

Right, but for an existing project it's a bit more involved and frankly I don't see what MVVM Light could do about it. It's just a bit of work that requires a human. You also have to copy over all the files auto-created by the new MVVM Light template in the Common, Design, & Model sub-directories to the existing MVVM Light project and adjust the namespace lines. In addition, you have to copy over the needed changes from the new MainViewModel file to the existing one. That's just the way it is sometimes. It only takes about 30 to 45 minutes and it's definitely worth it.

That's a good article about EventToCommand. I created an EventBehaviorTrigger yesterday with Blend to trigger a ViewModel Command that I need to execute when the pageRoot Loaded event fires. Saved me from doing some really ugly, awkward code to make that happen. :)