El kit de herramientas de la comunidad de marcado de .NET Maui es una colección de métodos de extensión de C# fluidos que permite a los desarrolladores continuar arquitectando sus aplicaciones utilizando MVVM, enlaces, diccionarios de recursos, etc., sin la necesidad de XAML
Todas las características son aportadas por usted, nuestra increíble comunidad .NET, y mantenidas por un conjunto central de mantenedores.
Y, la mejor parte, ¡las características que agrega al kit de herramientas .NET Maui se puede incluir algún día en la biblioteca oficial de .NET Maui! Aprovechamos los kits de herramientas de la comunidad para debutar nuevas funciones y trabajar en estrecha colaboración con el equipo de ingeniería de .NET Maui para nominar características para la promoción.
Para utilizar el conjunto de herramientas de la comunidad .NET Maui, debe llamar al método de extensión en su archivo MauiProgram.cs
de la siguiente manera:
using CommunityToolkit . Maui . Markup ;
public static MauiApp CreateMauiApp ( )
{
var builder = MauiApp . CreateBuilder ( ) ;
// Initialise the toolkit
builder . UseMauiApp < App > ( ) . UseMauiCommunityToolkitMarkup ( ) ;
// the rest of your logic...
}
Toda la documentación para CommunityToolkit.Maui.Markup
se puede encontrar aquí en Microsoft Learn:
https://learn.microsoft.com/dotnet/communitytoolkit/maui/markup/markup
Aquí hay algunos breves ejemplos que muestran cómo se pueden lograr tareas comunes mediante el uso del paquete de marcado.
C# El marcado nos permite definir la unión con fluidez y, por lo tanto, encadenar múltiples métodos para reducir la verbosidad de nuestro código:
new Entry ( )
. Bind ( Entry . TextProperty , static ( ViewModel vm ) => vm . RegistrationCode ) ;
Para obtener más detalles sobre las posibles opciones para el método Bind
, consulte la documentación de extensiones BindableObject
.
El marcado nos permite definir el tamaño con fluidez y, por lo tanto, encadenar múltiples métodos para reducir la verbosidad de nuestro código:
new Entry ( ) . Size ( 200 , 40 ) ;
Para obtener más detalles sobre las posibles opciones para el método Size
, consulte la documentación de Extensions VisualElement
.
Este ejemplo crea un objeto Grid
, con Label
infantil y objetos Entry
. La Label
muestra texto, y los datos Entry
se unen a la propiedad RegistrationCode
de ViewModel. Cada vista del niño aparece en una fila específica en la Grid
, y la Entry
abarca todas las columnas en la Grid
. Además, se establece la altura de la Entry
, junto con su teclado, colores, el tamaño de fuente de su texto y su Margin
.
C# Las extensiones de marcado también permiten a los desarrolladores definir nombres para columnas y filas (por ejemplo, Column.Input
) usando un enum
.
C# Markup permite que esto se define usando su API fluida:
using static CommunityToolkit . Maui . Markup . GridRowsColumns ;
class SampleContentPage : ContentPage
{
public SampleContentPage ( )
{
Content = new Grid
{
RowDefinitions = Rows . Define (
( Row . TextEntry , 36 ) ) ,
ColumnDefinitions = Columns . Define (
( Column . Description , Star ) ,
( Column . Input , Stars ( 2 ) ) ) ,
Children =
{
new Label ( )
. Text ( " Code: " )
. Row ( Row . TextEntry ) . Column ( Column . Description ) ,
new Entry
{
Keyboard = Keyboard . Numeric ,
BackgroundColor = Colors . AliceBlue ,
} . Row ( Row . TextEntry ) . Column ( Column . Input )
. FontSize ( 15 )
. Placeholder ( " Enter number " )
. TextColor ( Colors . Black )
. Height ( 44 )
. Margin ( 5 , 5 )
. Bind ( Entry . TextProperty , static ( ViewModel vm ) vm => vm . RegistrationCode )
}
} ;
}
enum Row { TextEntry }
enum Column { Description , Input }
}
Las nuevas características seguirán este flujo de trabajo, descrito con más detalle en los pasos a continuación
El debate relacionado con las nuevas funciones de kit de herramientas Maui tiene lugar en forma de discusiones en este repositorio.
Si desea sugerir una característica, discuta las notas o propuestas de diseño actuales, etc., abra un nuevo tema de discusión.
Las discusiones que son cortas y que se mantienen en el tema tienen mucho más probabilidades de ser leídas. Si deja el número de comentario cincuenta, es probable que solo unas pocas personas lo lean. Para hacer que las discusiones sean más fáciles de navegar y beneficiarse, observe algunas reglas generales:
Una vez que tenga una propuesta completamente desarrollada que describe una nueva característica en detalles sintácticos y semánticos, abra un problema para ello, y se etiquetará como una propuesta. El hilo de comentarios sobre el tema se puede utilizar para sacar o discutir brevemente los detalles de la propuesta, así como los pros y los contras de adoptarlo en el kit de herramientas .net maui. Si un problema no cumple con la barra de ser una propuesta completa, podemos trasladarlo a una discusión, para que pueda madurarse aún más. Problemas abiertos específicos o una discusión más expansiva con una propuesta a menudo garantizarán abrir una discusión paralela en lugar de abarrotar la sección de comentarios sobre el tema.
Cuando un miembro del equipo principal del kit de herramientas .NET Maui encuentra que una propuesta merece la promoción en el kit de herramientas, puede defenderlo, lo que significa que lo llevarán al standup de la comunidad .NET MAUI Toolkit de .NET Maui.
El equipo central del kit de herramientas .NET Maui votará colectivamente para trabajar en la adopción y/o modificar la propuesta, lo que requiere una aprobación mayoritaria (es decir, mayor al 50%) que se agregará al kit de herramientas.
Una vez que una propuesta ha sido defendida y ha recibido una aprobación mayoritaria del equipo central de kit de herramientas .NET Maui, se puede abrir una solicitud de extracción.
Después de que se haya enviado una solicitud de extracción, será revisado y aprobado por el campeón de la propuesta.
Cada nueva característica también requiere que se agregue una muestra asociada a la aplicación de muestra .NET Maui Toolkit.
Antes de que se pueda fusionar una solicitud de extracción en el kit de herramientas .net maui, el autor de solicitud de extracción también debe enviar la documentación a nuestro repositorio de documentación.
Una vez que se ha revisado una solicitud de extracción + aprobada y la documentación ha sido escrita, enviada y aprobada, la nueva característica se fusionará agregándola al .NET MAUI Toolkit
Como parte de la Fundación .NET, hemos adoptado el Código de Conducta de la Fundación .NET. Familiarícese con eso antes de participar con este repositorio. ¡Gracias!
Este proyecto es compatible con la Fundación .NET.