gpt4 book ai didi

c# - 处理数据时显示对话框

转载 作者:太空宇宙 更新时间:2023-11-03 14:42:57 25 4
gpt4 key购买 nike

我想在执行 UI 阻塞任务时显示一个加载对话框,所以我这样做了:

public void RetrievePosteInformations(string posteNumber)
{
ApplicationDataContainer localSettings = ApplicationData.Current.LocalSettings;

//try to show dialog on UI here
RecherchePosteDialog recherchePosteDialog = new RecherchePosteDialog();
_= recherchePosteDialog.ShowAsync();

//UI blocking task
foreach(KeyValuePair<int,string> keyval in filepaths)
{
retrieveCSVInfo(keyval.Value, posteNumber, keyval.Key);
}

//after task hiding the dialog again
recherchePosteDialog.Hide();
}

但是这里 Dialog 根本没有显示。我不想使用 await 语句,因为程序会一直停留在 await recherchePosteDialog.ShowAsync()

我只想异步显示它,并在任务完成时隐藏它。

最佳答案

您可以尝试在带有 ManualResetEvent 的线程中运行它。

当你打电话时

RetrieveWait.Set();

对话框被隐藏。


例子:

private static ManualResetEvent RetrieveWait = new ManualResetEvent(false);

Windows.ApplicationModel.Core.CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Normal,
() =>
{
RecherchePosteDialog recherchePosteDialog = new RecherchePosteDialog();
recherchePosteDialog.ShowAsync();

RetrieveWait.WaitOne()
recherchePosteDialog.Hide();
});

关于c# - 处理数据时显示对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55947926/

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