Xamarin.Forms Добавить панель навигации

Я хочу управлять появлением панели навигации в xaml?

И как я могу управлять появлением панели навигации на странице с вкладками? NavigationBar.SetHasNavigationBar(tabPage,true), похоже, не работает.

Спасибо вам всем,

Иления


person Ilenia Carchia    schedule 25.06.2015    source источник


Ответы (3)


Возможно, проверьте, что ваша главная страница обернута NavigationPage в общедоступной функции App():

MainPage = new NavigationPage(new LoginPage());
person Sabel    schedule 24.03.2021

Изменение цвета панели навигации

Чтобы изменить цвет панели навигации в целом с помощью Xamarin.Forms, чтобы вам нужно было изменить свойства только в одном месте, я предлагаю вам добавить в файл App.cs следующее, например упоминается в этом сообщении на форумах Xamarin.

Изменение цвета панели вкладок

К сожалению, изменение цвета Tab Bar в настоящее время не поддерживается в xaml.

Однако вам нужно будет написать клиентский рендерер для iOS следующим образом:

[assembly: ExportRenderer(typeof(TabbedPage), typeof(CustomTabbedPageRenderer))]
namespace JetAdvice_Free.iOS.Renderers
{
    class CustomTabbedPageRenderer : TabbedRenderer
    {
        protected override void OnElementChanged(VisualElementChangedEventArgs e)
        {
            base.OnElementChanged(e);

            TabBar.TintColor = MonoTouch.UIKit.UIColor.Black;
            TabBar.BarTintColor = MonoTouch.UIKit.UIColor.FromRGB(255, 128, 0);
        }
    }
}

Затем, всякий раз, когда вы используете TappedPage на iOS, цвет фона будет применяться к вашей панели вкладок.

person Demitrian    schedule 25.06.2015
comment
Хотя это и правда, проблема с плакатами не решается: NavigationBar.SetHasNavigationBar(tabPage,true) похоже не работает. - person Sabel; 24.03.2021

Вы можете установить цвет панели навигации только тогда, когда вы инициализируете свою страницу навигации следующим образом:

new NavigationPage(your page here)
        {
            BarBackgroundColor = Color.Green,
            BarTextColor = Color.White
        };

Для установки цвета оттенка панели вкладок я рекомендую использовать средство визуализации следующим образом:

public class TabPage_iOS : TabbedRenderer
{
    public override void ViewWillAppear(bool animated)
    {
        base.ViewWillAppear(animated);

        this.TabBar.TintColor = Color.Blue.ToUIColor();

        UITableView tableView = (UITableView)this.MoreNavigationController.TopViewController.View;
        tableView.TintColor = this.TabBar.TintColor;
    }
}
person BrunoVT    schedule 26.06.2015
comment
Хотя это и правда, проблема с плакатами не решается: NavigationBar.SetHasNavigationBar(tabPage,true) похоже не работает. - person Sabel; 24.03.2021