微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将控件上方/上方添加到Shell App栏中,而不对其进行更改

如何解决将控件上方/上方添加到Shell App栏中,而不对其进行更改

我正在尝试在Label应用栏(导航栏)上方添加一个可以作为任何控件的层(例如,让我们使用Shell),以便在所有页面上都可用。为此,我尝试使用TitleView,这显然不能满足我的要求(请参见下面的屏幕截图)。

尝试

Page1.xaml:

<ContentPage...>
...
  <Shell.TitleView>
     <StackLayout Spacing="0">
       <Label Text="Hello world" VerticalOptions="Start" HorizontalOptions="Start"/>
       <Label Text="{Binding Source={x:Reference page1},Path=Title}"/>
     </StackLayout>
  </Shell.TitleView>
</ContentPage>

AppShell.xaml:

<Shell...>
...
    <FlyoutItem FlyoutdisplayOptions="AsMultipleItems">
        <Tab Title="Tab1">
            <ShellContent Title="Page1"
                          ContentTemplate="{DataTemplate local:Page1}"/>

            <ShellContent Title="Page2"
                          ContentTemplate="{DataTemplate local:Page2}"/>
        </Tab>

        <Tab Title="Tab2">
            <ShellContent Title="Page1"
                          ContentTemplate="{DataTemplate local:Page1}"/>

            <ShellContent Title="Page2"
                          ContentTemplate="{DataTemplate local:Page2}"/>
        </Tab>
    </FlyoutItem>
</Shell>

所以我要实现的目标是2分:

  1. 如屏幕截图所示,Label应该位于整个应用程序栏(FlyoutIcon + TitleView)的上方,而不应该仅位于TitleView的顶部。 / li>
  2. 与此同时,ContentPage.Title的原始样式不应更改。

原始页面标题

Original Title

尝试

Attempt

所需结果

Desired

奖金问题:

似乎Shell应用栏由FlyoutIconTitleView两部分组成。 Xamarin.Forms如何/在何处构建Shell布局?简要说明或指向XF Github repo中的相关类。

尝试使用一些Shell自定义渲染器失败。

编辑

  • 附加控件应该是Shell的一部分,以便我可以根据当前页面自定义内容。这也意味着在打开Flyout时将其覆盖。

编辑2

解决方案可能来自即将到来的功能Shell.AppBar。同时打开Android项目级别的解决方案。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。