2015-06-25 3 views
1

Я хочу управлять появлением навигационной панели в xaml?Xamarin.Forms Добавить NavigationBar

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

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

Ilenia

ответ

0

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

Чтобы изменить цвет панели навигации обобщенно, используя Xamarin.Forms, так что вам нужно всего лишь изменить свойства в одном месте, я предлагаю добавить в файл App.cs следующее: mentioned in this post on the Xamarin Forums.

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

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

Вам хотя нужно написать рендерер клиента для прошивки следующим образом:

[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 на прошивке, цвет фона будет применен к вашей панели вкладок.

0

Вы можете установить цвет Панель навигации только при инициализации navigationpage так:

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

Для выдачи установки tintcolor в TabBar я рекомендую использовать средства визуализации, как так:

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; 
    } 
}