как я могу использовать Messagebox.Показать в асинхронном методе на Windows Phone 8?

исключение генерируется на MessageBox. Как я могу использовать MessageBox на async способ?

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!");
    }
}

2 ответов


Dispatcher.BeginInvoke(delegate() { MessageBox.Show("your stuff"); });

Не уверен, почему принятый ответ не работает, но вот рабочий пример для .NET 4.5

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

анонимные методы и делегаты

CS0120: ссылка на объект требуется для нестатического поля, метода или свойства "foo"