Bonjour à tous,
Voici le contexte avant d'exposer mon problème.
En classe, nous devons faire un jeu de plateau, basé sur Eternity II (pour ceux qui connaissent). Je vais donc disposer d'un jeu de pièces, à positionner sur un plateau.
Avant de déplacer les pièces, celles-ci sont disponibles pour l'utilisateur dans une listebox. Le contenu de cette listebox suit un binding.
Voici une présentation générale du code :
Ma classe de fenêtre principale est appelée Display.
Voici un bout de son code :
Voici maintenant ce qu'on trouve dans la classe Master :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 public partial class Display : Window { public Master master; public Display() { this.InitializeComponent(); DataContext = this.master; master = new Master(4, this); }}
Quand j'appui sur le bouton "commencer le jeu", j'appel une méthode contenue dans la classe Master, à l'intérieure de cette méthode, je rempli ma liste ainsi :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 public class Master { //... protected List<Piece> _AllPiecesNotPlaced; public List<Piece> AllPiecesNotPlaced { set { _AllPiecesNotPlaced = value; } get { return _AllPiecesNotPlaced; } }
Voici comment est définie en partie ma classe Piece :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 foreach (int i in _PiecesData) { _AllPiecesNotPlaced.Add(new Piece(i, @"Data\Img\Original\")); }
A l'aide de breackpoints, j'ai bien vérifié, ma liste contient bien les élèments voulus et je ne pense pas qu'il y ait de soucis par rapport à cela.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 public class Piece { //... private ImageSource _img; public ImageSource Image { get { return _img; } } public Piece(int Tid, string imgPath) { //... _img = new BitmapImage(new Uri(imgPath, UriKind.RelativeOrAbsolute)); //... }
Par contre je pense que ca vient de mon binding que j'effectue comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <ListBox Name="ImageList" Grid.Column="0" Grid.Row="0" Grid.RowSpan="18" ItemsSource="{Binding AllPiecesNotPlaced}" ItemTemplate="{StaticResource ListImagesTemplate}" />
Mon template est le suivant :
Le problème est que ma listebox reste toujours vide. Quelqu'un saurait-il me dépanner.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <Window.Resources> <DataTemplate x:Key="ListImagesTemplate"> <StackPanel> <Image Source="{Binding Image}" Width="30" Height="30"/> </StackPanel> </DataTemplate> </Window.Resources>
Si je n'ai pas été assez précis dans mes explication ou mon code, dites le moi![]()
Partager