Bonjour à tous,
Je travaille actuellement sur un petit projet wpf. Je souhaite 'poser' un quadrillage sur une image via une grid, je rempli ensuite ce quadrillage avec des boutons jusque là aucun problème tout fonctionne parfaitement.
Mon soucis viens du fait que je souhaite à présent pouvoir redimensionner cette grille via deux scrollbar (pour la longueur/largeur des cellules) et je n'arrive pas à "rafraichir" la grid, ou même supprimer la grid pour ensuite en recréer une avec les nouvelles dimensions.
Voici mon code pour créer et peupler la grid :
J'ai fait plusieurs essaies avec par exemple :
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
34
35
36 private void btnRemplirGrille_Click(object sender, RoutedEventArgs e) { int x = 0; int y = 0; double A = 0; A = scrollVertical.Value; B = scrollHorizontal.Value; for (int i = 0; i < 50; i++) { // On défini les cellules de la grille grid1.ColumnDefinitions.Add(new ColumnDefinition() { Width = new GridLength(A * 100) }); grid1.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(B * 100) }); } btnTest = new Button[100, 100]; for ( y = 0; y < 50; y++) { for ( x = 0; x < 50; x++) { btnTest[x, y] = new Button(); btnTest[x, y].Click += new RoutedEventHandler(Test); btnTest[x, y].MouseEnter += new mouseEventHandler(MouseOver); //On attache le boutton à sa place dans la grille grid1.Children.Add(btnTest[x, y]); Grid.SetRow(btnTest[x, y], x); Grid.SetColumn(btnTest[x, y], y); } } }
Mais à présent je suis à cours d'idée !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 private void scrollHorizontal_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e) { grid1.UpdateLayout(); }
Pourriez vous m'aider ?
Merci d'avance![]()
Partager