C# İşaretlemeyi

Genel bakış

C# biçimlendirmesi, kodda bildirim temelli .NET Çok platformlu Uygulama Kullanıcı Arabirimi (.NET MAUI) kullanıcı arabirimleri oluşturma sürecini basitleştirmek için tasarlanmış bir dizi akıcı yardımcı yöntem ve sınıftır. C# İşaretleme tarafından sağlanan akıcı API ad alanında CommunityToolkit.Maui.Markup kullanılabilir.

XAML'de olduğu gibi C# İşaretlemeyi de kullanıcı arabirimi (Görünüm) ile İş Mantığı (Modeli Görüntüle) arasında temiz bir ayrım sağlar.

C# İşaretlemeyi .NET MAUI tarafından desteklenen tüm platformlarda kullanılabilir ve .NET Çalışırken Yeniden Yükleme destekler.

NuGet paketi

C# İşaretlemeyi paketi, Başlarken kılavuzumuzda açıklandığı gibi projelerinize dahil edilebilir.

Örnekler

Burada, Kar payı paketinin kullanımıyla ortak görevlerin nasıl gerçekleştirilebileceğini gösteren bazı kısa örnekler verilmiştir.

Bağlamalar

C# İşaretlemesi bağlamayı akıcı bir şekilde tanımlamamıza ve bu nedenle kodumuzun ayrıntı düzeyini azaltmak için birden çok yöntemi birbirine zincirlememize olanak tanır:

new Entry().Bind(Entry.TextProperty, static (ViewModel vm) => vm.RegistrationCode, static (ViewModel vm, string text) => vm.RegistrationCode = text)

Yöntemin olası seçenekleri hakkında daha fazla bilgi için Bind uzantılar belgelerine BindableObject bakın.

Boyutlandırma

C# İşaretlemesi, boyutlandırmayı akıcı bir şekilde tanımlamamıza ve bu nedenle kodumuzun ayrıntı düzeyini azaltmak için birden çok yöntemi birbirine zincirlememize olanak tanır:

new Entry().Size(200, 40);

Yöntemin olası seçenekleri hakkında daha fazla bilgi için Size uzantılar belgelerine VisualElement bakın.

Ayrıntılı örnek

Bu örnek, alt Label öğe ve Entry nesneler içeren bir Grid nesne oluşturur. metni Label görüntüler ve Entry veriler görünüm modelinin RegistrationCode özelliğine bağlanır. Her alt görünüm içinde belirli bir satırda Gridgörünecek şekilde ayarlanır ve Entry içindeki tüm sütunlara Gridyayılır. Buna ek olarak, öğesinin Entry yüksekliği, klavyesi, renkleri, metninin yazı tipi boyutu ve Marginile birlikte ayarlanır.

C# İşaretlemeyi uzantıları, geliştiricilerin bir enumkullanarak Sütunlar ve Satırlar için adlar tanımlamasına Column.Inputda olanak tanır.

C# İşaretleme, bunun akıcı API'si kullanılarak tanımlanmasını sağlar:

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,
                }.Row(Row.TextEntry).Column(Column.Input)
                 .BackgroundColor(Colors.AliceBlue)
                 .FontSize(15)
                 .Placeholder("Enter number")
                 .TextColor(Colors.Black)
                 .Height(44)
                 .Margin(5, 5)
                 .Bind(Entry.TextProperty, static (ViewModel vm) => vm.RegistrationCode, static (ViewModel vm, string text) => vm.RegistrationCode = text)
            }
        };
    }

    enum Row { TextEntry }
    enum Column { Description, Input }
}

Dönüştürücü

C# İşaretle paketi, uygulama kullanıcı arabiriminizi oluştururken satır içi tanımlama IValueConverter ve IMultiValueConverter uygulama olanağı sağlar.

Dönüştürücü Açıklama
FuncConverter , FuncConverter kullanıcı arabiriminizi oluştururken satır içi bir IValueConverter uygulama tanımlama olanağı sağlar.
FuncMultiConverter , FuncMultiConverter kullanıcı arabiriminizi oluştururken satır içi bir IMultiValueConverter uygulama tanımlama olanağı sağlar.

Uzantıları

Not

C# İşaretlemeyi, belirli görünüm özelliklerini ayarlayan uzantı yöntemleri içerir. Kod okunabilirliğini geliştirmek için tasarlanmıştır ve özellik ayarlayıcıları ile birlikte kullanılabilir. Bir özellik için her zaman bir uzantı yöntemi kullanılması önerilir, ancak tercih ettiğiniz bakiyeyi seçebilirsiniz.

Dahili Açıklama
AbsoluteLayout AbsoluteLayout uzantıları, s içinde AbsoluteLayoutkonumlandırmayı Viewdestekleyen bir dizi uzantı yöntemi sağlar.
AutomationProperties AutomationProperties Uzantılar, erişilebilirlikle ilgili ayarların yapılandırılmasını destekleyen bir dizi uzantı yöntemi sağlar.
BindableLayout BindableLayout Uzantılar, ItemSource ve ItemTemplateyapılandırmayı EmptyViewdestekleyen bir dizi uzantı yöntemi sağlar.
BindableObject BindableObject Uzantılar, üzerinde yapılandırmayı Bindingdestekleyen bir BindableObjectdizi uzantı yöntemi sağlar.
DynamicResourceHandler Uzantılar, DynamicResourceHandler bir Uygulama teması oluşturmak için kullanılabilecek yapılandırmayı IDynamicResourceHandler destekleyen bir dizi uzantı yöntemi sağlar.
Element Element Uzantılar doldurma, efektler, yazı tipi öznitelikleri, dinamik kaynaklar, metin ve metin rengini yapılandırmayı destekleyen bir Elementdizi uzantı yöntemi sağlar.
FlexLayout FlexLayout uzantıları, içinde bir konumlandırmayı View destekleyen bir FlexLayoutdizi uzantı yöntemi sağlar.
Grid Kılavuz uzantıları, Kılavuz yapılandırmayı destekleyen bir dizi uzantı yöntemi sağlar.
Image Image Uzantılar, denetimleri yapılandırmayı IImage destekleyen bir dizi uzantı yöntemi sağlar.
ItemsView ItemsView Uzantılar, ve CollectionViewgibi CarouselView denetimleri yapılandırmayı ItemsView destekleyen bir dizi uzantı yöntemi sağlar.
Label Label Uzantılar, denetimleri yapılandırmayı Label destekleyen bir dizi uzantı yöntemi sağlar.
Placeholder Placeholder Uzantılar, denetimleri yapılandırmayı IPlaceholder destekleyen bir dizi uzantı yöntemi sağlar.
SemanticProperties SemanticProperties Uzantılar, erişilebilirlikle ilgili ayarların yapılandırılmasını destekleyen bir dizi uzantı yöntemi sağlar.
Style Style<T> , yapılandırmayı Microsoft.Maui.Controls.Styledestekleyen bir dizi akıcı uzantı yöntemi sağlar.
TextAlignment Uzantılar, TextAlignment uygulayan ITextAlignmentdenetimlerde ve VeticalTextAlignment özelliklerini yapılandırmayı HorizontalTextAlignment destekleyen bir dizi uzantı yöntemi sağlar.
View Uzantılar, View 'den Viewdevralan denetimlerin hizalamasını yapılandırmayı destekleyen bir dizi uzantı yöntemi sağlar.
VisualElement VisualElement Uzantılar, bir öğesinin boyutlandırma, stil oluşturma ve davranışlarını yapılandırmayı destekleyen bir VisualElementdizi uzantı yöntemi sağlar.