Sto lavorando con Xamarin, ancora nuovo, ma ho un problema che ho la sensazione che non dovrei esserlo. Ecco il mio problema:Form Xamarin "... DisplayAlert non esiste nel contesto corrente."
using System;
using Xamarin.Forms;
namespace DataBinding_Lists
{
public class App
{
public static Page GetMainPage()
{
var listView = new ListView { RowHeight = 40 };
listView.ItemsSource = new Person []
{
new Person { FirstName = "Abe", LastName = "Lincoln" },
new Person { FirstName = "Groucho", LastName = "Marks" },
new Person { FirstName = "Carl", LastName = "Marks" },
};
listView.ItemTemplate = new DataTemplate(typeof(TextCell));
listView.ItemTemplate.SetBinding(TextCell.TextProperty, "FirstName");
listView.ItemSelected += async (sender, e) => {
await DisplayAlert ("Tapped!", e.SelectedItem + " was tapped.", "OK", "");
};
return new ContentPage {
Content = new StackLayout
{
Padding = new Thickness (5,20,5,5),
Spacing = 10,
Children = { listView }
}
};
}
}
}
Ovviamente, ho una classe su un'altra pagina chiamata "Persona". Questa classe ha due proprietà: "FirstName" e "LastName". Quando provo a mettere tutto questo insieme così in Xamarin, ottengo l'errore dicendo: "Il nome 'DisplayAlert' non esiste nel contesto corrente."
Questo errore ti sta dicendo che Xamarin non sa cosa sia DisplayAlert. Probabilmente ti manca un riferimento a un assembly, manca un'istruzione 'using' o entrambe le cose. –
Il metodo _DisplayAlert_ viene utilizzato da "Xamarin.Forms", che, come detto sopra, sto usando. DisplayAlert è un metodo creato da e per Xamarin, quindi se sto usando quello che mi dice, allora non so perché continua a darmi questo errore. (http://developer.xamarin.com/guides/cross-platform/xamarin-forms/working-with/pop-ups/) – prinsJoe
Sì, ma è un metodo della classe 'Page' (non sicuro se è statico o metodo membro), ma non lo chiami usando il prefisso 'Page' né la tua classe' App' eredita dalla classe 'Page', quindi non ha modo di sapere come chiamarla.Devi fare 'Page.DisplayAlert()' (se si tratta di un metodo statico) o rendere la tua classe 'App' ereditata da' Page' e mantenere il modo attuale di chiamare. –