如何在MasterDetailPage中自定义箭头图标,页面图标和页面标题 – Xamarin.Forms

我在Visual Studio 2015中创build了一个新的空白应用程序(Xamarin.Forms Portable)项目,并修改了App.cs以获得“汉堡菜单”:

public class App : Application { public App() { var masterPage = new ContentPage() { Content = new Label { Text = "Hello from Master!"}, Title = "Master Page" }; var detailPage = new ContentPage() { Content = new Label { Text = "Hello from Detail!" }, Title = "Detail Page" }; var mainPage = new MasterDetailPage() { Master = masterPage, Detail = detailPage, Title = "Main Page" }; // The root page of your application MainPage = mainPage; } . . . } 

一切工作正常,但我怎样才能定制这四件事情:

1)隐藏/更改箭头

2)隐藏/更改图标

3)隐藏/更改标题文本

4)隐藏整个工具栏

MasterDetailPage

  1. 如果在NavigationPage使用DetailPage则可以将箭头更改为汉堡包图标:

     Detail = new NavigationPage(detailPage); 
  2. 要更改图标,只需更改项目文件:

    • YourProject /资源/绘制/的icon.png
    • YourProject /资源/提拉 – 华电国际/的icon.png
    • YourProject /资源/绘制-xhdpi /的icon.png
    • YourProject /资源/绘制-xxhdpi /的icon.png

    或者在您的MasterDetailPage上将Icon属性设置为另一个资源。

    如果你想隐藏图标 – 它只适用于Android。 它可以通过自定义渲染器( http://developer.xamarin.com/guides/cross-platform/xamarin-forms/custom-renderer/ )来解决:

     public class CustomNavigationRenderer : NavigationRenderer { protected override void OnElementChanged(ElementChangedEventArgs<NavigationPage> e) { base.OnElementChanged (e); var actionBar = ((Activity)Context).ActionBar; actionBar.SetIcon (Resource.Color.transparent); } } 

    编辑:它也可以在MainActivity.cs中完成:

     ActionBar.SetIcon (new ColorDrawable(Resources.GetColor (Android.Resource.Color.Transparent))); 
  3. 只需使用Page上的Title属性。

  4. SetHasNavigationBar(page, false);