C# 如何在Xamarin表单中的Master Detail页下添加网格视图?

C# 如何在Xamarin表单中的Master Detail页下添加网格视图?,c#,forms,xaml,xamarin,xamarin.forms,C#,Forms,Xaml,Xamarin,Xamarin.forms,我试图在屏幕底部添加一个网格视图,其中包含媒体播放器中正在播放的媒体的“当前播放”信息。问题是,我希望无论页面显示什么,该视图都存在 主布局是导航菜单面板的主详细页面,其中详细页面应包含所有内容 详细信息页面可以是内容页面、导航页面(大部分)或模式内容页面。然而,如果我只能选择一个,我会选择它作为一个导航页面 因此,我只想做一些像这样的事情: 但是在另一个视图/页面中包装一个页面是不可能的,我还试图修改Master Detail page控件模板,将该网格添加到细节页面的底部,并在上面显示任

我试图在屏幕底部添加一个网格视图,其中包含媒体播放器中正在播放的媒体的“当前播放”信息。问题是,我希望无论页面显示什么,该视图都存在

主布局是导航菜单面板的主详细页面,其中详细页面应包含所有内容

详细信息页面可以是内容页面、导航页面(大部分)或模式内容页面。然而,如果我只能选择一个,我会选择它作为一个导航页面

因此,我只想做一些像这样的事情:


但是在另一个视图/页面中包装一个页面是不可能的,我还试图修改Master Detail page控件模板,将该网格添加到细节页面的底部,并在上面显示任何页面,但没有找到原始模板,甚至没有为Master Detail layout设置模板


我是Xamarin的新手,但对c#和xaml有些经验,非常感谢您的帮助。

您可以将
ContentPresenter
与控件模板一起使用

  this.BindingContext = new AppViewModel();
在App.xaml>Application.Resources>ResourceDictionary中创建控件模板

  <!--  Grid Template -->
        <ControlTemplate x:Key="GridTemplate">
            <Grid>
                <Grid.RowDefinitions>
                    <RowDefinition />
                    <RowDefinition />
                </Grid.RowDefinitions>
                <ContentPresenter Grid.Row="0" />
                <Label
                    Grid.Row="1"
                    BackgroundColor="Accent"
                    Text="Grid Template" />
            </Grid>
        </ControlTemplate> 

我已将该项目上传到GitHub上供您参考。

更新:

对于控件模板的数据绑定,可以使用
TemplateBinding

创建AppViewModel:

 public class AppViewModel
{
    public string Name { get; set; } = "Name_A";

    public AppViewModel()
    {

    }
}
App.xml:

   <ControlTemplate x:Key="GridTemplate">

            <Grid>
                <Grid.RowDefinitions>
                    <RowDefinition />
                    <RowDefinition />
                </Grid.RowDefinitions>

                <ContentPresenter Grid.Row="0"  />
                <Label Grid.Row="1" BackgroundColor="Accent" Text="{TemplateBinding BindingContext.Name}" />

            </Grid>
        </ControlTemplate>

谢谢您的帮助,但这正是我不想做的,因为现在网格确实在两个页面中可见,我也可以对项目页面使用相同的原则,但问题是每次页面更改时,整个网格都会重新创建,现在我不再有静态网格的感觉,它只是闪烁着意味着它重新加载。此外,我不再有相同的控件,这意味着我将不得不处理未知数量的重新加载,最终我将创建全局变量来设置。。。或者是数据绑定。。。再次感谢您的帮助。我已经更新了我的回复,告诉您如何使用控件模板的绑定。你可以参考一下。
  this.BindingContext = new AppViewModel();