Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 设置禁用按钮的背景?_C#_Wpf_Button_Background - Fatal编程技术网

C# 设置禁用按钮的背景?

C# 设置禁用按钮的背景?,c#,wpf,button,background,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

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

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中设置。您不能直接执行此操作,但可以像下面的代码那样执行此操作:

XMAL代码


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

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;
}

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

我找到了如何在XAML中设置禁用按钮的背景,而不是在C中-UI元素在WPF中的XAML中管理,以及数据绑定。你不应该从程序代码中操作UI元素属性。那么,当程序运行时,我如何更改按钮的背景?@ukaszZimoń在你的应用程序中为按钮定义自定义样式,如果你基于默认模板,删除Property=IsEnabled Value=False的ControlTemplate触发器,但我有windows Phone 7应用程序。此答案不回答OP的问题,我需要设置禁用按钮的背景。它显示了如何通过编程禁用按钮。我很好奇btndisbackground.Visibility=Visibility.Visisble分支将如何执行?禁用的按钮将不会引发单击事件@STLDeveloper:我很好奇btndisbackground.Visibility=Visibility.Visisble分支将如何执行?禁用的按钮将不会引发单击事件!这是一个有趣的错误:,他想改变按钮背景时,禁用我有几个按钮,每个按钮必须拥有随机图像。因此,我在按钮代码中设置了背景按钮。
private void button1_Click(object sender, RoutedEventArgs e)
{
    button1.IsEnabled = flase;
    btndisbackground.Visibility = Visibility.Visible;
}
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;
}