Integración a plataformas

2/21
Recursos

Aportes 2

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

o inicia sesión.

Aquí hay otro ejercicio sobre implementación de la API de teléfono en .NET MAUI:

https://learn.microsoft.com/en-us/training/modules/build-mobile-and-desktop-apps/

Hay que tener en cuenta que para que se nos despliegue el mapa apenas se inicie la aplicación, hay que hacer algunas modificaciones que no se muestran en esta clase.

Básicamente hay dos formas de hacerlo, ambas requieren modificar

  1. Modificar App.xaml.cs para reemplazar el View por defecto con el nuestro

  2. Modificar AppShell.xaml para indicar que el template de contenido que se carga por default es de nuestro View en lugar del por Defecto.

1. MODIFICANDO App.xaml.cs

En nuestro proyecto encontramos el archivo App.xaml, y en el code behind (App.xaml.cs) podemos encontrar nuestro página o componente que se inicializa por defecto cuando se abre la App. Por default tenemos esto:

public partial class App : Application
{
	public App()
	{
		InitializeComponent();

		MainPage = new AppShell();
    }
}

Lo que debemos hacer es modificar MainPage con nuestra página de mapa, así:

public partial class App : Application
{
	public App()
	{
		InitializeComponent();
		MainPage = new Views.ExplorandoFeatures.MapSamplePage();
    }
}

2. MODIFICANDO AppShell.xaml

Esta forma me parece más correcta.

En primer lugar debemos importar nuestro namespace en donde tenemos nuestra página de mapa dentro de la etiqueta Shell principal, luego en la etiqueta ShellContent reemplazamos el valor de DataTemplate por nuestra página y listo. por defecto tenemos esto:

<?xml version="1.0" encoding="UTF-8" ?>
<Shell
    x:Class="MauiPlatzi.AppShell"
    xmlns="url/dotnet/2021/maui"
    xmlns:x="url/xaml"
    xmlns:local="clr-namespace:MauiPlatzi"
    Shell.FlyoutBehavior="Disabled">

    <ShellContent
        Title="Home"
        ContentTemplate="{DataTemplate local:MainPage}"
        Route="MainPage" />

</Shell>

Luego de nuestro cambio debe quedar así:

<?xml version="1.0" encoding="UTF-8" ?>
<Shell
    x:Class="MauiPlatzi.AppShell"
    xmlns="url/dotnet/2021/maui"
    xmlns:x="url/xaml"
    xmlns:local="clr-namespace:MauiPlatzi"
    xmlns:miAliasNameSpace="clr-namespace:MauiPlatzi.Views.ExplorandoFeatures.MapSamplePage"
    Shell.FlyoutBehavior="Disabled">

    <ShellContent
        Title="Home"
        ContentTemplate="{DataTemplate miAliasNameSpace:MapSamplePage}"
        Route="MainPage" />

</Shell>