2015-04-11 2 views
0

Я бы хотел иметь навигационную страницу с использованием форм xamarin (iOS и Android) с нижним колонтитулом (нижний колонтитул был бы статичным, если страницы перемещаются внутри NavigationPage), этот нижний колонтитул НЕ панель инструментов, я бы хотел, чтобы она была настраиваемой (StackPanel).Xamarin Forms NavigationPage Footer (страница на странице)

В верхней точке точки это означает наличие страницы внутри другой страницы.

Я вижу несколько approachs, что все нуждается в пользовательский визуализатор:

  • Создать обычай "ContentPage", с сложены в ней NavigationPage и StackLayout для колонтитула ...

  • Настройка сам NavigationPage для отображения нижнего колонтитула ...

  • Что-то еще?

Возможно ли это? Какой был бы лучший подход? Кто-то преуспел в этом?

PS: Я пришел acrosse эту тему, что почти достичь этого: http://forums.xamarin.com/discussion/36897/put-a-page-inside-another-page#latest

Thx

+0

Если вы хотите добавить колонтитул на нескольких страницах навигации и Страницы контента затем используют представление содержимого на вашей странице. –

ответ

1

Это, безусловно, может быть сделано, но не поставив ContentPage в ContentPage. Вы никогда не хотите иметь ContentPage внутри ContentPage, если это не страница навигации/MasterDetail/Tabbed, например, ContentPage может идти в TabbedPage. Возможно, но это не стандарт, вероятно, вернется, чтобы укусить вас в будущем.

Там же несколько вариантов:

  1. У колонтитула на каждой странице контента, вы можете сделать это с помощью наследования, которые вы могли бы сделать с сеткой или другими различными макетами. Хорошая часть этого заключается в том, что вам не нужен специальный рендерер , но при перемещении между страницами он может выглядеть не лучшим образом.
  2. Переосмыслить свой UI, так что вам не нужно это делать именно так, есть более простой способ получить такой же эффект, но оставаться в пределах Элементы управления Xamarin.Forms? - «Не дерусь за рамки».
  3. Создайте пользовательский навигационный рендерер, который имеет вид внизу, с этим вы могли бы сделать нижний колонтитул между страницами. Но реализовать это было бы не так просто, как вам понадобится Custom Renderer, вам также нужно будет хорошо знать Xamarin.Forms, Xamarin.iOS и Xamarin.Android. * Обратите внимание, что вы также можете сделать это с помощью MessageCentre.

Все, возможно, это до вас, в котором для реализации, в зависимости от вашего личного времени/знания/бюджета и т.д.

Спасибо

+0

Спасибо за ваш ответ. Я уже пробовал первое решение, но взгляд выглядит немного странным, потому что нижний колонтитул скользит со страницами, а производительность плоха, так как меню воссоздается и переустанавливается на каждой странице. Как создать пользовательский навигационный рендеринг, как бы вы это сделали?Теоретически я попытался бы изменить размер страницы внутри навигационной панели, чтобы позволить пространство для нижнего колонтитула, которое будет отображаться при первом загрузке страницы навигации – Axel

Смежные вопросы