gpt4 book ai didi

c# - 执行按钮单击时使 wpf UI 响应

转载 作者:太空狗 更新时间:2023-10-29 22:04:12 24 4
gpt4 key购买 nike

在我的 wpf (c#) 应用程序中,当用户按下按钮时会执行一个很长的过程。当按下按钮直到执行完完整的代码时,窗口会卡住,用户无法在窗口中执行任何其他任务。如何将按钮单击代码作为后台进程,以便窗口响应用户。我尝试了以下方法,但没有成功。

private void btn_convert_Click(object sender, RoutedEventArgs e)
{
Dispatcher.CurrentDispatcher.BeginInvoke(DispatcherPriority.Background,
new Action(() => {

WorkerMethod();
}));
}

其中 WorkerMethod 是具有完整代码的函数。任何建议。

问候,
桑吉塔

最佳答案

如果您的目标是 .NET 4.5,您可以使用 async/await 让您的 UI 响应:

private async void btn_convert_Click(object sender, RoutedEventArgs e)
{
await WorkerMethod();
}

修改您的WorkerMethod:

private Task WorkerMethod()
{
return Task.Run(() =>
{
// your long running task here
});
}

关于c# - 执行按钮单击时使 wpf UI 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15409501/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com