我正在尝试使用Xamarin Forms创建音乐播放器。现在,在页面底部,始终有一个带有音乐播放器控件的栏。我认为不是总是在每个视图中添加标签并创建一个新的PlayerBar,而是创建一个RootPage并用一次在其内部和上方创建一次跨越视图其余部分的NavigationBar的RootPage很有用。
在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。我还有其他选择可以解决吗?
答案 0 :(得分:1)
这是不可能的。 Page
只能位于根目录。在内部可以有一个VisualElement
,在其中VisualElement
中可以嵌套任意数量的东西。
要实现这种行为,请从NavigationPage
继承并在底部添加播放器控件。或者,您将必须模仿自己的导航页面行为。