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

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>
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
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;
                    }
            }
}
Quelqu'un aurait-il une idée pour pouvoir accéder aux colonnes imbriquées ?

Merci