1
resposta

Como fazer para Xamarin.Forms exibir tela inicial do projeto portable?

Olá, minha aplicação Xamarin.Forms não está compilando a página que defini como inicial no App.xaml.cs, em lugar disso só aparece uma página em branco quando a compilação finaliza.

É como se ele estivesse ignorando o InitializeComponent. Como posso estar fazendo para que o Xamarin.Forms inicialize na página que defini?

public App()
    {
        InitializeComponent();
        MainPage = new MainPage();
    }

App.xaml.cs


public partial class MainPage : Xamarin.Forms.TabbedPage
{
    public MainPage()
    {
        InitializeComponent();
    }

}

MainPage.xaml.cs


<?xml version="1.0" encoding="utf-8" ?>
<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
         xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
         xmlns:d="http://xamarin.com/schemas/2014/forms/design"
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
         mc:Ignorable="d"
         x:Name="HomePage"
         x:Class="NitApp.MainPage">

<ContentPage IconImageSource="home.png" Title="Início" BackgroundColor="Aqua">
    <StackLayout BackgroundColor="White">
        <Label Text="Welcome to Xamarin.Forms!" 
           HorizontalOptions="Center"
           VerticalOptions="CenterAndExpand" />
    </StackLayout>
</ContentPage>

<ContentPage IconImageSource="home.png" Title="Início" BackgroundColor="Aqua">
    <StackLayout BackgroundColor="White">
        <Label Text="Welcome to Xamarin.Forms!" 
           HorizontalOptions="Center"
           VerticalOptions="CenterAndExpand" />
    </StackLayout>
</ContentPage>
</TabbedPage>

MainPage.xaml

1 resposta

Olá Joyce, tudo bem?

Me parece que está faltando a tag <TabbedPage.Children></TabbedPage.Children> para envolver seus <ContentPage></ContentPage>.

Esse conteúdo é dado no terceiro curso da formação. Será que a sua intenção não seria criar uma página do tipo ContentPage ao invés de TabbedPage? Ou então, se sua intenção é usar o TabbedPage, precisa definir a tag <TabbedPage.Children> para envolver o <ContentPage>.

Espero ter ajudado!