protected async Task OnCancelExecuteAsync() { if (!await DiscardChangesAsync()) { return; } ClosedByButton = true; if (!SetDialogResultAndMakeSureWindowGetsClosed(false)) { Close(); } }