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?
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 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));
Merci pour votre aide à tous.
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>
Partager