Arv*_*iya 5 c# xamarin.ios xamarin.forms
我将导航栏上的页面标题设置为
public Homework ()
{
InitializeComponent ();
Title = "Homework";
}
Run Code Online (Sandbox Code Playgroud)
该页面的子页面标签页,其中标签已经有标题“TAB1”。
现在,当我Homework.cs
从Tab1打开页面时,上面的代码将 Tab 标题更改为 Homework,导航栏标题也更改为“Homework”。我不想更改标签标题。
MyTabbed 页面代码使用
public class MyTabbedPage : TabbedPage
{
public MyTabbedPage()
{
this.CurrentPageChanged +=delegate
{
this.Title = this.CurrentPage.Title;
};
}
}
Run Code Online (Sandbox Code Playgroud)
查看一些方便的片段
public App ()
{
InitializeComponent();
MainPage = new NavigationPage(new LoginPage());
}
Run Code Online (Sandbox Code Playgroud)
单击 LoginContentPage 按钮
btnLogin.Clicked +=async delegate {
await Navigation.PushAsync(new ParentDashboard(), false);
};
Run Code Online (Sandbox Code Playgroud)
ParentDashboard 包含选项卡
public partial class ParentDashboard : MyTabbedPage
{
public ParentDashboard()
{
InitializeComponent();
Title="Home"; //upto here title working
}
}
Run Code Online (Sandbox Code Playgroud)
从现在开始,我点击 HomewPage,正如我在这个问题的开头所示,这不起作用。我怎样才能做到这一点?
我猜你的项目的层次结构可能是这样的:
NavigationPage => TabbedPage => 子页面。
然后,每次子页面的标题更改时, 的TabbedPage
标题也会更改。即使我们为这个子页面制作了一个自定义渲染器,也很难更改页面的导航栏的标题。因为 NavigationCtroller 的根 viewController 是您的选项卡式页面。
我建议您调整项目的层次结构,使每个子页面都由导航页面包裹,例如:
这样,您可以通过设置导航页的标题来调整选项卡项的标题,并通过设置 的标题来更改导航栏的标题Homework
。
关于构建可以参考我的代码app()
:
// This is a TabbedPage
var tabbedPage = new MyTabbedPage();
var firstPage = new MainPage();
// The NavigationPage's Title will be shown on the tab, and firstPage's title can be shown on the navigation bar
tabbedPage.Children.Add(new NavigationPage(firstPage) { Title = "FirstPage" });
var homePage = new Homework();
tabbedPage.Children.Add(new NavigationPage(homePage) { Title = "SecondPage" });
MainPage = tabbedPage;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
992 次 |
最近记录: |