2014-09-23 51 views
0

我學習WPF並構建一個簡單的應用程序。 這是我的按鈕:通過代碼Chnage Telerik WPF按鈕顏色

<Button x:Name="btnAddFiles" Content="Add" HorizontalAlignment="Left" Margin="1046,34,0,0" VerticalAlignment="Top" 
     Width="111" Height="34" FontSize="20" Foreground="{DynamicResource {x:Static SystemColors.ActiveBorderBrushKey}}" 
     Background="{x:Null}" MouseEnter="btnAddFiles_MouseEnter" BorderBrush="Transparent" /> 

,這是它的樣子:

http://s27.postimg.org/h0iq4mrrz/image.png

我已經改變了按鈕的背景顏色Transparent這樣的背景顏色,你看到的是我所有的應用程序背景顏色。 我想要做的就是當鼠標移過按鈕時,將背景顏色更改爲Transparent。 目前,這是當前當鼠標懸停:

http://s30.postimg.org/x61ssujnx/image.png?noCache=1411485462

所以我註冊MouseEnter event

private void btnAddFiles_MouseEnter(object sender, MouseEventArgs e) 
{ 
    //btnAddFiles.Background = // change the color 
} 

,但我可以看到,btnAddFiles.Background需要Brush和NOR Color 任何想法熱改它呢?

+0

[在C#代碼中設置WPF文本框的背景顏色]可能的副本(http://stackoverflow.com/questions/979876/set-background-color-of-wpf-textbox-in-c-sharp-code) – 2014-09-24 10:23:31

+0

你有答案嗎? – 2014-10-31 13:00:23

回答

0

我無法看到你的照片,但是這是我們如何在WPF變回顏色:

btnAddFiles.Background = Brushes.Transparent; 

,您可以在鼠標進入和鼠標離開事件中使用的代碼。

1日編輯

private void btnAddFiles_MouseEnter(object sender, MouseEventArgs e) 
{ 
    btnAddFiles.Background = Brushes.Transparent; 
} 

private void btnAddFiles_MouseLeave(object sender, MouseEventArgs e) 
{ 
    btnAddFiles.Background = Brushes.Lime; 
} 

2日編輯:

改變邊框顏色和厚度:

button1.BorderBrush = Brushes.Red; 
Thickness t = new Thickness(5, 5, 5, 5); 
button1.BorderThickness = t; 

也改變你的保證金,是出於形式。嘗試例如

Margin="50,50,0,0" 

讓我知道如果你得到你的答案。

+0

有些東西很奇怪,當鼠標離開應用程序時,所有的應用程序顏色都變成了Lime。順便說一句,當我把鼠標放在控件上時,我可以製作邊框嗎? – 2014-09-23 19:43:05

+0

你應該改變你的按鈕背景,但它似乎你已經改變你的應用程序背景石灰。創建一個新項目並測試我的代碼,而無需在代碼中進行任何其他更改,它將正常工作。併爲邊界我編輯我的答案。 – 2014-09-23 21:33:38

+0

問題是我所有的表單都改變了,我把你的代碼放到了我的按鈕MouseEnter事件中,鼠標放在按鈕上後,我仍然可以看到按鈕邊框(用某種顏色標記的按鈕矩形) - 任何想法如何製作它看不見? – 2014-09-24 03:28:26