Bonjour à tous,

voilà j'ai fait un code en vb.net que je dois convertir en C#.
J'ai un treeview(WPF remplit avec un dataset et des datarelations) et je voudrai récupérer la valeur que doit me retourner le treeview quand je clique dessus.

En VB.net, j'avais fait ça :
Code VB.NET : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
Dim itemTreeview As TreeViewItem = CType(Me.ArboTypeArt.ItemContainerGenerator.ContainerFromItem(e.NewValue), TreeViewItem)
            If itemTreeview IsNot Nothing Then
                itemTreeview.IsSelected = True
                itemTreeview.IsExpanded = True
            Else
                'c'est un enfant, on recupere l'id article
                Dim index As Integer
                index = Me.ArboTypeArt.SelectedItem(0)

J'ai réussi à faire ça en C# mais je bloque sur l'index.
Pouvez-vous m'aider s'il vous plait?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
TreeViewItem itemTreeview = (TreeViewItem)ArboTypeArt.ItemContainerGenerator.ContainerFromItem(e.NewValue);
            if (itemTreeview != null)
            {
                //MessageBox.Show("parent");
                itemTreeview.IsSelected = true;
                itemTreeview.IsExpanded = true;
            }else{
                //MessageBox.Show("enfant");
                //c'est un enfant, on recupere l'id article
                int index;
                   index = ArboTypeArt.SelectedItem;
                //MessageBox.Show(Convert.ToString(index));
Le XAML (au cas où vous en ayez besoin) :
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
 
 <Window.Resources>
        <DataTemplate x:Key="PropTemplate">
            <TextBlock Text="{Binding Nom}"></TextBlock>
        </DataTemplate>
        <HierarchicalDataTemplate x:Key="ArticleTemplate" 
                                  ItemsSource="{Binding childRelation2}" 
                                  ItemTemplate="{StaticResource PropTemplate}">
            <!--*****Style qui desactive les enfants...*****-->
            <HierarchicalDataTemplate.ItemContainerStyle>
                <Style TargetType="{x:Type TreeViewItem}">
                    <Setter Property="IsEnabled" Value="false"/>
                </Style>
            </HierarchicalDataTemplate.ItemContainerStyle>
            <TextBlock Text="{Binding Designation}" >
                <TextBlock.ContextMenu>
                    <ContextMenu>
                        <MenuItem Name="SupprArtArbo" Header="Supprimer cet article" Click="btnValidSupprArt_Click"/>
                    </ContextMenu>
                </TextBlock.ContextMenu> 
            </TextBlock>
        </HierarchicalDataTemplate>
        <HierarchicalDataTemplate x:Key="TypeArticleTemplate" 
                                  ItemsSource="{Binding childRelation}" 
                                  ItemTemplate="{StaticResource ArticleTemplate}">
            <TextBlock Text="{Binding Nom}"></TextBlock>
        </HierarchicalDataTemplate>
    </Window.Resources>
<TreeView Name="ArboTypeArt" DockPanel.Dock="Left" Background="Azure" Width="200" Margin="10,10,21,30" 
                  ItemsSource="{Binding TypeArticle}"
                  ItemTemplate="{StaticResource TypeArticleTemplate}" SelectedItemChanged="ArboChangeSelection">
        </TreeView>
Merci pour votre aide à tous.