2013-08-29 37 views
6

Ngoại lệ được tạo trên MessageBox. Làm thế nào tôi có thể sử dụng MessageBox trong phương pháp async?Tôi làm cách nào để sử dụng Messagebox.Show trong phương thức async trên 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

ngoại trừ là gì ? – Sean

+3

'Dispatcher.Invoke (() => MessageBox.Show (" bất cứ điều gì "));' –

+1

Dispatcher.BeginInvoke (() => MessageBox.Show ("bất cứ điều gì")); Cảm ơn bạn – Vladislav

Trả lời

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

Điều này không hoạt động –

+0

Tôi có thể xem mã của bạn không? – gayan1991

+0

@ gayan1991 Không thể chuyển đổi phương thức ẩn danh thành đại biểu vì nó không phải là loại đại biểu ... Không hoạt động như đã đề xuất. – pzogr

3

Không chắc chắn tại sao câu trả lời chấp nhận không làm việc, nhưng đây là một ví dụ làm việc cho 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

Điều này nắm giữ các chủ đề chính của thực hiện cũng –

+0

Tôi cũng đã có một yêu cầu không để chặn các chủ đề chính và điều này làm việc độc đáo cho tôi. – grinder22

Các vấn đề liên quan