c# WPF NET6异步事件应该在showdialog [closed]期间执行

sr4lhrrt  于 2023-05-13  发布在  C#
关注(0)|答案(1)|浏览(176)

**关闭。**此题需要debugging details。目前不接受答复。

编辑问题以包含desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将帮助其他人回答这个问题。
昨天关门了。
Improve this question
WPF NET 6应用程序此应用程序的一部分是Scanner类,它订阅Scanner DLL并在扫描仪捕获数据时触发异步事件。现在我想以模态的方式显示一条消息(确认消息)。当模态消息打开时,我尝试再次扫描一些代码。事件未激发。当我关闭消息框时,所有的扫描事件将一个接一个地触发。是否有方法及时执行事件(当消息框打开时)?
感谢您发送编修。

olmpazwi

olmpazwi1#

您需要将您的扫描码移动到模态对话框中。这就是使用WPF显示模式窗口时的工作方式。然后,模态窗口将能够显示进度和发生的任何事件。然后,我假设您可以在一个属性或一组属性中返回对话框的结果。下面是一个使用SaveFileDialog的示例

var dialog = new SaveFileDialog
{
   ...
};
if (dialog.ShowDialog() == true) //Main window thread blocks here but dialog threads are running
{
    myFile = File.CreateText(dialog.FileName);
}

相关问题