DataGrid Denetimindeki Boyutlandırma Seçenekleri

Boyutların nasıl DataGrid olduğunu denetlemek için çeşitli seçenekler mevcuttur. DataGridiçindeki ve içindeki tek tek satırlar ve sütunlarDataGrid, içeriğine göre otomatik olarak boyutlandırılacak şekilde veya belirli değerlere ayarlanabilir. Varsayılan olarak, DataGrid içeriği boyutuna uyacak şekilde büyür ve küçülür.

DataGrid'i boyutlandırma

Otomatik Boyutlandırma Kullanırken Dikkate Alma

Varsayılan olarak, Height ve Width özellikleri DataGrid XAML'de ("Auto" olarak ayarlanır Double.NaN ) ve DataGrid içindekilerin boyutuna ayarlanır.

veya StackPanelDataGrid gibi Canvas alt öğelerinin boyutunu kısıtlamayan bir kapsayıcıya yerleştirildiğinde, kapsayıcının görünür sınırlarının ötesine uzanır ve kaydırma çubukları gösterilmez. Bu koşulun hem kullanılabilirlik hem de performans etkileri vardır.

Bir veri kümesine bağlı olduğunda, öğesinin DataGrid değeri kısıtlanmadıysaHeight, ilişkili veri kümesindeki her veri öğesi için bir satır eklemeye devam eder. Bu, satırlar eklendikçe uygulamanızın görünür sınırlarının dışında büyümesine neden DataGrid olabilir. yeni DataGrid satırları barındıracak şekilde büyümeye devam edeceğinden, bu durumda Height kaydırma çubukları gösterilmez.

içindeki DataGridher satır için bir nesne oluşturulur. Büyük bir veri kümesiyle çalışıyorsanız ve öğesinin DataGrid kendisini otomatik olarak boyutlandırması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, öğesinin değerini özel olarak ayarlamanız HeightDataGrid veya öğesini gibi kısıtlayacak HeightGridbir kapsayıcıya yerleştirmeniz önerilir. Height kısıtlandığında, DataGrid yalnızca belirtilen Heightiçine sığacak satırları oluşturur ve yeni verileri görüntülemek için gerektiğinde bu satırları geri dönüştürecektir.

DataGrid Boyutunu Ayarlama

DataGrid, belirtilen sınırlar içinde otomatik olarak boyutlandırılacak şekilde veya DataGrid belirli bir boyuta ayarlanabilir. Aşağıdaki tabloda boyutu denetlemek için ayarlanabilen özellikler gösterilmektedir DataGrid .

Özellik Tanım
Height için DataGridbelirli bir yükseklik ayarlar.
MaxHeight yüksekliği DataGridiçin üst sınırı ayarlar. bu DataGrid yüksekliğe ulaşana kadar dikey olarak büyüyecek.
MinHeight yüksekliği DataGridiçin alt sınırı ayarlar. bu DataGrid yüksekliğe ulaşana kadar dikey olarak küçülür.
Width için DataGridbelirli bir genişlik ayarlar.
MaxWidth öğesinin genişliği DataGridiçin üst sınırı ayarlar. bu DataGrid genişliğe ulaşana kadar yatay olarak büyür.
MinWidth genişliği DataGridiçin alt sınırı ayarlar. bu DataGrid genişliğe ulaşana kadar yatay olarak küçülür.

Satırları ve Satır Üst Bilgilerini Boyutlandırma

DataGrid Satırları

Varsayılan olarak, bir DataGrid satırın Height özelliği XAML'de ("Auto" olarak ayarlanır Double.NaN ) ve satır yüksekliği içeriğinin boyutuna genişletilir. içindeki tüm satırların DataGrid yüksekliği özelliği ayarlanarak DataGrid.RowHeight belirtilebilir. Kullanıcılar, satır üst bilgisi ayırıcılarını sürükleyerek satır yüksekliğini değiştirebilir.

DataGrid Satır Üst Bilgileri

Satır üst bilgilerini görüntülemek için özelliği HeadersVisibility veya DataGridHeadersVisibility.Allolarak ayarlanmalıdırDataGridHeadersVisibility.Row. Varsayılan olarak, satır üst bilgileri görüntülenir ve içeriğine sığacak şekilde otomatik olarak boyutlandırılır. Özellik ayarlanarak satır üst bilgilerine DataGrid.RowHeaderWidth belirli bir genişlik verilebilir.

Sütunları ve Sütun Başlıklarını Boyutlandırma

DataGrid Sütunları

mutlak DataGrid veya otomatik boyutlandırma modlarını DataGridLength belirtmek için ve DataGridLengthUnitType yapısının değerlerini kullanır.

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

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

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

sınıfı, DataGridLengthConverter sayısal veya dize değerleri ile DataGridLength değerler arasında veri dönüştürmek için kullanılabilir.

Varsayılan olarak, DataGrid.ColumnWidth özelliği olarak SizeToHeaderayarlanır ve DataGridColumn.Width özelliği olarak ayarlanırAuto. Boyutlandırma modu veya SizeToCellsolarak ayarlandığındaAuto, sütunlar en geniş görünür içeriklerinin genişliğine kadar büyür. Kaydırma sırasında, geçerli sütun boyutundan daha büyük içerik görünüme kaydırıldığında bu boyutlandırma modları sütunların genişletilmesine neden olur. İçerik görünüm dışına kaydırıldıktan sonra sütun küçülmeyecek.

içindeki DataGrid sütunlar da yalnızca belirtilen sınırlar içinde otomatik olarak boyutlandırılacak şekilde ayarlanabilir veya sütunlar belirli bir boyuta ayarlanabilir. Aşağıdaki tabloda sütun boyutlarını denetlemek için ayarlanabilen özellikler gösterilmektedir.

Özellik Tanım
DataGrid.MaxColumnWidth içindeki DataGridtüm sütunlar için üst sınırı ayarlar.
DataGridColumn.MaxWidth Tek bir sütun için üst sınırı ayarlar. geçersiz kılar DataGrid.MaxColumnWidth.
DataGrid.MinColumnWidth içindeki DataGridtüm sütunlar için alt sınırı ayarlar.
DataGridColumn.MinWidth Tek bir sütun için alt sınırı ayarlar. geçersiz kılar DataGrid.MinColumnWidth.
DataGrid.ColumnWidth içindeki DataGridtüm sütunlar için belirli bir genişlik ayarlar.
DataGridColumn.Width Tek bir sütun için belirli bir genişlik ayarlar. geçersiz kılar DataGrid.ColumnWidth.

DataGrid Sütun Üst Bilgileri

Varsayılan olarak, DataGrid sütun başlıkları görüntülenir. Sütun başlıklarını gizlemek için özelliği HeadersVisibility veya DataGridHeadersVisibility.Noneolarak DataGridHeadersVisibility.Row ayarlanmalıdır. Varsayılan olarak, sütun başlıkları görüntülendiğinde, içeriğine sığacak şekilde otomatik olarak boyutlandırılır. Özellik ayarlanarak sütun üst bilgilerine DataGrid.ColumnHeaderHeight belirli bir yükseklik verilebilir.

Fare ile Yeniden Boyutlandırma

Kullanıcılar satır veya sütun üst bilgisi ayırıcılarını sürükleyerek satırları ve sütunları yeniden boyutlandırabilir DataGrid . ayrıca DataGrid satır veya sütun üst bilgisi ayırıcıya çift tıklayarak satırların ve sütunların otomatik olarak yeniden boyutlandırılması da desteklenir. Bir kullanıcının belirli sütunları yeniden boyutlandırmasını önlemek için özelliğini tek tek sütunlar için olarak false ayarlayınDataGridColumn.CanUserResize. Kullanıcıların tüm sütunları yeniden boyutlandırmasını önlemek için özelliğini olarak falseayarlayınDataGrid.CanUserResizeColumns. Kullanıcıların tüm satırları yeniden boyutlandırmasını önlemek için özelliğini olarak falseayarlayınDataGrid.CanUserResizeRows.

Ayrıca bkz.