Je souhaite contrôler DataGrid
la visibilité des colonnes via un ContextMenu
disponible pour l'utilisateur en cliquant avec le bouton droit sur l'en-tête de colonne. Le ContextMenu
affiche les noms de toutes les colonnes disponibles. J'utilise le modèle de conception MVVM.WPF DataGrid: Liaison DataGridColumn de liaison à ContextMenu MenuItems IsChecked (MVVM)
Ma question est: Comment puis-je lier la propriété de Visibility
DataGridColumn
à la propriété d'un IsChecked
MenuItem
situé dans le ContextMenu
.
Certains Code 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>
si je suis pas clair s'il vous plaît laissez-moi savoir et je vais essayer d'élaborer.
Cheers,
Juste regardé à travers elle et il semble solide. Je vous donnerais un vote, mais il manque 1 dans la réputation :) – Fubzot
Cela a fonctionné à merveille !! Des trucs géniaux. Maintenant, j'ai besoin de l'étudier en détail une fois ma date limite est terminée :) – BloggerDude
SO règles suggèrent que la liaison à un blog plutôt que d'afficher le contenu explicite n'est pas idéal. Pouvez-vous réellement répondre au Q ici? – Webreaper