Domanda

Sto cercando di chiudere un MessageGialog nella mia app WinRT.Ho notato se tento di mostrare due finestre di dialogo del messaggio contemporaneamente, ottengo un'interruzione non autorizzata.Per evitare ciò, voglio chiudere la finestra di dialogo Messaggio esistente se è aperto.Io uso questo per mostrare la finestra di dialogo:

    MessageDialog md = new MessageDialog(" ");

    private void MessageBox(string s)
    {
        Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
        {
            md.Content = s;
            //CLOSE HERE
            md.ShowAsync();
        }
        );
    }
.

Come posso chiuderlo?

È stato utile?

Soluzione

Invece di cercare di trovare un modo per chiuderlo, prova questo Dichiarare una variabile di istanza per asynccommand;

AsyncCommand command;

command = md.ShowAsync();
.

Quindi nel tuo comandoHandler, prima di eseguire il tuo metodo controllare se il comando è null

if(command!=null)
{
command.Cancel();
}
.

// do roba / tryagain Block

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top