Das .NET MAUI Markup Community Toolkit ist eine Sammlung von fließenden C# -Erweiterungsmethoden, mit denen Entwickler ihre Apps mithilfe von MVVM, Bindungen, Ressourcenwörterbüchern usw. fortsetzen können, ohne dass XAML erforderlich ist
Alle Funktionen werden von Ihnen, unserer erstaunlichen .NET -Community, beigetragen und von einer Kernmenge von Wartenden gepflegt.
Und - das Beste daran - die Funktionen, die Sie dem .NET MAUI -Toolkit hinzufügen, können eines Tages in die offizielle .net -Maui -Bibliothek aufgenommen werden! Wir nutzen die Community -Toolkits, um neue Funktionen zu debütieren und eng mit dem .NET MAUI Engineering Team zusammenzuarbeiten, um Funktionen für die Werbung zu nominieren.
Um das .NET MAUI Community Toolkit zu verwenden, müssen Sie die Erweiterungsmethode in Ihrer Datei MauiProgram.cs
wie folgt aufrufen:
using CommunityToolkit . Maui . Markup ;
public static MauiApp CreateMauiApp ( )
{
var builder = MauiApp . CreateBuilder ( ) ;
// Initialise the toolkit
builder . UseMauiApp < App > ( ) . UseMauiCommunityToolkitMarkup ( ) ;
// the rest of your logic...
}
Alle Dokumentationen für CommunityToolkit.Maui.Markup
finden Sie hier auf Microsoft Learn:
https://learn.microsoft.com/dotnet/communitytoolkit/maui/markup/markup
Hier sind einige kurze Beispiele, aus denen hervorgeht, wie häufige Aufgaben durch die Verwendung des Markup -Pakets erreicht werden können.
C# Markup ermöglicht es uns, die Bindung fließend zu definieren und damit mehrere Methoden zu ketten, um die Ausführlichkeit unseres Codes zu verringern:
new Entry ( )
. Bind ( Entry . TextProperty , static ( ViewModel vm ) => vm . RegistrationCode ) ;
Weitere Einzelheiten zu den möglichen Optionen für die Bind
-Methode finden Sie in der Dokumentation BindableObject
Extensions.
Mit Markup können wir die Größe fließend definieren und damit mehrere Methoden zusammenketten, um die Ausführlichkeit unseres Codes zu verringern:
new Entry ( ) . Size ( 200 , 40 ) ;
Weitere Informationen zu den möglichen Optionen für die Size
finden Sie in der Dokumentation zur VisualElement
-Erweiterungen.
In diesem Beispiel werden ein Grid
mit untergeordneten Label
und Entry
erstellt. Die Label
zeigt Text an, und die Entry
bunden an die Eigenschaft der RegistrationCode
des ViewModel. Jede untergeordnete Ansicht wird so eingestellt, dass in einer bestimmten Zeile im Grid
angezeigt wird, und der Entry
umfasst alle Spalten im Grid
. Darüber hinaus wird die Höhe des Entry
zusammen mit seiner Tastatur, den Farben, der Schriftgröße seines Textes und seiner Margin
festgelegt.
Mit C# Markup -Erweiterungen können Entwickler auch Namen für Spalten und Zeilen (z. B. Column.Input
) unter Verwendung eines enum
definieren.
C# Markup ermöglicht dies mit seiner fließenden API:
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 }
}
Neue Funktionen folgen diesem Workflow, der in den folgenden Schritten ausführlicher beschrieben wird
Die Debatte über neue Maui -Toolkit -Funktionen findet in Form von Diskussionen in diesem Repo statt.
Wenn Sie eine Funktion vorschlagen möchten, diskutieren Sie aktuelle Entwurfsnotizen oder Vorschläge usw., eröffnen Sie bitte ein neues Diskussionsthema.
Diskussionen, die kurz sind und zum Thema bleiben, werden viel wahrscheinlicher gelesen. Wenn Sie die Nummer fünfzig Kommentare hinterlassen, werden die Chancen wahrscheinlich nur wenige Personen lesen. Um Diskussionen leichter zu navigieren und davon zu profitieren, beachten Sie bitte einige Faustregeln:
Sobald Sie einen voll ausgestatteten Vorschlag haben, der eine neue Funktion in syntaktischen und semantischen Details beschreibt, öffnen Sie bitte ein Problem dafür, und es wird als Vorschlag bezeichnet. Der Kommentar -Thread zu diesem Thema kann verwendet werden, um Details des Vorschlags auszuschließen oder kurz zu diskutieren, sowie Vor- und Nachteile der Übernahme in das .NET MAUI -Toolkit. Wenn ein Problem nicht der Messlatte eines vollständigen Vorschlags entspricht, können wir es zu einer Diskussion verschieben, damit es weiter reift werden kann. Spezifische offene Probleme oder eine expansivere Diskussion mit einem Vorschlag garantieren häufig die Öffnung einer Nebendiskussion, anstatt den Kommentarbereich zu diesem Thema zu überfüllen.
Wenn ein Mitglied des .Net Maui Toolkit Core -Teams feststellt, dass ein Vorschlag eine Werbung für das Toolkit verdient, können sie sich dafür einsetzen, was bedeutet, dass sie ihn in den monatlichen Maui -Toolkit -Community -Standup bringen.
Das Core -Team von .NET Maui Toolkit wird gemeinsam an der Annahme und/oder Änderung des Vorschlags stimmen, wobei eine Mehrheitsgenehmigung (dh mehr als 50%) zum Toolkit hinzugefügt werden muss.
Sobald ein Vorschlag einverstanden ist und vom .NET MAUI -Toolkit -Core -Team mehrheitlich zugelassen wurde, kann eine Pull -Anfrage eröffnet werden.
Nachdem ein Pull -Antrag gestellt wurde, wird sie vom Vorschlag -Champion überprüft und genehmigt.
Für jede neue Funktion muss auch eine zugehörige Probe in die .NET MAUI -Toolkit -Beispiel -App hinzugefügt werden.
Bevor eine Pull -Anfrage in das .NET MAUI -Toolkit zusammengefasst werden kann, muss der Pull -Request -Autor die Dokumentation auch an unser Dokumentationsrepository senden.
Sobald eine Pull -Anfrage überprüft wurde + genehmigt und die Dokumentation geschrieben, eingereicht und genehmigt wurde, wird die neue Funktion zusammengeführt, um sie dem .NET MAUI -Toolkit hinzuzufügen
Als Teil der .NET Foundation haben wir den Verhaltenskodex der .NET Foundation übernommen. Bitte machen Sie sich damit vertraut, bevor Sie mit diesem Repository teilnehmen. Danke!
Dieses Projekt wird von der .NET Foundation unterstützt.