Как настроить значок стрелки, значок страницы и заголовок страницы в MasterDetailPage – Xamarin.Forms

Я создал новый проект Blank App (Xamarin.Forms Portable) в Visual Studio 2015 и модифицировал 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. Вы можете изменить стрелку на значок гамбургера, если вы используете свой DetailPage в NavigationPage :

     Detail = new NavigationPage(detailPage); 
  2. Чтобы изменить значок, просто измените файлы проекта:

    • YourProject / Ресурсы / рисуем / icon.png
    • YourProject / Ресурсы / вытяжка-ИПЧР / icon.png
    • YourProject / Ресурсы / вытяжка-xhdpi / icon.png
    • YourProject / Ресурсы / вытяжка-xxhdpi / icon.png

    Или в свойстве Icon MasterDetailPage для другого ресурса.

    Если вы хотите скрыть значок – это применимо только к 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); } } 

    EDIT: это также можно сделать в MainActivity.cs:

     ActionBar.SetIcon (new ColorDrawable(Resources.GetColor (Android.Resource.Color.Transparent))); 
  3. Просто используйте свойство Title на Page .

  4. SetHasNavigationBar(page, false);