Ich habe eine Registerkarte mit einem Stacklayout, dass ich mit einigen Kindersteuerelementen bevölkern. Die Seite hatte ursprünglich keine Navigation, aber jetzt habe ich die Registerseite hinzugefügt (programmgesteuert in der App.cs erstellt). Dies bedeutet, dass die Methode unten das Stapellayout der ausgewählten Registerseite nicht auffüllen kann.Wie kann auf die aktuelle TabbedPage zugegriffen werden?
Ich muss wissen, wie Sie auf die aktuelle Registerkarte zugreifen und dann die Elemente zum Stacklayout hinzufügen.
public static void addToReadout(string name, string time, string inout)
{
try
{
Label label1 = new Label { Text = name + " Successfully clocked " + inout + " @ " + time, TextColor = Color.Black };
StackLayout sl = new StackLayout();
var mp = (MainPage)App.Current.MainPage;
if (mp.readOut.Children.Count() < 7)
{
mp.readOut.Children.Add(label1);
mp.readOut.Children.Count();
}
else
{
mp.readOut.Children.RemoveAt(0);
mp.readOut.Children.Add(label1);
mp.readOut.Children.Count();
}
}
catch (Exception ex)
{
ErrorRepository.InsertError(ex.ToString());
}
}
Dieses Problem ist mit dieser Zeile auf eine Registerkarte 'Setup seit Wechsel:
var mp = (MainPage)App.Current.MainPage;
ich versucht, dies durch die TabbedPage vererben, aber jetzt auf die In der ersten Zeile heißt es: Kann nicht konvertieren, und in der zweiten Zeile steht, dass es keine Definition für 'CurrentPage' – connersz
in Ihrer App.cs (oder App.xaml.cs) gibt, wenn Sie MainPage zuweisen. Dies ist die Klasse, auf die Current.MainPage verweist. Erbt diese Klasse von TabbedPage? – Jason
So sieht es aus: MainPage = new TabbedPage {Kinder = {new MainPage(), neues CompanySetup {BackgroundColor = Color.FromHex ("baf4d5")}, neues ChangePassword {BackgroundColor = Color.FromHex ("baf4d5")} }}; – connersz