La boîte à outils communautaire .net Maui Markup est une collection de méthodes d'extension C # courantes qui permet aux développeurs de continuer à architer leurs applications en utilisant MVVM, les liaisons, les dictionnaires de ressources, etc., sans avoir besoin de XAML
Toutes les fonctionnalités sont apportées par vous, notre incroyable communauté .NET, et entretenus par un ensemble principal de mainteneurs.
Et - la meilleure partie - les fonctionnalités que vous ajoutez à la boîte à outils .net Maui peuvent un jour être incluses dans la bibliothèque officielle .net Maui! Nous tirons parti des kits d'outils communautaires pour débuter de nouvelles fonctionnalités et travaillons en étroite collaboration avec l'équipe d'ingénierie .net Maui pour nommer des fonctionnalités de promotion.
Afin d'utiliser la boîte à outils communautaire .net Maui, vous devez appeler la méthode d'extension dans votre fichier MauiProgram.cs
comme suit:
using CommunityToolkit . Maui . Markup ;
public static MauiApp CreateMauiApp ( )
{
var builder = MauiApp . CreateBuilder ( ) ;
// Initialise the toolkit
builder . UseMauiApp < App > ( ) . UseMauiCommunityToolkitMarkup ( ) ;
// the rest of your logic...
}
Toute la documentation de CommunityToolkit.Maui.Markup
peut être trouvée ici sur Microsoft Learn:
https://learn.microsoft.com/dotnet/communitytoolkit/maui/markup/markup
Voici quelques brefs exemples montrant comment les tâches peuvent être réalisées grâce à l'utilisation du package de balisage.
C # Le balisage nous permet de définir la liaison couramment et donc de chaîner plusieurs méthodes ensemble pour réduire la verbosité de notre code:
new Entry ( )
. Bind ( Entry . TextProperty , static ( ViewModel vm ) => vm . RegistrationCode ) ;
Pour plus de détails sur les options possibles pour la méthode Bind
, reportez-vous à la documentation des extensions BindableObject
.
Le marquage nous permet de définir la dimensionnement couramment et donc de chaîner plusieurs méthodes ensemble pour réduire la verbosité de notre code:
new Entry ( ) . Size ( 200 , 40 ) ;
Pour plus de détails sur les options possibles pour la méthode Size
, reportez-vous à la documentation des extensions VisualElement
.
Cet exemple crée un objet Grid
, avec Label
enfant et des objets Entry
. L' Label
affiche du texte et les données Entry
se lient à la propriété de RegistrationCode
du ViewModel. Chaque vue d'enfant est définie pour apparaître dans une ligne spécifique de la Grid
, et l' Entry
s'étend sur toutes les colonnes de la Grid
. De plus, la hauteur de l' Entry
est définie, ainsi que son clavier, ses couleurs, la taille de la police de son texte et sa Margin
.
C # Les extensions de balisage permettent également aux développeurs de définir des noms pour les colonnes et les lignes (par exemple Column.Input
) à l'aide d'une enum
.
C # Marquage permet de définir ceci à l'aide de son API courante:
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 }
}
De nouvelles fonctionnalités suivront ce flux de travail, décrit plus en détail dans les étapes ci-dessous
Le débat concernant les nouvelles fonctionnalités de la boîte à outils Maui a lieu sous forme de discussions dans ce dépôt.
Si vous souhaitez suggérer une fonctionnalité, discutez des notes ou des propositions de conception actuelles, etc., veuillez ouvrir un nouveau sujet de discussion.
Les discussions courtes et restent sur le sujet sont beaucoup plus susceptibles d'être lues. Si vous quittez le numéro de commentaire cinquante, il y a de fortes chances que quelques personnes ne le liront. Pour faciliter les discussions à naviguer et à bénéficier, veuillez observer quelques règles de base:
Une fois que vous avez une proposition entièrement étoffée décrivant une nouvelle fonctionnalité dans les détails syntaxiques et sémantiques, veuillez en ouvrir un problème, et il sera étiqueté comme une proposition. Le fil de commentaires sur la question peut être utilisé pour hacher ou discuter brièvement des détails de la proposition, ainsi que des avantages et des inconvénients de l'adopter dans la boîte à outils .net Maui. Si un problème ne répond pas à la barre de la proposition complète, nous pouvons le déplacer vers une discussion, afin qu'il puisse être encore mûri. Des questions ouvertes spécifiques ou une discussion plus vaste avec une proposition justifieront souvent d'ouvrir une discussion secondaire plutôt que d'encombrer la section des commentaires sur la question.
Lorsqu'un membre de l'équipe de base de la boîte à outils .net Maui constate qu'une proposition mérite une promotion dans la boîte à outils, ils peuvent le défendre, ce qui signifie qu'ils l'apporteront au stand-up communautaire mensuel .net Maui Toolkit.
L'équipe de base de la boîte à outils .net Maui votera collectivement pour travailler sur l'adoption et / ou la modification de la proposition, ce qui nécessite une approbation majoritaire (c'est-à-dire supérieure à 50%) à la boîte à outils.
Une fois qu'une proposition a été défendue et a reçu une approbation majoritaire de l'équipe de base de la boîte à outils .net Maui, une demande de traction peut être ouverte.
Une fois une demande de traction soumise, elle sera examinée et approuvée par le champion de la proposition.
Chaque nouvelle fonctionnalité nécessite également un échantillon associé à ajouter à l'application .NET MAUI Toolkit Exemple.
Avant qu'une demande de traction ne puisse être fusionnée dans la boîte à outils .net Maui, l'auteur de la demande de traction doit également soumettre la documentation à notre référentiel de documentation.
Une fois qu'une demande de traction a été examinée + approuvée et que la documentation a été écrite, soumise et approuvée, la nouvelle fonctionnalité sera fusionnée en l'ajout à la boîte à outils .net Maui
Dans le cadre de la Fondation .NET, nous avons adopté le Code de conduite de la fondation .NET. Veuillez vous familiariser avec cela avant de participer à ce référentiel. Merci!
Ce projet est soutenu par la Fondation .NET.