【问题标题】:Can you put a NavigationPage inside a ContentPage?您可以将 NavigationPage 放在 ContentPage 中吗?
【发布时间】:2018-12-16 00:08:40
【问题描述】:

我正在尝试在 Xamarin Forms 中创建音乐播放器。现在在我的页面底部总是有一个带有音乐播放器控件的栏。与其总是添加标签并在每个视图中创建一个新的 PlayerBar,我认为创建一个 RootPage 并在其内部和上方创建一个跨越视图其余部分的 NavigationPage 会很有用。

在 XAML 中它看起来有点像这样:

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:views="clr-namespace:PodBase.Views"
             xmlns:controls="clr-namespace:PodBase.Controls"
             x:Class="PodBase.Views.RootPage">
    <ContentPage.Content>
        <Grid>
            <NavigationPage>
                <x:Arguments>
                    <views:MainPage/>
                </x:Arguments>
            </NavigationPage>
            <controls:PlayerControl/>
        </Grid>
    </ContentPage.Content>
</ContentPage>

但是,当我尝试它时,我收到一条错误消息,提示无法将 NavigationPage 添加到 IGridList。我可以使用其他选项来解决这个问题吗?

【问题讨论】:

    标签: c# xaml xamarin xamarin.forms


    【解决方案1】:

    这是不可能的。 Page 只能位于根目录。在里面你可以有一个VisualElement,在VisualElement里面你可以嵌套任意数量的东西。

    要实现这种行为,可以从NavigationPage 继承并在底部添加播放器控件。或者,您将不得不模仿自己的导航页面行为。

    【讨论】:

      猜你喜欢
      • 2022-01-20
      • 1970-01-01
      • 2010-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-08
      • 1970-01-01
      相关资源
      最近更新 更多