using System.Threading.Tasks; using Avalonia.Controls; namespace Sln.Wcs.UI.Views.Base; public partial class ConfirmDialog : Window { private TaskCompletionSource? _tcs; public ConfirmDialog() { InitializeComponent(); CancelBtn.Click += (_, _) => CloseWith(false); ConfirmBtn.Click += (_, _) => CloseWith(true); } public Task ShowDialog(string message, Window owner, string title = "确认操作") { TitleText.Text = title; MessageText.Text = message; _tcs = new TaskCompletionSource(); ShowDialog(owner); return _tcs.Task; } private void CloseWith(bool result) { _tcs?.TrySetResult(result); Close(); } }