设置禁用按钮的背景?

时间:2013-06-09 15:02:35

标签: c# wpf button background

我需要设置禁用按钮的背景。

private void Button1_Click_1(object sender, RoutedEventArgs e)    
{
     Button1.IsEnabled = false;
     var brush = new ImageBrush();
     brush.ImageSource = new BitmapImage(new Uri("Images/AERO.png"));
     Button1.Background = brush;
}

如果我这样做,我将禁用没有任何背景的按钮。 我整个上午都在寻找答案而且我没有得到我想要的东西。 我发现如何在XAML中设置禁用按钮的背景,而不是在C#中设置。

2 个答案:

答案 0 :(得分:0)

您不能直接执行此操作,但可以像下面的代码一样执行此操作:

XMAL代码

<Button Name="button1"  Click="button1_Click" >
    <Image Name="btndisbackground" Visibility="Hidden" VerticalAlignment="Stretch"
           HorizontalAlignment="Stretch" Source="D:\1.jpg" Stretch="Fill"/>
</Button>

按钮代码

private void button1_Click(object sender, RoutedEventArgs e)
{
    button1.IsEnabled = flase;
    btndisbackground.Visibility = Visibility.Visible;
}

答案 1 :(得分:0)

简单地颠倒你做事的顺序。设置按钮的启用状态是你做的最后一件事:

private void Button1_Click_1(object sender, RoutedEventArgs e)    
{
     var brush = new ImageBrush();
     brush.ImageSource = new BitmapImage(new Uri("Images/AERO.png"));
     Button1.Background = brush;
     Button1.IsEnabled = false;
}

这将更新背景图像,然后禁用按钮。