DataGrid Denetimindeki Boyutlandırma Seçenekleri

Boyutların kendisini denetlemek için çeşitli seçenekler mevcuttur DataGrid . DataGridİçindeki ve tek tek satırları ve sütunları, DataGrid otomatik olarak içeriklerine veya belirli değerlere ayarlanabilir şekilde ayarlanabilir. Varsayılan olarak, DataGrid içeriği boyutuna sığacak şekilde büyür ve küçülecektir.

DataGrid 'i boyutlandırma

Otomatik boyutlandırma kullanırken dikkatli olun

Varsayılan olarak, Height öğesinin ve Width ÖZELLIKLERI DataGridDouble.NaN (XAML 'de "") olarak ayarlanır Auto ve bu, DataGrid içeriğinin boyutuna ayarlanır.

Ya da gibi alt öğelerinin boyutunu kısıtlamayan bir kapsayıcının içine yerleştirildiğinde, CanvasStackPanelDataGrid kapsayıcının görünür sınırlarının ötesine uzatıp, kaydırma çubukları gösterilmez. Bu koşulun kullanılabilirliği ve performans etkileri vardır.

Bir veri kümesine bağlandığında, ' Height nin DataGrid kısıtlanmazsa, bağlantılı veri kümesindeki her bir veri öğesi için bir satır eklemeye devam eder. Bu, DataGrid satır eklendikçe uygulamanızın görünür sınırlarının dışına büyümesine neden olabilir. , DataGridHeight Yeni satırlara uyum sağlayacak şekilde büyümeye devam ettiğinden, bu durumda kaydırma çubuklarını göstermez.

İçindeki her satır için bir nesne oluşturulur DataGrid . Büyük bir veri kümesiyle çalışıyorsanız ve öğesinin DataGrid kendisini otomatik olarak boyutlarına izin verirseniz, çok sayıda nesnenin oluşturulması uygulamanızın performansını etkileyebilir.

Büyük veri kümeleriyle çalışırken bu sorunlardan kaçınmak için, ' nin özel olarak ayarlamanız HeightDataGrid veya ' ı kısıtlayan bir kapsayıcıya yerleştirmeniz önerilir HeightGrid . Kısıtlanmış olduğunda, HeightDataGrid yalnızca belirtilen ' ın içine sığacak satırları oluşturur Height ve yeni verileri göstermek için bu satırları gerektiği gibi geri dönüşüme sahip olur.

DataGrid boyutunu ayarlama

DataGridBelirtilen sınırlar dahilinde otomatik olarak boyuta ayarlanabilir veya DataGrid belirli bir boyuta ayarlanabilir. Aşağıdaki tabloda, boyutu denetlemek için ayarlanacak özellikler gösterilmektedir DataGrid .

Özellik Açıklama
Height İçin belirli bir yükseklik ayarlar DataGrid .
MaxHeight Yüksekliğinin üst sınırını ayarlar DataGrid . , DataGrid Bu yüksekliğe ulaşıncaya kadar dikey olarak büyüecektir.
MinHeight Yüksekliğinin alt sınırını ayarlar DataGrid . , DataGrid Bu yüksekliğe ulaşıncaya kadar dikey olarak küçülecektir.
Width İçin belirli bir genişlik ayarlar DataGrid .
MaxWidth Genişliği için üst sınırı ayarlar DataGrid . , DataGrid Bu genişliğe ulaşana kadar yatay olarak büyüyecektir.
MinWidth Genişliği için alt sınır ayarlar DataGrid . DataGridBu genişliğe ulaşıncaya kadar yatay olarak küçülecektir.

Satırları ve satır üst bilgilerini boyutlandırma

DataGrid satırları

Varsayılan olarak, bir DataGrid satırın Height özelliği Double.NaNAuto xaml 'de ("") olarak ayarlanır ve satır yüksekliği içindekilerin boyutuna genişletilir. İçindeki tüm satırların yüksekliği, DataGrid özelliği ayarlanarak belirtilebilir DataGrid.RowHeight . Kullanıcılar satır üst bilgisi bölücüleri sürükleyerek satır yüksekliğini değiştirebilir.

DataGrid satır başlıkları

Satır üst bilgilerini göstermek için, HeadersVisibility özelliğinin veya olarak ayarlanması gerekir DataGridHeadersVisibility.RowDataGridHeadersVisibility.All . Varsayılan olarak, satır başlıkları görüntülenir ve otomatik olarak içeriğine uyacak şekilde boyutları vardır. Satır başlıklarına, özelliği ayarlanarak belirli bir genişlik verilebilir DataGrid.RowHeaderWidth .

Sütunları ve sütun üstbilgilerini boyutlandırma

DataGrid sütunları

, DataGridDataGridLengthDataGridLengthUnitType Mutlak veya otomatik boyutlandırma modlarını belirtmek için ve yapısının değerlerini kullanır.

Aşağıdaki tabloda yapı tarafından sunulan değerler gösterilmektedir DataGridLengthUnitType .

Adı Açıklama
Auto Varsayılan otomatik boyutlandırma modu DataGrid sütunları hem hücrelerin hem de sütun üstbilgilerinin içeriğine göre boyutlandırır.
SizeToCells Hücre tabanlı otomatik boyutlandırma modu DataGrid sütunları sütun başlıkları dahil değil, sütundaki hücrelerin içeriğine göre boyutlandırır.
SizeToHeader Üst bilgi tabanlı otomatik boyutlandırma modu DataGrid sütunları yalnızca sütun üstbilgilerinin içeriğine göre boyutlandırır.
Pixel Piksel tabanlı boyutlandırma modu, DataGrid belirtilen sayısal değere göre sütunları boyutlandırır.
Star Yıldız boyutlandırma modu, kullanılabilir alanı ağırlıklı oranlar ile dağıtmak için kullanılır.

XAML 'de yıldız değerleri n * olarak ifade edilir; burada n, bir sayısal değeri temsil eder. 1 *, * ile eşdeğerdir. Örneğin, içinde iki sütun DataGrid * ve 2 * genişliklerine sahipse, ilk sütun kullanılabilir alanın bir kısmını alır ve ikinci sütun kullanılabilir alanın iki bölümünü alır.

DataGridLengthConverterSınıfı, verileri sayısal veya dize değerleri ve değerleri arasında dönüştürmek için kullanılabilir DataGridLength .

Varsayılan olarak, DataGrid.ColumnWidth özelliği olarak ayarlanır SizeToHeader ve DataGridColumn.Width özelliği olarak ayarlanır Auto . Boyutlandırma modu veya olarak ayarlandığında AutoSizeToCells sütunlar, en geniş görünür içeriğinin genişliğine göre artar. Kaydırma sırasında, geçerli sütun boyutundan daha büyük olan içerik görünüme kaydırıldığında bu boyutlandırma modları sütunların genişlemesine neden olur. İçerik görünümden kaydırıldığında sütun daraltılamıyor.

İçindeki sütunlar DataGrid aynı zamanda yalnızca belirtilen sınırlar dahilinde otomatik olarak boyut olarak ayarlanabilir veya sütunlar belirli bir boyuta ayarlanabilir. Aşağıdaki tabloda, sütun boyutlarını denetlemek için ayarlanılabilecek özellikler gösterilmektedir.

Özellik Açıklama
DataGrid.MaxColumnWidth İçindeki tüm sütunlar için üst sınırı ayarlar DataGrid .
DataGridColumn.MaxWidth Tek bir sütun için üst sınırı ayarlar. Geçersiz kılmalar DataGrid.MaxColumnWidth .
DataGrid.MinColumnWidth İçindeki tüm sütunlar için alt sınır ayarlar DataGrid .
DataGridColumn.MinWidth Tek bir sütun için alt sınır ayarlar. Geçersiz kılmalar DataGrid.MinColumnWidth .
DataGrid.ColumnWidth İçindeki tüm sütunlar için belirli bir genişlik ayarlar DataGrid .
DataGridColumn.Width Tek bir sütun için belirli bir genişlik ayarlar. Geçersiz kılmalar DataGrid.ColumnWidth .

DataGrid sütun başlıkları

Varsayılan olarak, DataGrid sütun başlıkları görüntülenir. Sütun üstbilgilerini gizlemek için, HeadersVisibility özelliğinin veya olarak ayarlanması gerekir DataGridHeadersVisibility.RowDataGridHeadersVisibility.None . Varsayılan olarak, sütun başlıkları görüntülendiğinde, içeriğine uyacak şekilde otomatik olarak boyutlarlar. Sütun başlıklarına, özelliği ayarlanarak belirli bir yükseklik verilebilir DataGrid.ColumnHeaderHeight .

Fareyle yeniden boyutlandırma

Kullanıcılar DataGrid satır veya sütun üst bilgisi bölücüleri sürükleyerek satırları ve sütunları yeniden boyutlandırabilir. DataGridAyrıca satır veya sütun üst bilgisi bölücüyü çift tıklayarak satır ve sütunların otomatik olarak yeniden boyutlandırılmasını destekler. Bir kullanıcının belirli sütunları yeniden boyutlandırmasını engellemek için, DataGridColumn.CanUserResizefalse her sütun için özelliğini olarak ayarlayın. Kullanıcıların tüm sütunları yeniden boyutlandırmasını engellemek için DataGrid.CanUserResizeColumns özelliğini olarak ayarlayın false . Kullanıcıların tüm satırları yeniden boyutlandırmasını engellemek için DataGrid.CanUserResizeRows özelliğini olarak ayarlayın false .

Ayrıca bkz.