Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Not
Bu kitap 2016 baharında yayımlanmıştır ve o zamandan beri güncellenmemiştir. Kitapta değerli kalan çok şey vardır, ancak bazı malzemeler eskidir ve bazı konular artık tamamen doğru veya eksiksiz değildir.
, Grid alt öğelerini hücre satırlarına ve sütunlarına yerleştiren güçlü bir düzen mekanizmasıdır. Benzer HTML table öğesinden farklı olarak , Grid yalnızca sunu yerine düzen amaçlarına yöneliktir.
Temel Kılavuz
Grid, devralan bir Children özelliği Grid tanımlayan öğesinden Layout<View>türetilir. Bu koleksiyonu XAML'de veya kodda doldurabilirsiniz.
XAML'de Kılavuz
XAML'de tanımı Grid genellikle ve ile ve nesnelerinin RowDefinitions ve ColumnDefinitions koleksiyonlarını Grid doldurmayla RowDefinition ColumnDefinition başlar. bu şekilde, satır ve sütun Gridsayısını ve bunların özelliklerini belirlersiniz.
RowDefinitionbir Height özelliği vardır ve ColumnDefinition her ikisi de türünde GridLengthbir Width yapıya sahiptir.
XAML'de, GridLengthTypeConverter basit metin dizelerini değerlere GridLength dönüştürür. Arka planda, GridLength oluşturucu bir sayıya ve türünde GridUnitTypebir değere göre üç üyeli bir numaralandırma oluştururGridLength:
Absolute— genişlik veya yükseklik, cihazdan bağımsız birimlerde belirtilir (XAML'de bir sayı)Auto— yükseklik veya genişlik hücre içeriğine göre otomatikleştirilir ("XAML'de Otomatik"Star— kalan yükseklik veya genişlik orantılı olarak ayrılır (XAML'de yıldız olarak adlandırılan "*" ile bir sayı)
öğesinin her alt öğesine Grid de bir satır ve sütun atanmalıdır (açıkça veya örtük olarak). Satır yayılımı ve sütun yayılımı isteğe bağlıdır. Bunların tümü ekli bağlanabilir özellikler kullanılarak belirtilir; tarafından tanımlanan Grid ancak öğesinin Gridalt öğelerinde ayarlanan özellikler. Grid dört statik bağlı bağlanabilir özellik tanımlar:
RowProperty— sıfır tabanlı satır; varsayılan değer 0'dırColumnProperty— sıfır tabanlı sütun; varsayılan değer 0'dırRowSpanProperty— alt öğelerin yayılımının satır sayısı; varsayılan değer 1'dirColumnSpanProperty— alt öğeye yayılan sütun sayısı; varsayılan değer 1'dir
Kodda, bir program şu değerleri ayarlamak ve almak için sekiz statik yöntem kullanabilir:
Grid.SetRowveGrid.GetRowGrid.SetColumnveGrid.GetColumnGrid.SetRowSpanveGrid.GetRowSpanGrid.SetColumnSpanveGrid.GetColumnSpan
XAML'de bu değerleri ayarlamak için aşağıdaki öznitelikleri kullanırsınız:
Grid.RowGrid.ColumnGrid.RowSpanGrid.ColumnSpan
SimpleGridDemo örneği, XAML'de oluşturma Grid ve başlatma işlemini gösterir.
özelliğinden Grid Layout devralır ve satırlar Padding ile sütunlar arasında boşluk sağlayan iki ek özellik tanımlar:
RowSpacingvarsayılan değeri 6'dırColumnSpacingvarsayılan değeri 6'dır
RowDefinitions ve ColumnDefinitions koleksiyonları kesinlikle gerekli değildir. Yoksa, Grid alt öğeler için satırlar ve sütunlar oluşturur ve tümüne Grid varsayılan GridLength olarak "*" (yıldız) verir.
Koddaki Kılavuz
GridCodeDemo örneği, kodda oluşturma ve doldurma Grid işlemini gösterir. Her alt öğe için ekli özellikleri doğrudan veya Grid.IGridList<T> arabirimi tarafından tanımlanan gibi ek Add yöntemleri çağırarak dolaylı olarak Add ayarlayabilirsiniz.
Kılavuz çubuk grafiği
GridBarChart örneği, toplu AddHorizontal yöntemi kullanarak öğesine Grid birden çok BoxView öğe eklemeyi gösterir. Varsayılan olarak, bu BoxView öğeler eşit genişliğe sahiptir. Her birinin BoxView yüksekliği bir çubuk grafiğe benzeyecek şekilde denetlenebilir.
Grid GridBarChart örneğindeki öğesi başlangıçta görünmez Frameolan bir AbsoluteLayout üst öğeyi paylaşır. Program ayrıca her birindeBoxView, dokunan çubuk hakkındaki bilgileri görüntülemek için öğesini kullanacak Frame şekilde bir TapGestureRecognizer ayarlar.
Kılavuzda Hizalama
GridAlignment örneği, bir Grid hücredeki VerticalOptions alt öğeleri hizalamak için ve HorizontalOptions özelliklerinin nasıl kullanılacağını gösterir.
AralıkDüğmesi örneği, hücrelerde Grid ortalanmış eşit boşluklar Button öğesidir.
Hücre ayırıcıları ve kenarlıkları
hücre Grid ayırıcıları veya kenarlıkları çizen bir özellik içermez. Ancak, kendiniz yapabilirsiniz.
GridCellDividers, bölme çizgilerini taklit etmek için özellikle ince BoxView öğelere yönelik ek satırların ve sütunun nasıl tanımlanacağı gösterilmektedir.
GridCellBorders programı herhangi bir ek hücre oluşturmaz, bunun yerine hücre kenarlığı taklit etmek için her hücredeki öğeleri hizalarBoxView.
Neredeyse gerçek zamanlı Kılavuz örnekleri
KeypadGrid örneği, tuş takımını görüntülemek için bir Grid kullanır:
Yönlendirme değişikliklerine yanıt verme
, Grid bir programın yönlendirme değişikliklerine yanıt verecek şekilde yapılandırılmasına yardımcı olabilir. GridRgbSliders örneği, öğeyi dikey odaklı telefonun ikinci satırıyla yatay odaklı telefonun ikinci sütunu arasında hareket eden bir tekniği gösterir.
Program öğeleri 0 ile 255 arasında bir aralıkta başlatır Slider ve kaydırıcıların değerini onaltılık olarak görüntülemek için veri bağlamalarını kullanır. Değerler kayan Slider nokta olduğundan ve onaltılık için .NET biçimlendirme dizesi yalnızca tamsayılarla çalıştığından, Book.Toolkit kitaplığındakiXamarin.Forms bir DoubleToIntConvert sınıf yardımcı olur.
