La visibilidad de enlace al elemento del menú que se puede verificar muestra el error "Al proveedor de servicios le falta el servicio INameResolver" en WPF

Estoy tratando de mostrar / ocultar columnas de un datagrid a través de un menú contextual. Estaba tratando de usar enlaces para esto, con este XAML:

<Grid>
    <DataGrid AutoGenerateColumns="False" Name="dataGrid1">
        <DataGrid.ContextMenu>
            <ContextMenu>
                <MenuItem Header="Show Column 1" IsCheckable="True" 
                    x:Name="showcol1" IsChecked="True" />
                <MenuItem Header="Show Column 2" IsCheckable="True"
                    x:Name="showcol2" IsChecked="False" />
            </ContextMenu>
        </DataGrid.ContextMenu>
        <DataGrid.Columns>
            <DataGridTextColumn Header="Col 0" />
            <DataGridTextColumn Header="Col 1" 
                Visibility="{Binding ElementName=showcol1, 
                Converter={StaticResource BooleanToVisibilityConverter},
                Path=IsChecked}" />
            <DataGridTextColumn Header="Col 2" 
                Visibility="{Binding ElementName=showcol2, 
                Converter={StaticResource BooleanToVisibilityConverter},
                Path=IsChecked}" />
        </DataGrid.Columns>
    </DataGrid>
</Grid>

Incluso experimenté con otras opciones, comoBindsDirectlyToSource=True yUpdateSourceTrigger=PropertyChanged. Sin embargo, las columnas no cambian su visibilidad cuando selecciono / deselecciono los artículos. ¿Qué estoy haciendo mal? ¿Es esto realmente posible en XAML puro?

Enesta pregunta, la respuesta usax:Reference. Intenté eso también pero recibí el error

Al proveedor de servicios le falta el servicio INameResolver.

¿Google me dijo que esto es un error en VS2010? ¿Qué puedo hacer para resolver esto? ¿O es mi mejor oportunidad para cambiar a VS2012?

Respuestas a la pregunta(1)

Su respuesta a la pregunta