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?

Foi útil?

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
scroll top