У меня есть страница с вкладками с stacklayout, которую я заполняю некоторыми дочерними элементами управления. На странице первоначально не было навигации, но теперь я добавил вкладку (созданную программно в app.cs), это означает, что приведенный ниже метод не может заполнить стек стеллажей выбранной вкладки.Как получить доступ к управлению текущей вкладкой?
Мне нужно знать, как получить доступ к текущей вкладке, а затем добавить элементы в stacklayout.
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());
}
}
Эта проблема связана с этой строки, так как изменения в вкладках настройки страницы:
var mp = (MainPage)App.Current.MainPage;
Я попробовал это унаследовав TabbedPage, но теперь на в первой строке говорится, что «Невозможно преобразовать», а во второй строке нет определения «CurrentPage» – connersz
в вашем App.cs (или App.xaml.cs) при назначении MainPage, который будет классом, на который указывает Current.MainPage. Наследует ли этот класс от TabbedPage? – Jason
Это выглядит так: MainPage = new TabbedPage {Children = {new MainPage(), новый CompanySetup {BackgroundColor = Color.FromHex ("baf4d5")}, новый ChangePassword {BackgroundColor = Color.FromHex ("baf4d5")} }}; – connersz