This article has been localized into Turkish by the community.
Grid - Birimler
Şimdiye kadar hep kullanılan alanın ne oranda bölünerek kullanılacağını belirten yıldızlı genişlik/yükseklik kullandık. Bununla beraber bir sütun ya da satırın genişlik ya da yüksekliğini belirlemek için iki diğer yol daha var. Mutlak birimler ve otomatik yükseklik/genişlik. Hadi bunların karışımı bir Grid yapmaya çalışalım :
<Window x:Class="WpfTutorialSamples.Panels.GridUnits"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="GridUnits" Height="200" Width="400">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="100" />
</Grid.ColumnDefinitions>
<Button>Button 1</Button>
<Button Grid.Column="1">Button 2 with long text</Button>
<Button Grid.Column="2">Button 3</Button>
</Grid>
</Window>
Bu örnekte ilk buton yıldızlı genişliğe sahip, ikinci ise genişliğinde Auto değerine sahip ve sonuncu sabit 100 piksel genişlikte.
Ekran görünümünde gördüğünüz gibi ikinci buton içindeki yazıyı tam gösterecek genişlikte , üçüncü buton söz verdiği gibi tam 100 piksel sabit genişlikte ve değişken genişlikteki ilk buton geri kalan tüm alana yayılmış.
Farklı sütunlardan (veya satırlardan) oluşan bir Grid'de eğer yıldızlı genişlikte biri varsa mutlak ya da Auto genişliğe sahip olanların işgal ettiği alandan geri kalan genişliği o kullanır. Bunu çalıştırıp pencereyi boyutlandırdığımızda daha açık görürüz :
İlk ekran görüntüsünde Grid son iki butona gereken yeri ayırırken ilk butonu tam gösterememesine rağmen ona yer ayırmamış. İkinci ekran görüntüsünde son iki buton yine aynı genişliği işgal ederken artan tüm genişlik ilk butona verilmiş.
Bu değişik diyaloglar tasarlarken kullanışlı olabilir. Örneğin, kullanıcının isim, email ve yorum girdiği bir iletişim formu olsun. İlk iki alan genelde sabit yükseklikte olur, sonuncu ise daha fazla yorum girecek yer olsun diye daha fazla yer işgal edebilir. Sonraki bölümlerden birinde değişik genişlik ve yüksekliklerde satır ve sütunları olan grid kullanarak bir iletişim formu yapacağız.