Creer un button avec image (WPF) par programmation pendant l'exécution [Résolu]

Messages postés
7
Date d'inscription
jeudi 16 juin 2005
Dernière intervention
20 août 2010
- - Dernière réponse : hamadi_424
Messages postés
26
Date d'inscription
jeudi 1 mars 2007
Dernière intervention
16 octobre 2011
- 23 sept. 2010 à 11:30
Bonjour,
Voici mon code XAML ou se trouve un button déjà créé avec un label et une image :

Code XAML:
<StackPanel Orientation="Horizontal" Name="spLogin" >

<StackPanel Orientation="Vertical">
<Label Content="Model" />

</StackPanel>

</StackPanel>

pendant l'exécution du programme j'ajoute de nouveau bouton a mon StackPanel

Code C#:
private void AddLogIn(string pName)
{
Button bButton = new Button();
bButton.Width = 100;
bButton.Height = 100;
if (pName !null) { bButton.Name pName; }
spLogin.Children.Add(bButton);
bButton.Click += new RoutedEventHandler(newBtn_Click);
}

Malheureusement les bouton ajouté son des button standard sans image. Comment je doit faire pour ajouter des images a mes button que j'ajoute a mon StackPanel ? Est-ce que je dois travailler sur des style ou template dans le XAML ou bien je peux le faire dans le code C# ?
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Messages postés
7
Date d'inscription
jeudi 16 juin 2005
Dernière intervention
20 août 2010
3
Merci
Merci je commence a comprendre le principe de la propriété content maintenant !

BitmapImage biImage = new BitmapImage();
biImage.BeginInit();
biImage.UriSource = new Uri("C:\\APPS\\emp00001.jpg");
biImage.EndInit();

StackPanel spPanel new StackPanel() { Orientation System.Windows.Controls.Orientation.Vertical };
spPanel.Children.Add(new Label() { Content = "Cool !" });
spPanel.Children.Add(new Image() { Source = biImage });

bButton.Content = spPanel;


ah et j'ai trouvé la balise ^^

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 96 internautes nous ont dit merci ce mois-ci

Commenter la réponse de DCTerreur
Messages postés
327
Date d'inscription
vendredi 23 décembre 2005
Dernière intervention
8 février 2011
0
Merci
 
Button bButton = new Button(); 
bButton.Width = 100; 
bButton.Height = 100; 
if (pName !null) { bButton.Name pName; } 
spLogin.Children.Add(bButton); 
bButton.Click += new RoutedEventHandler(newBtn_Click);


Ne faudrait-il pas juste ajouter du contenu dans le bouton . Par exemple
bButton.Content new Image(){ Source "" };


PS : il existe des balises pour le code (c'est plus lisible)

---
Généralement le bug se situe entre le clavier et la chaise.
Le temps est une "chose" introuvable dont l'existence ne fait aucun doute.
Commenter la réponse de cs_GG29
Messages postés
26
Date d'inscription
jeudi 1 mars 2007
Dernière intervention
16 octobre 2011
0
Merci
Bonjour,
Je suis intéressé de votre idée donc j'ai essayé de créer un bouton de style portant une image nommé "ImageButtonStyle"
et voici le code que j'ai écrit si dessous mais il me reste un seul problème est que je veut que l'image que je vais utilisé porte une url static :
<Style x:Key="ImageButtonStyle" TargetType="{x:Type Button}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<StackPanel Orientation="Horizontal">
<Label Content="Model" />

</StackPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
elle marche bien avec une image portant une source (URL) static mais je veut que l'url soit dynamic.
Comment faire pour obtenir mon objectif? c'est ma question, aidez moi s'il vous plaît.
Cordialement.
Commenter la réponse de hamadi_424

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.