0
Wie?IMessageService.ShowAsync im INavigationService.ApplicationClosing-Ereignis
Ich habe diese beiden Methoden versucht, aber keine funktioniert. Der erste hängt, der zweite beendet das Programm (ohne Ausnahme).
private void ApplicationClosing1(object sender, ApplicationClosingEventArgs e)
{
MessageResult result = MessageResult.None;
if (!isClosing && IsDirty)
{
result = MessageService.ShowAsync("blah", "blah",
MessageButton.YesNoCancel, MessageImage.Warning)
.GetAwaiter().GetResult();
switch (result)
{
case MessageResult.Cancel:
e.Cancel = true;
return;
case MessageResult.Yes:
isClosing = true;
SaveAsync();
break;
default:
isClosing = true;
break;
}
}
}
und
private async void ApplicationClosing2(object sender, ApplicationClosingEventArgs e)
{
if (!isClosing && IsDirty)
{
var result = await MessageService.ShowAsync("blah","blah",
MessageButton.YesNoCancel, MessageImage.Warning);
switch (result)
{
case MessageResult.Cancel:
e.Cancel = true;
return;
case MessageResult.Yes:
isClosing = true;
await SaveAsync();
break;
default:
isClosing = true;
break;
}
}
}