September 2011 Entries

Breaking change: Raising PropertyChanged with string.Empty in WinRT / Windows 8

In the developer preview of Windows 8, I just noticed a breaking change in the way that data bindings react to the PropertyChanged event.

Read the rest of this entry »

Quick tip: Killing a Metro-style app in Windows 8

Metro-style apps are very similar to Windows Phone apps. They have a similar application model (for example they can be suspended, and when suspended they can be killed by the operating system if memory is needed), so they need to maintain state. Also, and that is the topic of this post, they cannot be ended by the user in a “normal” way, i.e. there is no File / Exit menu and no “X” button in the corner. Once started, the application remains in memory until the following happens: Read the rest of ......

Quick tip: Select the correct INotifyPropertyChanged in Windows 8 / WinRT

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 ) Read the rest of this entry » ......

Detecting design mode in Windows 8/WinRT

One of the very useful features of the MVVM Light toolkit is to help with the creation of design time data, in order to give something to see on the design surface (Expression Blend, Visual Studio designer). This is especially useful when designing list controls such as ListBox, ComboBox, etc. Without design time data, these controls will remain empty, and the designer will not see what he is working on. This can cost a lot of time and cause frustration. Read the rest of this entry » ......

Dealing with types in WinRT

Another quick tip: Most of the interaction with the System.Type class in Windows 8 is now done through the TypeInfo class. An instance of TypeInfo for a give type is retrieved using an extension method called GetTypeInfo(). Note that since this is an extension method, it will not be visible in Intellisense unless you add a reference to System.Reflection in the “using” section: Read the rest of this entry » ......

Running unit tests in Visual Studio 2011 and Windows 8 (WinRT)

This is a quick tip, because it confused me at first. But thanks to the always excellent Tim Heuer and Peter Provost (from the Visual Studio team), here is the answer:

Usual disclaimer: This is for XAML/C#. I am not sure how this works for the other programming stacks.

Read the rest of this entry »

My Windows 8 slate has split personalities–and what Microsoft could do to improve that

I had dinner the other night with my good friend Josh Smith, and of course we started talking about Windows 8. Something he said was pretty much spot on: He said that Windows 8 feels as if it has split personalities. There are the WinRT “Metro-style” apps and there is the “classic” Desktop, which looks and feels like Windows 7++ (optimized for touch, and actually a real delight to use with my fat greasy fingers). Read the rest of this entry » ......

Quick tip: Adding objects in resources.

If you are using MVVM-Light style ViewModel creation (often referred to as “view-first”), you might have noticed that you cannot build if you have an object in the view’s resources. It means that the code below does not compile.

Read the rest of this entry »

What to do if the Bluetooth keyboard stops working? (#Win8 #bldwin Samsung slate)

At times it is quite tough to be on the bleeding edge. I have been using the Samsung slate that Microsoft gave us at the Build conference last week for about 5 days now, and in fact I even left my laptop (a Touchsmart TX2 that I like a lot but that is getting old a bit) at the hotel. One issue I had today is that the Bluetooth keyboard stopped working. I tried removing and reading it from the Devices dialog, but it didn’t work. Read the rest of this entry » ......

So did you notice? (Invisible references in WinRT apps)

Just a quick note: When you create a new WinRT application for XAML/C# in Visual Studio 11, you will notice that the References folder is empty.

Read the rest of this entry »

My thoughts about Build, Windows 8, WinRT, XAML and Silverlight

Last week, Microsoft held their long awaited Build Windows (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.

Read the rest of this entry »

//build conference in Anaheim: Keynote notes #bldwin

As usual when I attend a conference, I like to take quick notes to remember what it was all about and take some time later to analyze it. Since Windows 8 is going to be the next big things, let me share my notes with you!

Read the rest of this entry »

MVVM Light V4 beta1

This morning, I published MVVM Light V4 beta1 in the form of an MSI. The installation instructions are detailed on the MVVM Light installation page. Please make sure to uninstall previous versions before you install V4 beta1. There are quite a few changes in this version, and I plan to blog about various features in the coming days. As usual, stay tuned! Read the rest of this entry » ......

MVVM light V3 installer for non-English systems

After I released the MVVM Light installer, 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. Read the rest of this entry » ......