Metin Hizalama Yardımcıları (ITextAlignment)

July 15, 2026 · View on GitHub

ITextAlignment uygulayan her kontrol — Label, Entry, Editor, SearchBar, Picker, TimePicker, DatePicker, EntryCell ve arayüzü uygulayan her üçüncü parti kontrol — HorizontalTextAlignment ve VerticalTextAlignment'ı tek çağrıda ayarlayan bir genişletme metodu ailesi alır.

Bu üretilen metotlar, kontrolün her iki metin hizalama bindable özelliğini de sunmasını gerektirir; source generator onları yalnızca ikisi de varsa üretir.

Hızlı Örnek

new Label().Text("Ortalı").TextCenter()

Metni, kontrolün kendi sınırları içinde hem yatay hem dikey ortalar.

Metot Referansı

Tek eksen

MetotAyarladığı
TextCenterHorizontal()HorizontalTextAlignment = Center
TextCenterVertical()VerticalTextAlignment = Center
TextLeft()HorizontalTextAlignment = Start
TextRight()HorizontalTextAlignment = End
TextTop()VerticalTextAlignment = Start
TextBottom()VerticalTextAlignment = End

İki eksen

MetotDikeyYatay
TextCenter()CenterCenter
TextTopLeft()StartStart
TextTopCenter()StartCenter
TextTopRight()StartEnd
TextCenterLeft()CenterStart
TextCenterRight()CenterEnd
TextBottomLeft()EndStart
TextBottomCenter()EndCenter
TextBottomRight()EndEnd

Genel form

new Label().AlignText(vertical: TextAlignment.End, horizontal: TextAlignment.Center)

Metin Hizalama ile Yerleşim Seçenekleri Farkı

Sık karışan bir nokta:

  • TextCenter() kontrolün kutusu içindeki metni hizalar.
  • Center() kontrolü ebeveyni içinde hizalar (Yerleşim Seçenekleri).

Label içeriğine göre boyutlanmışsa TextCenter() etkisiz görünür — kutu tam metin kadardır. Kontrole alan verin, sonra hizalayın:

// Metni ortalı, tam genişlikte bir başlık
new Label()
    .Text("Panel")
    .FontSize(24)
    .FillHorizontal()   // kontrol satırın tamamını alır
    .TextCenter()       // metin içinde ortalanır
    .HeightRequest(56)

Pratik Örnekler

Hesap makinesi gibi sağa dayalı sayısal giriş:

new Entry()
    .Keyboard(Keyboard.Numeric)
    .Placeholder("0.00")
    .TextRight()

Tablo tarzı satırlar:

new Grid()
.ColumnDefinitions(e => e.Star(6).Star(2).Star(2))
.Children(
    new Label().Text("Ürün"),
    new Label().Text("Adet").Column(1).TextCenter(),
    new Label().Text("Fiyat").Column(2).TextRight()
)

Sabit yükseklikli çubukta dikey ortalı label:

new Label()
    .Text("Durum: çevrimiçi")
    .HeightRequest(44)
    .TextCenterVertical()

İlgili Konular