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?