Bonsoir à tous,
Je débute en WPF et je suis entièrement bloqué sur un problème.
J'ai créé des gridViewColumn imbriquées en suivant les indications de ce tutorial.
http://www.designerwpf.com/2008/01/2...ithin-columns/
Ca fonctionne assez bien mais maintenant le problème c'est que je n'arrive pas à masquer les gridViewColumn imbriquées.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <ListView ItemsSource="{Binding}" Name="listView1"> <ListView.View> <GridView x:Name="gridView1"> <GridViewColumn Header="Remarques point hebdo" HeaderTemplate="{StaticResource MultiPointHebdoColumnCollection}" CellTemplate="{StaticResource MultiPointHebdoColumnCell}" /> </GridView> </ListView.View> </ListView>
La partie App.xaml qui contient le template
Pour masquer les colonnes j'essaie de passer par un menu qui met la Width à 0 mais je n'arrive pas à accéder aux colonnes imbriquées.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 <GridViewColumnCollection x:Key="PointHebdoColumnCollection"> <GridViewColumn Header="Remarques" DisplayMemberBinding="{Binding Path=RemarquesPointHebdo}"/> <GridViewColumn Header="Action" DisplayMemberBinding="{Binding Path=ActionPointHebdo}"/> </GridViewColumnCollection> <DataTemplate x:Key="MultiPointHebdoColumnCollection"> <Grid> <Grid.RowDefinitions> <RowDefinition Height="Auto"></RowDefinition> <RowDefinition Height="Auto"></RowDefinition> </Grid.RowDefinitions> <TextBlock Margin="10,0,10,0" Width="auto" FontWeight="bold" FontSize="12" Text="Remarques point hebdo" VerticalAlignment="Bottom" HorizontalAlignment="Center"/> <GridViewHeaderRowPresenter Grid.Row="1" HorizontalAlignment="Stretch" Columns="{DynamicResource PointHebdoColumnCollection}"></GridViewHeaderRowPresenter> </Grid> </DataTemplate> <DataTemplate x:Key="MultiPointHebdoColumnCell"> <Grid> <GridViewRowPresenter HorizontalAlignment="Center" Columns="{DynamicResource PointHebdoColumnCollection}"></GridViewRowPresenter> </Grid> </DataTemplate>
Quelqu'un aurait-il une idée pour pouvoir accéder aux colonnes imbriquées ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 private void menuItem_Unchecked(object sender, RoutedEventArgs e) { MenuItem mi = e.Source as MenuItem; switch (mi.Name) { case "mi_TypeCommande": { for (int i = 0; i < gridView1.Columns.Count; i++) { if (gridView1.Columns[i].Header.Equals("Remarques")) { gridView1.Columns[i].Width = 0; break; } } break; } case "mi_Action": { Console.WriteLine("mi_Action"); for (int i = 0; i < gridView1.Columns.Count; i++) { if (gridView1.Columns[i].Header.Equals("Action")) { gridView1.Columns[i].Width = 0; break; } } break; } } }
Merci
Partager