Удалите панель навигации в приложении Xamarin Forms с помощью Caliburn.Микро
при использовании FormsApplication
базовый класс с новым Xamarin.Формы приложения с помощью Caliburn.Микро, я заканчиваю с пустой навигационной панелью в верхней части экрана. Я предполагаю, что он создается Caliburn.Микро как-то, потому что из коробки Xamarin.Приложения форм нет.
есть ли способ использовать Caliburn.Микро с Xamarin.Формы без этой панели навигации?
3 ответов
Я не использовал Caliburn.Микро, но я предполагаю, что он обертывает вашу страницу с NavigationPage
, Как вы описываете, что произойдет, если это так.
вы должны иметь возможность скрыть эту панель навигации, установив простой атрибут на своей странице следующим образом:
<ContentPage NavigationPage.HasNavigationBar="false"
..... >
</ContentPage>
Если вы не используете страницы XAML и вместо этого делаете весь свой пользовательский интерфейс в коде, то вы можете сделать это таким образом в своем конструкторе страницы:
NavigationPage.SetHasNavigationBar(this, false);
это работает для меня:
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
this.Window.AddFlags(WindowManagerFlags.Fullscreen); // hide the status bar
// Set our view from the "main" layout resource
SetContentView(Resource.Layout.Main);
int uiOptions = (int)Window.DecorView.SystemUiVisibility;
uiOptions |= (int)SystemUiFlags.LowProfile;
uiOptions |= (int)SystemUiFlags.Fullscreen;
uiOptions |= (int)SystemUiFlags.HideNavigation;
uiOptions |= (int)SystemUiFlags.ImmersiveSticky;
Window.DecorView.SystemUiVisibility =
(StatusBarVisibility)uiOptions;
}
Если вы используете Xamarin Forms 3.x попробуйте это в конструкторе
SetValue(NavigationPage.HasNavigationBarProperty, false);
InitializeComponent();