首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用TitleBar和TabbedPage栏

使用TitleBar和TabbedPage栏
EN

Stack Overflow用户
提问于 2019-12-07 07:29:46
回答 1查看 348关注 0票数 0

我有个问题。我创建了一个自定义TitleBar,如下所示:

代码语言:javascript
复制
<Shell.TitleView>
    <StackLayout Orientation="Horizontal" VerticalOptions="FillAndExpand" HorizontalOptions="Fill">
        <Image Source="Title_Dark.png" HorizontalOptions="CenterAndExpand" HeightRequest="25" Margin="0, 0, 20, 0" />

        <Image Source="Add.png" HorizontalOptions="End" HeightRequest="35" Margin="0, 0, 8, 0">
            <Image.GestureRecognizers>
                <TapGestureRecognizer Tapped="imgAdd_Clicked" />
            </Image.GestureRecognizers>
        </Image>
    </StackLayout>
</Shell.TitleView>

当我点击TitleBar中的图像"Add“时,我会转到这样的TabbedPage:

代码语言:javascript
复制
TabbedPage page = new TabbedPage();
page.Children.Add(new MemeBuilder());
page.Children.Add(new MemeTemplateList());

await Navigation.PushAsync(page);

现在,我想保留第一个页面中的TitleBar,并使用该栏下面的选项卡页栏。这是可能的吗?如何实现?

EN

回答 1

Stack Overflow用户

发布于 2019-12-11 05:30:03

您可以使用ControlTemplate来做到这一点

App.xaml中定义ControlTemplate

代码语言:javascript
复制
<ControlTemplate x:Key="TopBar">
<StackLayout Orientation="Horizontal" VerticalOptions="FillAndExpand" HorizontalOptions="Fill">
        <Image Source="Title_Dark.png" HorizontalOptions="CenterAndExpand" HeightRequest="25" Margin="0, 0, 20, 0" />

        <Image Source="Add.png" HorizontalOptions="End" HeightRequest="35" Margin="0, 0, 8, 0">
            <Image.GestureRecognizers>
                <TapGestureRecognizer Command="{TemplateBinding Parent.BindinContext.Command1}" />
            </Image.GestureRecognizers>
        </Image>
    </StackLayout>
</ControlTemplate>

在任何使用外壳的ContentPage

代码语言:javascript
复制
Shell.TitleView = new TemplatedView(Application.Current.Resources["TopBar"]);
代码语言:javascript
复制
<ContentPage>
<Shell.TitleView>
<TemplatedView ControlTemplate={StaticResource TopBar} />
</Shell.TitleView>
</ContentPage>

在使用默认NavigationPage的ContentPages上

代码语言:javascript
复制
<NavigationPage.TitleView>
<TemplatedView ControlTemplate={StaticResource TopBar}/>
</NavigationPage.TitleView>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59221608

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档