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

Résolu
DCTerreur Messages postés 7 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 20 août 2010 - 13 avril 2010 à 23:04
hamadi_424 Messages postés 26 Date d'inscription jeudi 1 mars 2007 Statut Membre 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# ?
A voir également:

3 réponses

DCTerreur Messages postés 7 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 20 août 2010
14 avril 2010 à 14:39
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 ^^
3
cs_GG29 Messages postés 326 Date d'inscription vendredi 23 décembre 2005 Statut Membre Dernière intervention 8 février 2011 17
14 avril 2010 à 01:13
 
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.
0
hamadi_424 Messages postés 26 Date d'inscription jeudi 1 mars 2007 Statut Membre Dernière intervention 16 octobre 2011
23 sept. 2010 à 11:30
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.
0
Rejoignez-nous