Quiero controlar la visibilidad de la columna DataGrid
a través de ContextMenu
disponible para el usuario haciendo clic derecho en el encabezado de la columna. El ContextMenu
muestra los nombres de todas las columnas disponibles. Estoy usando el patrón de diseño de MVVM.WPF DataGrid: Enlace DataGridColumn visibilidad a ContextMenu MenuItems IsChecked (MVVM)
Mi pregunta es: ¿Cómo ato Visibility
propiedad del DataGridColumn
's de la propiedad de un IsChecked
MenuItem
situado en el ContextMenu
.
Parte del código maqueta:
<UserControl.Resources>
<ContextMenu x:Key="ColumnHeaderContextMenu">
<MenuItem Header="Menu Item..1" IsCheckable="True" />
</ContextMenu>
<Style x:Key="ColumnHeaderStyle"
TargetType="{x:Type toolkit:DataGridColumnHeader}">
<Setter Property="ContextMenu"
Value="{StaticResource ColumnHeaderContextMenu}" />
</Style>
<BooleanToVisibilityConverter x:Key="booleanToVisibilityConverter" />
</UserControl.Resources>
... flaf flaf flaf
<toolkit:DataGrid x:Name="MyGrid" AutoGenerateColumns="False"
ItemsSource="{Binding MyCollection, Mode=Default}"
EnableColumnVirtualization="True" IsReadOnly="True"
ColumnHeaderStyle="{StaticResource ColumnHeaderStyle}">
<toolkit:DataGrid.Columns>
<toolkit:DataGridTextColumn Binding="{Binding Path=MyEntry}"
Header="MyEntry" Visibility="{Binding IsChecked, Converter=
{StaticResource booleanToVisibilityConverter}.... />
</toolkit:DataGrid.Columns>
</toolkit:DataGrid>
Si estoy siendo poco claro por favor hágamelo saber y voy a intentar dar más detalles.
Saludos,
Solo lo miro y parece sólido. Te daría un voto pero falta 1 en reputación :) – Fubzot
Esto funcionó maravillosamente !! Cosas geniales. Ahora necesito estudiarlo en detalle una vez que mi fecha límite termine :) – BloggerDude
Las reglas de SO sugieren que vincular a un blog en lugar de publicar el contenido explícito no es ideal. ¿Puedes responder la Q aquí? – Webreaper