【发布时间】:2019-12-24 03:34:29
【问题描述】:
【问题讨论】:
标签: c# xamarin.forms
【问题讨论】:
标签: c# xamarin.forms
对于我来说,我必须创建自定义渲染器,因为 NavigationPage.HasBackButton="False" 不起作用。 Xamarin.Forms > 5 第一个 ShellRenderer
public class DriodAppShellRenderer : ShellRenderer
{
public DriodAppShellRenderer(Context context) : base(context)
{
}
protected override IShellToolbarAppearanceTracker CreateToolbarAppearanceTracker()
{
return new MyShellToolbarAppearanceTracker(this);
}
}
然后是 MyShellToolbarAppearanceTracker
public class MyShellToolbarAppearanceTracker : ShellToolbarAppearanceTracker
{
private readonly IShellContext _context;
public MyShellToolbarAppearanceTracker(IShellContext context) : base(context)
{
_context = context;
}
public override void ResetAppearance(Toolbar toolbar, IShellToolbarTracker toolbarTracker)
{
if (toolbarTracker.CanNavigateBack)
{
toolbar.SetNavigationIcon(Resource.Drawable.ic_back);
}
}
public override void SetAppearance(Toolbar toolbar, IShellToolbarTracker toolbarTracker, ShellAppearance appearance)
{
if (toolbarTracker.CanNavigateBack)
{
toolbar.NavigationIcon = null;
}
}
}
【讨论】: