Bonjour,
Je suis de retour avec de nouvelles questions. Cette fois-ci c'est a propos des TabControl et TabItem. Je vais essayer d'exposer mon problème clairement et simplement:
Je déclare un TabControl dans mon XAML. Je créer dynamiquement des TabItem dans celui-ci(en code-behind C#), en parcourant mon Dictionary<Tkey, Tvalue> et j'ajoute autant de TabItems que j'ai de Keys. Jusqu'à la pas de problèmes tout se passe et s'affiche correctement. Ensuite je déclare et créer des Grid que j'insère dans mon TabItem. Par la suite je souhaite mettre dans ma Grid.Column(0) un Canvas pour y placer différents objets que je ne détaillerais pas ici.
Voici mon code:
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 public void Set_rooms_interface() { foreach (KeyValuePair<string, Rooms> kvp in rooms_list) { TabItem tab_item = new TabItem(); Grid g = new Grid(); Canvas c = new Canvas(); tab_item.Header = kvp.Value.Room_name; g.ColumnDefinitions.Add(new ColumnDefinition() { Width = new GridLength(400) }); g.ColumnDefinitions.Add(new ColumnDefinition() { Width = new GridLength(250) }); tab_item.Content = g; Room_tab.Items.Add(tab_item); } }
Et voici la classe que j'utilise pour mon Dictionary<TKey, TValue>:
Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Dictionary<string ,Rooms> rooms_list = new Dictionary<string, Rooms>(); public class Rooms { public string Room_guid; public string Room_name; public string Primary_user_guid; public string Room_version; }
Mes TabItems représentent des sortent de chambres indépendantes dans lesquelles je peux insérer/retirer des objets. Le problème c'est que je ne sais pas comment faire pour accéder a la Grid et Canvas de telle ou telle chambres plus tard dans mon programme. Je souhaiterais pourvoir mettre une marque(Name, Tag ou autre) qui me permette, une fois le nom du TabItem saisit, de naviguer a l'intérieur pour récupérer mes différents objets et les modifier. Un peu comme on navigue a travers des objets.
J'ai pas mal chercher et j'avoue n'avoir trouver personne dans le même cas de figure que moi. Soit ce que j'essaye de faire n'est pas possible soit je commence pas le mauvais cote, dans les deux cas je suis complètement perdu.
J'espère ne pas avoir été trop confus dans mes explications.
Cordialement, Ephismen.
Partager