在 WPF 应用程序中更改按钮背景图像

Changing Button's BackgroundImage in WPF app

在我的 C# 应用程序中,我试图更改按钮的背景图像并在几秒钟后将其更改回来。但是,背景图像直到计时器结束后才会更改,然后在您看到更改之前立即变回原始图像。

private void button1_Click(object sender, EventArgs e)
{
    myImage.BackgroundImage = Properties.Resources.newImage;
    System.Threading.Thread.Sleep(5000);
    myImage.BackgroundImage = Properties.Resources.myImage;
}

假设这是一个 WPF 应用程序,添加 DispatcherTimer,如以下代码片段所示:

DispatcherTimer _dispatcherTimer = new DispatcherTimer();
public MainWindow()
{
    InitializeComponent();
    button1.Click += button1_Click;
    _dispatcherTimer.Tick += new EventHandler(dt_Tick);
    _dispatcherTimer.Interval = new TimeSpan(0, 0, 0, 5);
}

private void button1_Click(object sender, RoutedEventArgs e)
{
    myImage.BackgroundImage = Properties.Resources.newImage;
    _dispatcherTimer.Start();
}

void dt_Tick(object sender, EventArgs e)
{
    _dispatcherTimer.Stop();
    myImage.BackgroundImage = Properties.Resources.myImage;
}

希望这会有所帮助。