ชุดเครื่องมือชุมชน. NET MAUI Markup เป็นชุดของวิธีการขยาย C# ที่คล่องแคล่วซึ่งช่วยให้นักพัฒนาสามารถสถาปนิกแอพของพวกเขาต่อไปโดยใช้ MVVM, การผูก, พจนานุกรมทรัพยากร ฯลฯ โดยไม่จำเป็นต้องใช้ XAML
คุณลักษณะทั้งหมดมีส่วนร่วมโดยคุณชุมชน. NET ที่น่าทึ่งของเราและดูแลรักษาโดยชุดหลักของผู้ดูแล
และ - ส่วนที่ดีที่สุด - คุณสมบัติที่คุณเพิ่มลงในชุดเครื่องมือ. NET MAUI อาจรวมอยู่ในห้องสมุด. NET MAUI อย่างเป็นทางการ! เราใช้ประโยชน์จากชุดเครื่องมือชุมชนเพื่อเปิดตัวคุณสมบัติใหม่และทำงานอย่างใกล้ชิดกับทีมงานวิศวกรรม. NET Maui เพื่อเสนอชื่อคุณสมบัติสำหรับการโปรโมต
ในการใช้ชุดเครื่องมือชุมชน. 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/markup
นี่คือตัวอย่างสั้น ๆ ที่แสดงให้เห็นว่างานทั่วไปสามารถทำได้อย่างไรผ่านการใช้แพ็คเกจมาร์กอัป
C# Markup ช่วยให้เราสามารถกำหนดการเชื่อมได้อย่างคล่องแคล่วและดังนั้นจึงใช้วิธีการหลายวิธีร่วมกันเพื่อลดการใช้คำฟางของรหัสของเรา:
new Entry ( )
. Bind ( Entry . TextProperty , static ( ViewModel vm ) => vm . RegistrationCode ) ;
สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับตัวเลือกที่เป็นไปได้สำหรับวิธี Bind
เอกสารส่วนขยาย BindableObject
มาร์กอัปช่วยให้เราสามารถกำหนดขนาดได้อย่างคล่องแคล่วและทำให้หลายวิธีรวมกันเพื่อลดการใช้คำฟางของรหัสของเรา:
new Entry ( ) . Size ( 200 , 40 ) ;
สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับตัวเลือกที่เป็นไปได้สำหรับวิธี Size
อ้างถึงเอกสารขยาย VisualElement
Extensions
ตัวอย่างนี้สร้างวัตถุ Grid
โดยมี Label
เด็กและวัตถุ Entry
Label
แสดงข้อความและข้อมูล Entry
เชื่อมโยงกับคุณสมบัติ RegistrationCode
ของ ViewModel มุมมองเด็กแต่ละตัวถูกตั้งค่าให้ปรากฏในแถวเฉพาะใน Grid
และ Entry
ครอบคลุมคอลัมน์ทั้งหมดใน Grid
นอกจากนี้ความสูงของ Entry
ถูกตั้งค่าพร้อมกับแป้นพิมพ์สีขนาดตัวอักษรของข้อความและ Margin
ส่วนขยาย c# มาร์กอัปยังอนุญาตให้นักพัฒนากำหนดชื่อสำหรับคอลัมน์และแถว (เช่น Column.Input
) โดยใช้ enum
C# มาร์กอัปช่วยให้สามารถกำหนดสิ่งนี้ได้โดยใช้ 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 }
}
คุณสมบัติใหม่จะเป็นไปตามเวิร์กโฟลว์นี้ซึ่งอธิบายไว้ในรายละเอียดเพิ่มเติมในขั้นตอนด้านล่าง
การอภิปรายเกี่ยวกับคุณสมบัติชุดเครื่องมือ Maui ใหม่เกิดขึ้นในรูปแบบของการอภิปรายใน repo นี้
หากคุณต้องการแนะนำคุณสมบัติให้พูดคุยเกี่ยวกับบันทึกการออกแบบหรือข้อเสนอปัจจุบัน ฯลฯ โปรดเปิดหัวข้อการสนทนาใหม่
การสนทนาที่สั้นและอยู่ในหัวข้อมีแนวโน้มที่จะอ่านมากขึ้น หากคุณแสดงความคิดเห็นหมายเลขห้าสิบโอกาสที่มีเพียงไม่กี่คนเท่านั้นที่จะอ่าน เพื่อให้การอภิปรายง่ายขึ้นในการนำทางและได้รับประโยชน์จากโปรดสังเกตกฎบางอย่างของนิ้วหัวแม่มือ:
เมื่อคุณมีข้อเสนอที่ชัดเจนซึ่งอธิบายคุณสมบัติใหม่ในรายละเอียดเกี่ยวกับวากยสัมพันธ์และความหมายโปรดเปิดปัญหาและจะถูกระบุว่าเป็นข้อเสนอ หัวข้อความคิดเห็นเกี่ยวกับปัญหาสามารถใช้ในการแฮชหรือหารือเกี่ยวกับรายละเอียดของข้อเสนอสั้น ๆ รวมถึงข้อดีและข้อเสียของการนำมันเข้ามาในชุดเครื่องมือ. NET MAUI หากปัญหาไม่ตรงกับบาร์ของการเป็นข้อเสนอเต็มรูปแบบเราอาจย้ายไปที่การสนทนาเพื่อให้สามารถครบกำหนดได้อีก ปัญหาที่เปิดเฉพาะหรือการอภิปรายที่กว้างขวางยิ่งขึ้นกับข้อเสนอมักจะรับประกันการเปิดการอภิปรายด้านข้างแทนที่จะทำให้ส่วนความคิดเห็นยุ่งเหยิงในประเด็นนี้
เมื่อสมาชิกของทีมงานหลัก. NET Maui Toolkit พบว่าข้อเสนอได้รับการส่งเสริมการขายเข้าสู่ชุดเครื่องมือพวกเขาสามารถแชมป์ได้ซึ่งหมายความว่าพวกเขาจะนำมันไปสู่ชุมชน. Net Maui Toolkit Standup รายเดือน
. NET MAUI Toolkit Core Team จะลงคะแนนรวมกันเพื่อทำงานและ/หรือแก้ไขข้อเสนอซึ่งต้องได้รับการอนุมัติส่วนใหญ่ (เช่นมากกว่า 50%) เพื่อเพิ่มเข้าไปในชุดเครื่องมือ
เมื่อข้อเสนอได้รับการสนับสนุนและได้รับการอนุมัติส่วนใหญ่จากทีมงาน. NET MAUI Toolkit Core แล้วสามารถเปิดคำขอดึงได้
หลังจากส่งคำขอดึงแล้วจะได้รับการตรวจสอบและอนุมัติจากแชมป์ข้อเสนอ
ทุกคุณสมบัติใหม่ยังต้องการตัวอย่างที่เกี่ยวข้องที่จะเพิ่มลงในแอพตัวอย่าง. NET MAUI Toolkit
ก่อนที่จะมีการร้องขอการดึงเข้ากับชุดเครื่องมือ. NET MAUI ผู้เขียนคำขอดึงต้องส่งเอกสารไปยังที่เก็บเอกสารของเราด้วย
เมื่อมีการตรวจสอบคำขอแบบดึงที่ได้รับการอนุมัติแล้วและเอกสารได้ถูกเขียนส่งและอนุมัติแล้วคุณสมบัติใหม่จะถูกรวมเข้าด้วยกัน
ในฐานะที่เป็นส่วนหนึ่งของมูลนิธิ. NET เราได้นำจรรยาบรรณ. NET มาใช้ โปรดทำความคุ้นเคยกับตัวเองก่อนที่จะเข้าร่วมกับที่เก็บนี้ ขอบคุณ!
โครงการนี้ได้รับการสนับสนุนโดย. NET Foundation