没有导航器导航栏没有显示titleView

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了没有导航器导航栏没有显示titleView相关的知识,希望对你有一定的参考价值。

Xamarin的新手,我正在尝试在我的跨平台应用程序中创建自定义导航栏。经过一些阅读后,我发现我可以在我的xaml页面文件中使用title-view组件,如下所示。

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="amici.MyGroups">
    <NavigationPage.TitleView>
        <StackLayout Orientation="Horizontal" VerticalOptions="Center" Spacing="10">
            <Label HorizontalOptions="StartAndExpand" Text="Left"/>
            <Label HorizontalOptions="CenterAndExpand" Text="Center"/>
            <Label HorizontalOptions="EndAndExpand" Text="Right"/>
        </StackLayout>
    </NavigationPage.TitleView>

    <ContentPage.Content>
        <ScrollView>
            <Grid x:Name="grid1">
                <StackLayout>
                        <Label Text="Welcome"
                        VerticalOptions="CenterAndExpand" 
                        HorizontalOptions="CenterAndExpand" />
                    </StackLayout>
                   <ActivityIndicator x:Name="WaitIcon"  IsRunning="{Binding IsBusy}" VerticalOptions="Center" HorizontalOptions="Center" />
            </Grid>
        </ScrollView>
    </ContentPage.Content>
</ContentPage>

我导航到我的页面“MyGroups”,如下所示:Navigation.PushAsync(new MyGroups());

但是,唯一显示的是带有后退图标箭头的默认导航页面?

不经意间我错过了什么,或者我不明白。这是否需要在应用程序级别完成?

答案

正如XAML所述: <NavigationPage.TitleView> .. </NavigationPage.TitleView>

您可以将完全自定义的View设置为NavigationBar,但是,这仅适用于NavigationPages。您的代码部分正确,因为您将NavigationPage.TitleView设置为不在NavigationPage上: Navigation.PushAsync(new MyGroups())

如果您将导航到NavigationPageNavigation.PushAsync(new NavigationPage(new MyGroups()))

你应该看到你的自定义NavigationPage.TitleView。但是,结果将取决于您当前的导航模型,最终可能会出现多个导航栏。那是因为你将NavigationPage嵌套在另一个NavigationPage中。

我强烈建议您阅读有关此主题的official documentation,以便您明白这一点。

另一答案

您也可以使用MainPage设置Navigation

MainPage = new NavigationPage(new PageName());

以上是关于没有导航器导航栏没有显示titleView的主要内容,如果未能解决你的问题,请参考以下文章

自定义导航栏 titleView 在加载新标题之前不会清除以前的标题

为啥导航栏徽标不显示在主视图中

Swift - 滚动时缩小导航栏

iPhone 导航栏标题文本颜色

如何修复titleView在过渡期间被隐藏到导航栏?

NavigationItem Titleview 以 IOS 7 下的导航栏为中心 - 不可能?