Que les élement d'une liste retourne automatiquement a la ligne
Résolu/Fermé
Hamster18
Messages postés
177
Date d'inscription
mercredi 2 janvier 2019
Statut
Membre
Dernière intervention
22 janvier 2024
-
Modifié le 4 mai 2019 à 15:37
Utilisateur anonyme - 6 mai 2019 à 21:47
Utilisateur anonyme - 6 mai 2019 à 21:47
A voir également:
- Que les élement d'une liste retourne automatiquement a la ligne
- Liste déroulante excel - Guide
- Aller à la ligne excel - Guide
- Ecran retourne - Guide
- Site de vente en ligne particulier - Guide
- Liste déroulante en cascade - Guide
4 réponses
Utilisateur anonyme
4 mai 2019 à 16:47
4 mai 2019 à 16:47
Bonjour
d'abord, merci à MadMyke d'avoir corriger ta coloration syntaxique, voir ici comment bien t'en servir pour tes prochains posts.
Si c'est ça que tu veux
Le scrollviewer horizontal doit être désactivé, et j'ai mis les images plus petites que toi.
d'abord, merci à MadMyke d'avoir corriger ta coloration syntaxique, voir ici comment bien t'en servir pour tes prochains posts.
Si c'est ça que tu veux
<ListBox ItemsSource="{Binding SourceDonnees}" Margin="277,31,47,39" ScrollViewer.HorizontalScrollBarVisibility="Disabled"> <ItemsControl.ItemsPanel> <ItemsPanelTemplate> <WrapPanel/> </ItemsPanelTemplate> </ItemsControl.ItemsPanel> <ListBox.ItemTemplate> <DataTemplate> <StackPanel> <Button Content="{Binding Nom}"></Button> <Image Height="100" Width="100" Source="{Binding Images}"/> </StackPanel> </DataTemplate> </ListBox.ItemTemplate> </ListBox>
Le scrollviewer horizontal doit être désactivé, et j'ai mis les images plus petites que toi.
Utilisateur anonyme
5 mai 2019 à 18:51
5 mai 2019 à 18:51
De rien, pense à marquer le sujet résolu avec la roue dentée tout en haut du fil.
Hamster18
Messages postés
177
Date d'inscription
mercredi 2 janvier 2019
Statut
Membre
Dernière intervention
22 janvier 2024
6 mai 2019 à 19:33
6 mai 2019 à 19:33
Bonjour, j'aimerais un renseignement s'il vous plait... Serais-t-il possible de passer la valeur du Click dans la balise bouton grâce à un Binding ?
Merci d'avance.
Cordialement.
Merci d'avance.
Cordialement.
Utilisateur anonyme
6 mai 2019 à 20:20
6 mai 2019 à 20:20
Peux tu préciser ta question?
Hamster18
Messages postés
177
Date d'inscription
mercredi 2 janvier 2019
Statut
Membre
Dernière intervention
22 janvier 2024
Modifié le 6 mai 2019 à 21:15
Modifié le 6 mai 2019 à 21:15
Avec le code qui vous m'avez donnée ci-dessus, j'ai voulu ajouter un événement Click, si on le fait de la façon "habituelle" c'est à dire :
Ça applique le même évènement à tout les boutons. Or je veux que chaque bouton d'image "conduit" vers une fenêtre différente. J'ai donc voulu passer les "Button_Click" par un Binding. Pour ça j'ai créer dans ma classe une nouvelle valeur.
Cependant cette méthode ne fonctionne pas ...
Quand je tentes de lancer l'application ça m'affiche une exception : "System.Windows.Markup.XamlParseException : ''La valeur fournie sur 'System.Windows.Data.Binding' a levé une exception.'"
Click="Button_Click"
Ça applique le même évènement à tout les boutons. Or je veux que chaque bouton d'image "conduit" vers une fenêtre différente. J'ai donc voulu passer les "Button_Click" par un Binding. Pour ça j'ai créer dans ma classe une nouvelle valeur.
public string Appelation { get; set; } public string Description { get; set; } public string Images { get; set; } public Genre DataSource { get; internal set; } public String Click { get; set; } //nouvelle valeur qui permet de passer le Button_Click
Cependant cette méthode ne fonctionne pas ...
Quand je tentes de lancer l'application ça m'affiche une exception : "System.Windows.Markup.XamlParseException : ''La valeur fournie sur 'System.Windows.Data.Binding' a levé une exception.'"
Utilisateur anonyme
6 mai 2019 à 21:47
6 mai 2019 à 21:47
Ok,
Une propriété, c'est une donnée sur l'objet.
Un évènement c'est un truc qui arrive.
Par exemple dans la vie un Verre est objet, qu'il soit vide, plein, partiellement rempli est une donnée, que ce soit de l'eau, du sirop ou de la bière en est une autre.
Par contre, qu'il tombe par terre et se casse est un évènement, qu'il se reverse en est un autre.
Une propriété ça se binde, un évènement non (enfin, ça peut, mais c'est compliqué), et surtout t'en as pas besoin.
Pour mon exemple, j'ai écrit une class Class3
Dans la méthode abonnée au click de chaque bouton, je vais déterminer de quel bouton il s'agit, puis de quel Class3 il s'agit, et en fonction afficher la bonne fenêtre
Une propriété, c'est une donnée sur l'objet.
Un évènement c'est un truc qui arrive.
Par exemple dans la vie un Verre est objet, qu'il soit vide, plein, partiellement rempli est une donnée, que ce soit de l'eau, du sirop ou de la bière en est une autre.
Par contre, qu'il tombe par terre et se casse est un évènement, qu'il se reverse en est un autre.
Une propriété ça se binde, un évènement non (enfin, ça peut, mais c'est compliqué), et surtout t'en as pas besoin.
Pour mon exemple, j'ai écrit une class Class3
class Class3 { public Class3(string LeNom, string PathImage) { Nom = LeNom; Images = new BitmapImage(new Uri(PathImage)); } public string Nom { get; set; } public ImageSource Images { get; set; } }
Dans la méthode abonnée au click de chaque bouton, je vais déterminer de quel bouton il s'agit, puis de quel Class3 il s'agit, et en fonction afficher la bonne fenêtre
private void Button_Click(object sender, RoutedEventArgs e) { Button but = sender as Button; if (but == null) return;//sender n'était pas un bouton, il y a erreur => on s'en va Class3 source = but.DataContext as Class3; if (source == null) return;//le bouton n'est pas un bouton bindé sur un objet Class3, il y a erreur => on s'en va //option 1, on choisit en fonction de l'objet, avec son nom par exemple switch(source.Nom) { case "Patate 1": //ici le code pour afficher la fenêtre correspondant Patate 1 break; } }
5 mai 2019 à 18:23
Cordialement.