Vincular a visibilidade ao item de menu que pode ser conferido mostra o erro "O provedor de serviços não tem o serviço INameResolver" no WPF

Eu estou tentando mostrar / ocultar colunas de um datagrid através de um menu de contexto. Eu estava tentando usar ligações para isso, com 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>

Eu até experimentei as outras opções, comoBindsDirectlyToSource=True eUpdateSourceTrigger=PropertyChanged. No entanto, as colunas não alteram sua visibilidade quando eu marquei / desmarcou os itens do menu. O que estou fazendo de errado? Isso é realmente possível em XAML puro?

Emisto pergunta, a resposta usax:Reference. Eu tentei isso também, mas recebi o erro

O provedor de serviços não tem o serviço INameResolver.

O Google me disse que isso é um bug no VS2010? O que posso fazer para resolver isso? Ou é o meu melhor tiro para mudar para o VS2012?

questionAnswers(1)

yourAnswerToTheQuestion