Nigel's answer is great. I just added some attached properties to the WinRT XAML Toolkit , which should make it easier if you populate the GridView with the binding of the ItemsSource properties.
For me, the usual way to change GridViewItem properties was to use the GridView.ItemContainerStyle property. Using this method, you will need to specify the IsEnabled property using styles and styles that do not support bindings in WinRT. Using an ItemContainerStyleSelector element may be one way, but this requires a custom class to be defined.
I created the GridViewItemExtensions class with the IsEnabled property, which you can set on any control in your GridView.ItemTemplate as follows:
xmlns:xyzc="using:Xyzzer.WinRT.Controls" xyzc:GridViewItemExtensions.IsEnabled="{Binding IsEnabled}"
The property has the behavior of finding the GridViewItem in its visual ancestor tree and storing the IsEnabled value for the GridViewItemExtensions.IsEnabled value set on its child.
Then, as Nigel said, you still need to extract the template from the GridViewItem and change it so that disabled items do not look out of place.
source share