مجموعة أدوات Community Community Community .NET MAUI هي عبارة عن مجموعة من طرق تمديد C# بطلاقة تتيح للمطورين مواصلة تعليم تطبيقاتهم باستخدام MVVM ، والروابط ، وقواميس الموارد ، وما إلى ذلك ، دون الحاجة إلى XAML
يتم المساهمة بجميع الميزات من قبلك ، مجتمعنا المذهل .NET ، ويتم الحفاظ عليه من قبل مجموعة أساسية من المشرفين.
و - أفضل جزء - الميزات التي تضيفها إلى مجموعة أدوات .NET MAUI قد يتم تضمينها يومًا ما في مكتبة .NET MAUI الرسمية! نحن نستفيد من مجموعات الأدوات المجتمعية لأول مرة في الميزات الجديدة والعمل عن كثب مع فريق .NET Maui Engineering Team لترشيح ميزات الترويج.
من أجل استخدام مجموعة أدوات Community Community .NET MAUI ، تحتاج إلى استدعاء طريقة التمديد في ملف MauiProgram.cs
على النحو التالي:
using CommunityToolkit . Maui . Markup ;
public static MauiApp CreateMauiApp ( )
{
var builder = MauiApp . CreateBuilder ( ) ;
// Initialise the toolkit
builder . UseMauiApp < App > ( ) . UseMauiCommunityToolkitMarkup ( ) ;
// the rest of your logic...
}
يمكن العثور على جميع وثائق CommunityToolkit.Maui.Markup
هنا على Microsoft Learn:
https://learn.microsoft.com/dotnet/CommunityToolkit/maui/markup/markup
فيما يلي بعض الأمثلة الموجزة التي توضح كيف يمكن تحقيق المهام الشائعة من خلال استخدام حزمة الترميز.
تتيح لنا علامة C# تحديد الربط بطلاقة وبالتالي سلسلة متعددة معًا لتقليل فعل رمزنا:
new Entry ( )
. Bind ( Entry . TextProperty , static ( ViewModel vm ) => vm . RegistrationCode ) ;
لمزيد من التفاصيل حول الخيارات الممكنة لطريقة Bind
، يرجى الرجوع إلى وثائق ملحقات BindableObject
.
يتيح لنا الترميز تحديد التحجيم بطلاقة ، وبالتالي سلسلة متعددة معًا لتقليل راحة الكود لدينا:
new Entry ( ) . Size ( 200 , 40 ) ;
لمزيد من التفاصيل حول الخيارات الممكنة لطريقة Size
، يرجى الرجوع إلى وثائق امتدادات VisualElement
.
هذا المثال ينشئ كائن Grid
، مع Label
الطفل وكائنات Entry
. تعرض Label
نصًا ، وترتبط بيانات Entry
بخاصية RegistrationCode
في ViewModel. تم تعيين كل طريقة عرض طفل في صف محدد في Grid
، ويمتد Entry
جميع الأعمدة في Grid
. بالإضافة إلى ذلك ، يتم تعيين ارتفاع Entry
، إلى جانب لوحة المفاتيح والألوان وحجم الخط لنصه Margin
.
تتيح ملحقات العلامات C# أيضًا للمطورين تحديد أسماء الأعمدة والصفوف (على سبيل المثال Column.Input
) باستخدام enum
.
تمكن C# Markup من تحديد هذا باستخدام واجهة برمجة التطبيقات الخاصة به:
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 }
}
ستتبع ميزات جديدة سير العمل هذا ، الموصوف بمزيد من التفصيل في الخطوات أدناه
يتم النقاش المتعلق بميزات مجموعة أدوات MAUI الجديدة في شكل مناقشات في هذا الريبو.
إذا كنت ترغب في اقتراح ميزة ، أو مناقشة ملاحظات التصميم الحالية أو المقترحات ، وما إلى ذلك ، فيرجى فتح موضوع مناقشة جديد.
من المرجح أن تتم قراءة المناقشات القصيرة والبقاء على الموضوع. إذا تركت رقم التعليق خمسين ، فمن المحتمل أن يقرأه عدد قليل من الأشخاص. لتسهيل التنقل والاستفادة من المناقشات ، يرجى مراقبة بعض قواعد الإبهام:
بمجرد أن يكون لديك اقتراح من اللحم بالكامل يصف ميزة جديدة في التفاصيل النحوية والدلالية ، يرجى فتح مشكلة لها ، وسيتم تصنيفها على أنها اقتراح. يمكن استخدام مؤشر ترابط التعليق حول القضية لتجزئة أو مناقشة تفاصيل الاقتراح بإيجاز ، وكذلك إيجابيات وسلبيات تبنيها في مجموعة أدوات .NET MAUI. إذا لم تلبي مشكلة ما أن يكون اقتراحًا كاملاً ، فقد ننقله إلى مناقشة ، بحيث يمكن نضجها بشكل أكبر. غالبًا ما تستدعي القضايا المفتوحة المحددة أو مناقشة أكثر توسعية مع اقتراح فتح مناقشة جانبية بدلاً من تشوش قسم التعليق حول المشكلة.
عندما يجد أحد أعضاء فريق .NET Maui Toolkit Core أن الاقتراح يستحق الترويج إلى مجموعة الأدوات ، يمكنه أن يربطه ، مما يعني أنهم سيحضرونها إلى Community Community Community الشهرية .NET MAUI.
سيصوت فريق .NET Maui Toolkit Core بشكل جماعي للعمل على تبني و/أو تعديل الاقتراح ، مما يتطلب موافقة الأغلبية (أي أكبر من 50 ٪) لإضافتها إلى مجموعة الأدوات.
بمجرد دافع الاقتراح وتلقى موافقة الأغلبية من فريق .NET Maui Toolkit Core ، يمكن فتح طلب سحب.
بعد تقديم طلب سحب ، سيتم مراجعته والموافقة عليه من قبل بطل الاقتراح.
تتطلب كل ميزة جديدة أيضًا إضافة عينة مرتبطة إلى تطبيق نموذج مجموعة أدوات .NET MAUI.
قبل أن يتم دمج طلب السحب في مجموعة أدوات .NET MAUI ، يجب على مؤلف طلب السحب أيضًا إرسال الوثائق إلى مستودع الوثائق لدينا.
بمجرد مراجعة طلب سحب + موافقة وتمت كتابة الوثائق وتقديمها والموافقة عليها ، سيتم دمج الميزة الجديدة إضافتها إلى مجموعة أدوات .NET MAUI
كجزء من مؤسسة .NET ، اعتمدنا مدونة قواعد السلوك .NET Foundation. يرجى التعرف على ذلك قبل المشاركة مع هذا المستودع. شكرًا!
هذا المشروع مدعوم من قبل مؤسسة .NET.