如何在 C# 中为 ContentPage 设置 Shell.NavBarIsVisible="false"?

Ala*_*an2 1 xamarin xamarin.forms

这是我的 XAML:

<?xml version="1.0" encoding="UTF-8"?>
<ContentPage
    Shell.NavBarIsVisible="false"
    xmlns ="http://xamarin.com/schemas/2014/forms"
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
    x:Class="Test.ABC" >
Run Code Online (Sandbox Code Playgroud)

我试图在 C# 中重新创建它,但遇到了一个问题,因为这些方法都不起作用:

namespace Test
{

    public partial class ABC : ContentPage
    {
        Shell.NavBarIsVisible = false;

        public ABC()
        {
            Shell.SetNavBarIsVisible = false;
            Shell.NavBarIsVisibleProperty = false;
Run Code Online (Sandbox Code Playgroud)

有谁知道如何在没有 XAML 文件的情况下在 C# 实现中执行此操作。

Luc*_*ang 7

您需要在方法中调用它们OnAppearing

在内容页中

protected override void OnAppearing()
{
   base.OnAppearing();
   Shell.SetTabBarIsVisible(this, false);
   Shell.SetNavBarIsVisible(this, false);
}
Run Code Online (Sandbox Code Playgroud)

注意:如果您只想隐藏特定 ContentPage 中的 Tabbar 和 NavigationBar,请不要忘记在离开页面时显示它们

protected override void OnDisappearing()
 {
   base.OnDisappearing();
   Shell.SetTabBarIsVisible(this, true);
   Shell.SetNavBarIsVisible(this, true);
}
Run Code Online (Sandbox Code Playgroud)