Aunque parezca sencillo, me parecio un poco confusa esta clase. Creo que debe ser un paso a paso para los que estamos empezando en esto podamos enenderlo mejor.
Introducción a .NET MAUI
¿Qué aprenderemos en este curso?
Qué es .NET MAUI y Arquitectura de una aplicación
Breve historia de Xamarin
Single project
Instalando Visual Studio 2022
Instalación de Visual Studio 2022 en Windows
Instalación de Visual Studio 2022 en Mac
Conociendo el XAML y su estructura
¿Qué es XAML?
Pages, Layouts y Views
Pages
ContentPage
FlyoutPage y NavigationPage
TabbedPage
Layouts
StackLayout
AbsoluteLayout
Grid
Retos usando el Grid
FlexLayout
Retos usando FlexLayout
Estilos
Tipos de estilos
Practicando estilos en .NET MAUI
Retos usando estilos
Reto de UI con .NET MAUI
¿Qué implica el reto de replicar el UI?
UI de una tarjeta de perfil
Conclusión
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Leomaris Reyes
Aportes 20
Preguntas 5
Aunque parezca sencillo, me parecio un poco confusa esta clase. Creo que debe ser un paso a paso para los que estamos empezando en esto podamos enenderlo mejor.
Aquà hay un poco más de información sobre XML Namespaces para .NET MAUI:
https://learn.microsoft.com/en-us/dotnet/maui/xaml/namespaces/
Tuve el siguiente problema con el flyout, cree algunas pantallas para navegar y no funcionaba. Falto controlar el evento de selectionCanged para que cambie de pantalla, para que funcione si quieren navegar entre pantallas por el menu. Agreguen en FlyoutSamplePage.xaml.cs
namespace PagePlatziSample.Views.Pages.FlyoutSample;
public partial class FlyoutSamplePage : FlyoutPage
{
public FlyoutSamplePage()
{
InitializeComponent();
flyoutPage.collectionView.SelectionChanged += OnSelectionChanged;
}
void OnSelectionChanged(object sender, SelectionChangedEventArgs e)
{
var item = e.CurrentSelection.FirstOrDefault() as FlyoutPageItem;
if (item != null)
{
Detail = new NavigationPage((Page)Activator.CreateInstance(item.TargetType));
if (!((IFlyoutPageController)this).ShouldShowSplitMode)
IsPresented = false;
}
}
}
Aunque no fue fácil seguir el ritmo porque este ejemplo que explica ya tenÃa varios cambios realizados como las carpetas que agregaron, y otras par de cosas que vi , y aunque me tuve que repetir como 5 veces el video y revisar documentación, lo logré , coloque un icono tipo hamburguesa para abrir el menú y coloque varios iconos.
Les dejo un link donde se explica como agregar un archivo ttf de fuentes y un helper al proyecto para su implementación:
Custom Fonts & Material Design Icons in .NET MAUI
Además les dejo como logré su utilización en el Flyout ya que es distinta al ejemplo que se muestra agregándolo al MainPage:
<CollectionView.ItemsSource>
<x:Array Type="{x:Type Views:FlyoutPageItem}">
<Views:FlyoutPageItem Title="Home"
Icon="{x:Static Helpers:MaterialDesignIconFonts.Home}"
TargetType="{x:Type local:MainPage}" />
</x:Array>
</CollectionView.ItemsSource>
<CollectionView.ItemTemplate>
<DataTemplate>
<HorizontalStackLayout Margin="20">
<Image>
<Image.Source>
<FontImageSource
FontFamily="MaterialDesignIcons"
Glyph="{Binding Icon}"
Color="Black"/>
</Image.Source>
</Image>
<Label Margin="20,0"
Text="{Binding Title}"
FontSize="20"
VerticalOptions="Center"/>
</HorizontalStackLayout>
</DataTemplate>
</CollectionView.ItemTemplate>
La etiqueta de Image debe tener apertura y cierre para anidarle subetiquetas, y es la de FontImageSource la que permite agregar como un Glyph en caracter que representa al Ãcono. Estoy a la orden por cualquier duda!
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?