Como fechar a caixa de diálogo de mensagens programaticamente
-
12-12-2019 - |
Pergunta
Estou tentando fechar um MessageDialog em meu aplicativo WinRT.Percebi que se tento mostrar duas caixas de diálogo de mensagens ao mesmo tempo, recebo uma UnauthorizedAccessException.Para evitar isso, quero fechar a caixa de diálogo de mensagem existente, se estiver aberta.Eu uso isso para mostrar a caixa de diálogo:
MessageDialog md = new MessageDialog(" ");
private void MessageBox(string s)
{
Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
{
md.Content = s;
//CLOSE HERE
md.ShowAsync();
}
);
}
Como faço para fechá-lo?
Solução
Em vez de tentar encontrar uma maneira de fechá -lo, tente isso declarar uma variável de instância para asyncCommand;
AsyncCommand command;
command = md.ShowAsync();
então em seu manipulador de comando, antes de executar seu método, verifique se o comando é nulo
if(command!=null)
{
command.Cancel();
}
// FAÇA MATER
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow