经过多次尝试更改按钮的背景,并获得投射错误以及类似的事情,我终于达到了这一点:
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;
它只是做了什么! :(
答案 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?