Desidero controllare la visibilità della colonna DataGrid
tramite un ContextMenu
disponibile all'utente facendo clic con il pulsante destro del mouse sull'intestazione della colonna. Il ContextMenu
visualizza i nomi di tutte le colonne disponibili. Sto usando il modello di progettazione MVVM.WGrf DataGrid: Binding DataGridColumn visibilità a ContextMenu MenuItems IsChecked (MVVM)
La mia domanda è: Come faccio lego 's la DataGridColumn
Visibility
struttura al IsChecked
proprietà di un MenuItem
situato nel ContextMenu
.
Alcuni codice mockup:
<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>
Se io sia poco chiaro per favore fatemelo sapere e cercherò di elaborare.
Cheers,
Basta guardarlo e sembra solido. Ti darei un voto ma mancava di 1 reputazione :) – Fubzot
Questo ha funzionato magnificamente !! Roba impressionante. Ora ho bisogno di studiarlo in dettaglio una volta scaduta la mia scadenza :) – BloggerDude
SO regole suggeriscono che il collegamento a un blog piuttosto che pubblicare il contenuto esplicito non è l'ideale. Puoi davvero rispondere alla Q qui? – Webreaper