Tout d'abord bonjour,
Je voudrais réaliser un treeview qui me permet de lister l'ensemble de mes équipes et pour chaque équipes, l'ensemble des personnes.
J'ai donc 2 types d'objets différents qui vont venir peupler mon treeview.

Voici mes classes:
Code c# : 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
34
35
36
37
38
 
public class Equipe
{
	public Equipe(){
		Child=new List<Equipe>();
	}
 
	public Equipe(string name){
		Child = new List<Equipe>();
		Name = name;
	}
 
	public Equipe(string name, List<Equipe> child, List<Person> persons){
		Name = name;
		Child = child;
		Persons = persons;
	}
 
	public string Name { get; set; }
	public List<Equipe> Child { get; set; }
	public List<Person> Persons { get; set; }
}
 
public class Person
{
	public Person()
	{
	}
 
	public Person(string firstname, string lastname)
	{
		Firstname = firstname;
		Lastname = lastname;
	}
 
	public string Firstname { get; set; }
	public string Lastname { get; set; }
}

Dans mon treeview j'ai un template qui diffère en fonction du type d'objet
Code xml : 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
 
<TreeView ItemsSource="{Binding}" Name="TreeViewTest">
	<TreeView.Resources>
		<HierarchicalDataTemplate ItemsSource="{Binding Path=Child, Mode=OneWay}" DataType="{x:Type GUI:Equipe}">
			<StackPanel Orientation="Horizontal">
				<Image Source="/equipe.png" Width="16" VerticalAlignment="Center" />
				<TextBlock Text="{Binding Path=Name}" VerticalAlignment="Center" />
			</StackPanel>
		</HierarchicalDataTemplate>
 
		<HierarchicalDataTemplate ItemsSource="{Binding Path=Persons, Mode=OneWay}" DataType="{x:Type GUI:Person}">
			<StackPanel Orientation="Horizontal">
				<Image Source="/person.png" Width="16" VerticalAlignment="Center" />
				<TextBlock VerticalAlignment="Center">
					<TextBlock.Text>
						<MultiBinding StringFormat="{}{0} {1}">
							<Binding Path="Lastname" />
							<Binding Path="Firstname" />
						</MultiBinding>
					</TextBlock.Text>
				</TextBlock>
			</StackPanel>
		</HierarchicalDataTemplate>
	</TreeView.Resources>
</TreeView>

Je viens le remplir comme ça:
Code c# : 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
 
public MainWindow()
{
	InitializeComponent();
 
	var equipe1 = new Equipe("Equipe 1",
						new List<Equipe>(){
										 new Equipe("Equipe 1.1"),
										 new Equipe("Equipe 1.2")
									 },
						new List<Person>(){
										new Person("Francçois","DUPOND"),
										new Person("Tristan","LAMI")
						});
 
	var equipe2 = new Equipe("Equipe 2");
	var equipeFull = new Equipe("Full", new List<Equipe>() {equipe1, equipe2},new List<Person>() {new Person("Benoit", "LAFFOND")});
 
	TreeViewTest.DataContext = new List<Equipe>(){equipeFull};
}

Et voilà le résultat, aucune personne n'est affichée. Je ne comprend pas vraiment pourquoi. Un coup de main serait il possible?