如何在Xamarin.Forms on Android中的NavigationBar左侧添加ToolbarItem?

How to add ToolbarItem on the left side of NavigationBar in Xamarin.Forms on Android?

我需要关闭按钮(在这种情况下)在左边[=32= 导航栏的],如下所示。我只需要它用于弹出窗口,因此其他 elements/navigations.

没有潜在问题

Google 中有一些关于此的建议,但我只看到 iOS 个示例(这在 iOS custom renderer 中不是什么大事),但没有提示如何使用 Android.

轻松处理(

为了清楚起见,Xamarin.Forms 定义类似于此(或代码隐藏):

<ContentPage.ToolbarItems>
    <ToolbarItem Text="X" Priority="-1" Command="{Binding GoCancel}"/>
    <ToolbarItem Icon="icon_save" Command="{Binding GoSave}"/>
</ContentPage.ToolbarItems>

有什么想法吗?

Xamarin Forms 3.2 提供了一种使用 NavigationBar 处理更复杂场景的新方法。它被称为 TitleView.

有了这个,你可以将任何你想要的 View 推到 NavigationBar

示例XAML:

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="NavigationPageTitleView.TitleViewPage">
    <NavigationPage.TitleView>
        <Slider HeightRequest="44" WidthRequest="300" />
    </NavigationPage.TitleView>
    ...
</ContentPage>

更多信息请点击这里 https://docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/navigation/hierarchical#displaying-views-in-the-navigation-bar and example project can be found here https://developer.xamarin.com/samples/xamarin-forms/Navigation/TitleView/

有点晚了,但这会起作用,将其添加到将在 PushModalAsync 上调用的页面:

<NavigationPage.TitleView>
        <StackLayout Orientation="Horizontal" VerticalOptions="Center" Margin="20,0,0,0" Spacing="0">
            <ImageButton Source="img.png"
                         HorizontalOptions="Start"
                         Clicked="BackButton_Clicked"
                         HeightRequest="25"
                         WidthRequest="25"/>
        </StackLayout>
</NavigationPage.TitleView>