2014-09-23 88 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