如何使用 Xamarin.Forms - AppShell 隐藏导航栏中的后退按钮?

How to hide back button in navigation bar using Xamarin.Forms - AppShell?

目前我在我的 xamarin 应用程序中使用 AppShell。我需要在 NavBar 中隐藏后退按钮箭头并将其替换为菜单图标。 NavigationPage.HasBackButton="False" 对我不起作用。

您可以使用自定义渲染器来重置 NavigationIcon。我使用星形图标作为参考。

[assembly: ExportRenderer(typeof(AppShell), typeof(ShellCustomRenderer))]
namespace ShellDemo.Droid
{
public class ShellCustomRenderer : ShellRenderer
{
    public ShellCustomRenderer(Context context) : base(context)
    {

    }

    protected override IShellToolbarAppearanceTracker CreateToolbarAppearanceTracker()
    {
        return new ToolbarAppearance();
    }         

}

public class ToolbarAppearance : IShellToolbarAppearanceTracker
{
    public void Dispose()
    {

    }

    public void ResetAppearance(Android.Support.V7.Widget.Toolbar toolbar, IShellToolbarTracker toolbarTracker)
    {
        //toolbar.SetBackgroundColor(Android.Graphics.Color.Red);
        toolbar.SetNavigationIcon(Resource.Drawable.star_small);// Resource.Drawable.star_small;
    }

    public void SetAppearance(Android.Support.V7.Widget.Toolbar toolbar, IShellToolbarTracker toolbarTracker, ShellAppearance appearance)
    {
        //toolbar.SetBackgroundColor(Android.Graphics.Color.Red);
        toolbar.SetNavigationIcon(Resource.Drawable.star_small);
    }
}

}