gpt4 book ai didi

c# - WPF 窗口不关闭

转载 作者:太空狗 更新时间:2023-10-29 21:36:18 25 4
gpt4 key购买 nike

您能告诉初学者为什么这个小型 WPF 应用程序在 WorkflowTerminated 事件触发后没有按预期关闭吗?使用的工作流程立即终止。 (使用 WPF 应用程序,.Net Framework 3.5)

public partial class MainWindow : Window
{
private WorkflowRuntime wfRuntime = new WorkflowRuntime();

public MainWindow()
{
InitializeComponent();

wfRuntime.WorkflowTerminated += (se, ev) => this.Close(); // this doesn't close the window
wfRuntime.WorkflowCompleted += (se, ev) => this.Close();
}

private void Window_Loaded(object sender, RoutedEventArgs e)
{
WorkflowInstance launcherWorkflow = wfRuntime.CreateWorkflow(typeof(InstallerWorkflow));

launcherWorkflow.Start();
}
}

最佳答案

可能是因为回调在另一个线程上。一个基本的解决方法是使用 Environment.Exit(1);

完全终止应用程序

要在 UI 线程上调用关闭函数,您应该使用:

wfRuntime.WorkflowTerminated += (se, ev) => {
// call back to the window to do the UI-manipulation
this.Dispatcher.Invoke(DispatcherPriority.Normal, new Action(delegate()
{
this.Close();
}));
};

关于c# - WPF 窗口不关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5659930/

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