更改按钮背景

时间:2010-11-29 01:14:13

标签: c# windows-phone-7

经过多次尝试更改按钮的背景,并获得投射错误以及类似的事情,我终于达到了这一点:

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;

此代码不会产生错误,但在调用时无法看到更改:

button1.background = bru;

它只是做了什么! :(

2 个答案:

答案 0 :(得分:4)

在阅读了Mick的回答后找到了自己的答案,我与你分享了我的所作所为:

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;

感谢您的帮助

更新1: 为了获得最佳效果,请将按钮的填充属性设置为0(在每种情况下),以便图像可以自动调整大小以填充所有按钮,请注意这可能会隐藏您的实际内容,在我的情况下,这就是我想要的。< / p>

答案 1 :(得分:2)

如果此代码是同一按钮的click事件处理程序的一部分,则会出现此问题。

Peter Torr在此解释了原因并提供了解决方案。

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

相关问题