2010-11-29 7 views
1

Après plusieurs tentatives de changer l'arrière-plan d'un bouton et obtenir des erreurs de casting et des choses comme ça, je finnaly suis arrivé à ce point:bouton Modifier fond

Uri dir = new Uri("red_flag.png",UriKind.RelativeOrAbsolute); 
ImageSource source = new System.Windows.Media.Imaging.BitmapImage(dir); 
ImageBrush bru = new ImageBrush(); 
bru.ImageSource=source; 
bru.Opacity = 100; 

Ce code ne génère pas d'erreurs, mais je peux 't voir les changements quand j'appelle:

button1.background = bru; 

Il fait juste n'importe quoi! :(

Répondre

4

trouvé la réponse myelf après avoir lu la réponse de Mick, je partage avec vous ce que je faisais:

Uri dir = new Uri("red_flag.png", UriKind.Relative); 
ImageSource source = new System.Windows.Media.Imaging.BitmapImage(dir); 
Image image = new Image(); 
image.Source = source; 
StackPanel stack = new StackPanel(); 
stack.Children.Add(image); 
myButton.Content = stack; 

Merci pour votre aide

Mise à jour 1: Pour de meilleurs résultats, définissez la propriété de remplissage de votre bouton sur 0 (dans chaque cas) afin que l'image puisse être redimensionnée automatiquement pour remplir tout le bouton, notez que cela risquerait de masquer votre contenu. cas c'était ce que je voulais.

+0

qu'est-ce que "sur" ici? – Shaireen

+0

désolé, mon erreur, post édité, merci de la lecture :) –

+0

Pour de meilleurs résultats définir la propriété de remplissage de votre bouton à 0 (dans chacun des cas) de sorte que l'image peut redimensionner automatiquement pour remplir tout le bouton, s'il vous plaît noter que cela pourrait cacher votre contenu réel, dans mon cas c'était ce que je voulais. –

2

Si ce code fait partie du gestionnaire d'événements de clic pour le même bouton, vous aurez ce problème.

Peter Torr explique pourquoi ici et offre une solution.

Why can't I change the Background of my Button on a Click event?

+0

Mais cela a besoin de moi pour déclarer les boutons sur le XAML x_X, la nature de mon programme me demande de créer les boutons par programme –

+0

Comment créer un style basé sur le xaml que Blend génère fonctionne pour vous, puis l'assigner par programme - http://forums.silverlight.net/forums/p/13115/42706.aspx –

Questions connexes