2010-11-29 185 views
1

幾經嘗試更改按鈕的背景,並獲得鑄件的錯誤,像我finnaly走到這一步的事情:更改按鈕背景

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; 

它只是做任何事情! :(

回答

4

發現閱讀米克的答案後,答案myelf,我與你分享我所做的:

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(在每種情況下),以便圖像可以自動調整大小以填充所有按鈕,請注意,這可能會隱藏您的實際內容,這是我想要的情況。

2

如果這個代碼是相同的按鈕,您將有這個問題的單擊事件處理程序的一部分。

彼得託解釋了爲什麼在這裏,並提供解決方案。

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

+0

但是這需要我聲明buttonson XAML x_X,我的程序的性質要求我以編程方式創建按鈕 – 2010-11-29 02:27:32

+0

如何創建基於Blend生成的xaml的樣式,然後以編程方式分配它 - http://forums.silverlight.net/forums/p/13115/42706.aspx – 2010-11-29 08:02:42