如何创建可用于所有 xamarin 表单页面的页脚?

san*_*ndy 2 xaml footer xamarin xamarin.forms

我正在创建一个应用程序,其中我想要所有 xaml 页面通用的页脚。我尝试了此链接xamarin 论坛上给出的解决方案

但它显示部分类 bcoz 的错误我在继承类PageToInherit时使用xamarin xaml 表单页面。如果我只使用页面(仅 .cs 文件),则没有错误。

public partial class TodoList : PageToInherit
{
    public TodoList()
    {
        InitializeComponent();
        this.Title = "TodoList page";
        Button button = new Button();
        button.Text = "BUTTON 1";

        MainStackLayout.Children.Add(button);

        Content = MainStackLayout;
    }
}
Run Code Online (Sandbox Code Playgroud)

Ale*_*aro 5

我想你可以看看TemplatedPage

创建控制模板

<?xml version="1.0" encoding="utf-8" ?>
<Application
    xmlns="http://xamarin.com/schemas/2014/forms"
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
    x:Class="Mobile.App">
  <Application.Resources>
    <ResourceDictionary>
      <ControlTemplate x:Key="MainPageTemplate">
        <StackLayout>
          <Label Text="Header Content" FontSize="24" />         
          <ContentPresenter />
        </StackLayout>
      </ControlTemplate>
    </ResourceDictionary>
  </Application.Resources>
</Application>
Run Code Online (Sandbox Code Playgroud)

应用控制模板

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
               xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
               x:Class="Mobile.MainPage"
               ControlTemplate="{StaticResource MainPageTemplate}">

  <Label Text="Main Page Content" FontSize="18" />

</ContentPage>
Run Code Online (Sandbox Code Playgroud)

使用模板绑定

<ControlTemplate x:Key="MainPageTemplate">
  <StackLayout>
    <Label Text="{TemplateBinding BindingContext.HeadingText}" FontSize="24" />         
    <ContentPresenter />
  </StackLayout>
</ControlTemplate>
Run Code Online (Sandbox Code Playgroud)

这里的博客