使用finally防止一个(阻塞)窗口重复打开 123456789101112131415161718192021222324private bool _isDialogOpen = false;private async void OnEditAtt(){ if (_isDialogOpen) return; // 防止重复打开 _isDialogOpen = true; try { //await (打开窗口) } catch (Exception ex) { await ShowAsync($"打开窗口失败: {ex.Message}"); } finally { _isDialogOpen = false; // 窗口关闭后恢复状态 }} finally关键字用于定义一个代码块,无论是否发生异常,该代码块都会在try块和任何匹配的catch块之后执行 .NET 使用finally防止一个(阻塞)窗口重复打开 https://weihehe.top/2025/08/07/使用finally阻止一个阻塞的窗口重复打开/ 作者 weihehe 发布于 2025年8月7日 许可协议 使用委托,事件,接口解耦(View和ViewModel) 下一篇