Я хочу управлять появлением панели навигации в xaml?
И как я могу управлять появлением панели навигации на странице с вкладками? NavigationBar.SetHasNavigationBar(tabPage,true), похоже, не работает.
Спасибо вам всем,
Иления
Я хочу управлять появлением панели навигации в xaml?
И как я могу управлять появлением панели навигации на странице с вкладками? NavigationBar.SetHasNavigationBar(tabPage,true), похоже, не работает.
Спасибо вам всем,
Иления
Возможно, проверьте, что ваша главная страница обернута NavigationPage в общедоступной функции App():
MainPage = new NavigationPage(new LoginPage());
Изменение цвета панели навигации
Чтобы изменить цвет панели навигации в целом с помощью 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, цвет фона будет применяться к вашей панели вкладок.
Вы можете установить цвет панели навигации только тогда, когда вы инициализируете свою страницу навигации следующим образом:
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;
}
}