2013-08-29 10 views
6

Wyjątek wygenerowany w MessageBox. Jak korzystać z MessageBox w metodzie asynchronicznej?Jak korzystać z usługi Messagebox. Pokaż metodę asynchroniczną w systemie Windows Phone 8?

private async void Purchheard(object sender,EventArgs e){ 
     Debug.WriteLine("Начинаю покупку"); 
      try{ 
       await CurrentApp.RequestProductPurchaseAsync(ID,false); 
       if(license.ProductLicenses[ID].IsActive){world.is_freemium=false;} 
      }catch (Exception ex){ 

       MessageBox.Show("Finished!"); 
      } 
+0

Jaka jest wyjątek ? – Sean

+3

'Dispatcher.Invoke (() => MessageBox.Show (" cokolwiek "));' –

+1

Dispatcher.BeginInvoke (() => MessageBox.Show ("cokolwiek")); Dziękujemy – Vladislav

Odpowiedz

2
Dispatcher.BeginInvoke(delegate(){messagebox.show("your stuff");}); 
+1

To nie działa –

+0

Czy mogę zobaczyć Twój kod? – gayan1991

+0

@ gayan1991 Nie można przekonwertować metody anonimowej na delegowanie, ponieważ nie jest to typ delegata ... Nie działa zgodnie z propozycją. – pzogr

3

Nie wiem, dlaczego przyjął odpowiedź nie działa, ale tutaj jest przykład pracy dla .NET 4,5

var dg = new Action(() => { MessageBox.Show(msg, name); }); 
Dispatcher.CurrentDispatcher.BeginInvoke(dg); 

Anonymous methods and delegates

CS0120: An object reference is required for the nonstatic field, method, or property 'foo'

+0

To podtrzymuje główny wątek wykonania również –

+0

. Miałem także wymóg, aby nie blokować głównego wątku i działało to dla mnie. – grinder22

Powiązane problemy