-1
私はいくつかの子コントロールを設定するスタックレイアウトを持つタブ付きのページを持っています。ページはもともとナビゲーションがありませんでしたが、タブ付きのページ(app.csにプログラムで作成)を追加しました。これは、以下のメソッドが選択したタブ付きページのスタックレイアウトには挿入できないことを意味します。現在のTabbedPageでコントロールにアクセスするには?
現在のタブ付きページにアクセスして、アイテムをスタックレイアウトに追加する方法を知る必要があります。
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を継承することで、これを試してみましたが、今で最初の行は変換できないと言い、2行目にMainPageを割り当てるとCurrent.MainPageが指すクラスになるように、 'CurrentPage' – connersz
がApp.cs(またはApp.xaml.cs)に定義されていないと表示されます。そのクラスはTabbedPageから継承していますか? – Jason
これは次のようなものです:MainPage = new TabbedPage {Children = {新しいMainPage()、新しいCompanySetup {BackgroundColor = Color.FromHex( "baf4d5")}、新しいChangePassword {BackgroundColor = Color.FromHex( "baf4d5")} }}; – connersz