.NET Maui Markup Community Toolkit은 XAML의 필요없이 개발자가 MVVM, 바인딩, 리소스 사전 등을 사용하여 앱을 계속 설계 할 수있는 유창한 C# 확장 방법 모음입니다.
모든 기능은 우리의 놀라운 .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
다음은 마크 업 패키지를 사용하여 일반적인 작업을 수행 할 수있는 방법을 보여주는 간단한 예입니다.
C# Markup은 바인딩을 유창하게 정의하여 여러 방법을 함께 정의하여 코드의 진실성을 줄일 수 있습니다.
new Entry ( )
. Bind ( Entry . TextProperty , static ( ViewModel vm ) => vm . RegistrationCode ) ;
Bind
메소드에 대한 가능한 옵션에 대한 자세한 내용은 BindableObject
확장 문서를 참조하십시오.
마크 업은 크기를 유창하게 정의하여 여러 방법을 함께 정의 할 수 있도록 코드의 말을 줄일 수 있습니다.
new Entry ( ) . Size ( 200 , 40 ) ;
Size
메소드에 대한 가능한 옵션에 대한 자세한 내용은 VisualElement
Extensions 문서를 참조하십시오.
이 예제는 자식 Label
및 Entry
객체와 함께 Grid
객체를 만듭니다. Label
텍스트를 표시하고 Entry
데이터는 뷰 모델의 RegistrationCode
속성에 바인딩합니다. 각 자식보기는 Grid
의 특정 행에 표시되며 Entry
Grid
의 모든 열에 있습니다. 또한 Entry
의 높이는 키보드, 색상, 텍스트의 글꼴 크기 및 Margin
과 함께 설정됩니다.
C# Markup 확장 기능을 사용하면 개발자 enum
사용하여 열 및 행의 이름 (예 : Column.Input
)의 이름을 정의 할 수 있습니다.
C# Markup은 유창한 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 툴킷 기능과 관련된 토론은이 리포지토리에서 토론의 형태로 진행됩니다.
기능을 제안하고 현재 디자인 메모 또는 제안서 등에 대해 토론하려면 새로운 토론 주제를 열어주십시오.
짧고 주제를 유지하는 토론은 읽을 가능성이 훨씬 높습니다. 댓글 번호 50을 남겨두면 소수의 사람들만이 읽을 수 있습니다. 토론을 쉽게 탐색하고 혜택을받을 수 있도록하려면 몇 가지 경험 규칙을 관찰하십시오.
구문 및 의미 론적 세부 사항의 새로운 기능을 설명하는 완전히 육체적 인 제안이 있으면 문제를 열어 주시면 제안으로 표시됩니다. 이 문제에 대한 주석 스레드는 제안서의 세부 사항을 해시하거나 간단히 논의 할 수 있으며 .NET MAUI 툴킷에 채택하는 장단점. 문제가 완전한 제안서의 기준을 충족시키지 못하면 토론으로 옮길 수 있으므로 더욱 성숙 할 수 있습니다. 제안과 관련된 특정 공개 문제 또는보다 광범위한 토론은 종종 문제에 대한 의견 섹션을 어지럽히는 대신 부수적 인 토론을 시작합니다.
.NET Maui 툴킷 코어 팀의 구성원이 제안서가 툴킷에 대한 프로모션을 장려한다는 것을 알게되면이를 챔피언 할 수 있으므로 월간 .NET MAUI 툴킷 커뮤니티 스탠드 업으로 가져올 수 있습니다.
.NET MAUI 툴킷 코어 팀은 제안서 채택 및/또는 수정을 위해 노력하기 위해 총체적으로 투표 할 것입니다.
제안서가 챔피언이되고 .NET Maui Toolkit Core 팀으로부터 다수의 승인을 받으면 풀 요청을 열 수 있습니다.
풀 요청이 제출되면 제안서 챔피언이 검토하고 승인합니다.
모든 새로운 기능을 사용하려면 .NET MAUI 툴킷 샘플 앱에 관련 샘플을 추가해야합니다.
풀 요청을 .NET MAUI 툴킷으로 병합하기 전에 PULL 요청 저자는 문서를 문서 저장소에 제출해야합니다.
풀 요청이 검토되고 승인되고 문서가 작성, 제출 및 승인되면 새 기능이 병합되어 .NET Maui Toolkit에 추가됩니다.
.NET Foundation의 일환으로 .NET Foundation 행동 강령을 채택했습니다. 이 저장소에 참여하기 전에 그에 익숙해 지십시오. 감사해요!
이 프로젝트는 .NET Foundation에서 지원합니다.