Aracılığıyla paylaş


GridView'a Genel Bakış

GridView görünüm modu, denetimin ListView görünüm modlarından biridir. sınıfı GridView ve destekleyici sınıfları, sizin ve kullanıcılarınızın genellikle etkileşimli sütun üst bilgileri olarak düğmeleri kullanan bir tablodaki öğe koleksiyonlarını görüntülemenizi sağlar. Bu konu sınıfını GridView tanıtır ve kullanımını özetler.

GridView Görünümü nedir?

Görünüm GridView modu, veri alanlarını sütunlara bağlayarak ve alanı tanımlamak için bir sütun üst bilgisi görüntüleyerek veri öğelerinin listesini görüntüler. Varsayılan GridView stil, düğmeleri sütun üst bilgisi olarak uygular. Sütun üst bilgilerine yönelik düğmeleri kullanarak önemli kullanıcı etkileşimi özelliklerini uygulayabilirsiniz; örneğin, kullanıcılar verileri belirli bir sütunun içeriğine göre sıralamak GridView için sütun üst bilgisine tıklayabilir.

Uyarı

Sütun başlıkları için kullanılan düğme denetimleri GridView'den ButtonBase türetilir.

Aşağıdaki çizimde GridView içeriğin bir ListView görünümü gösterilmektedir.

Dosya bilgilerini görüntüleyen GridView çıktısı içeren ListView'ı gösteren ekran görüntüsü.

GridView sütunlar, içeriğine otomatik olarak boyutlanabilen GridViewColumn nesneleri tarafından temsil edilir. İsteğe bağlı olarak, GridViewColumn öğesini açıkça belirli bir genişliğe ayarlayabilirsiniz. Sütun başlıkları arasındaki kavrama düğmesini sürükleyerek sütunları yeniden boyutlandırabilirsiniz. Ayrıca, bu işlev içinde GridViewyerleşik olduğundan sütunları dinamik olarak ekleyebilir, kaldırabilir, değiştirebilir ve yeniden sıralayabilirsiniz. Ancak, GridView görüntülediği verileri doğrudan güncelleştiremez.

Aşağıdaki örnekte çalışan verilerini görüntüleyen bir GridView öğesinin nasıl tanımlanacağı gösterilmektedir. Bu örnekte, ListViewEmployeeInfoDataSource öğesini ItemsSource olarak tanımlar. DisplayMemberBinding özelliğinin tanımları, GridViewColumn içeriği EmployeeInfoDataSource veri kategorilerine bağlar.


<ListView ItemsSource="{Binding Source={StaticResource EmployeeInfoDataSource}}">

    <ListView.View>

        <GridView AllowsColumnReorder="true" ColumnHeaderToolTip="Employee Information">

            <GridViewColumn DisplayMemberBinding="{Binding Path=FirstName}" Header="First Name" Width="100"/>

            <GridViewColumn DisplayMemberBinding="{Binding Path=LastName}" Width="100">
                <GridViewColumnHeader>Last Name
                    <GridViewColumnHeader.ContextMenu>
                        <ContextMenu MenuItem.Click="LastNameCM_Click" Name="LastNameCM">
                            <MenuItem Header="Ascending" />
                            <MenuItem Header="Descending" />
                        </ContextMenu>
                    </GridViewColumnHeader.ContextMenu>
                </GridViewColumnHeader>
            </GridViewColumn>

            <GridViewColumn DisplayMemberBinding="{Binding Path=EmployeeNumber}" Header="Employee No." Width="100"/>
        </GridView>

    </ListView.View>
</ListView>

GridView Düzeni ve Stili

sütun hücreleri ve sütun GridViewColumn üst bilgisi aynı genişliğe sahiptir. Varsayılan olarak, her sütun genişliğini içeriğine uyacak şekilde boyutlandırmıştır. İsteğe bağlı olarak, bir sütunu sabit genişliğe ayarlayabilirsiniz.

İlgili veri içeriği yatay satırlarda görüntülenir. Örneğin, önceki çizimde, her çalışanın soyadı, adı ve kimlik numarası yatay bir satırda göründüğünden küme olarak görüntülenir.

GridView'da Sütunları Tanımlama ve Stil Oluşturma

içinde GridViewColumn görüntülenecek veri alanını tanımlarken, DisplayMemberBinding, CellTemplate, veya CellTemplateSelector özelliklerini kullanın. özelliği, DisplayMemberBinding şablon özelliklerinden herhangi birinden önceliklidir.

bir sütunundaki içeriğin hizalamasını GridViewbelirtmek için bir CellTemplatetanımlayın. HorizontalContentAlignment kullanılarak görüntülenen VerticalContentAlignment içeriği için ListView ve GridView özelliklerini kullanmayın.

Sütun başlıkları için şablon ve stil özelliklerini belirtmek için , GridViewve GridViewColumn sınıflarını kullanınGridViewColumnHeader. Daha fazla bilgi için bkz. GridView Sütun Üst Bilgisi Stillerine ve Şablonlarına Genel Bakış.

GridView'a Görsel Öğeler Ekleme

Görünüm modu CheckBox'ye Button ve GridView kontrolleri gibi görsel öğeleri eklemek için şablonları veya stilleri kullanın.

Bir görsel öğeyi açıkça veri öğesi olarak tanımlarsanız, GridView içinde yalnızca bir kez görünebilir. Bir öğenin yalnızca bir üst öğesi olabileceği ve bu nedenle görsel ağaçta yalnızca bir kez görünebildiği için bu sınırlama vardır.

GridView'da Satırları Şekillendirme

GridViewRowPresenter ve GridViewHeaderRowPresenter sınıflarını kullanarak bir GridViewöğesinin satırlarını biçimlendirin ve görüntüleyin. Görünüm modunda satırlara nasıl stil verileceğini gösteren bir GridView örnek için, GridView Uygulayan ListView'da Satır Stili kısmına bakın.

ItemContainerStyle Kullanırken Karşılaşılan Hizalama Sorunları

Sütun başlıkları ve hücreler arasında hizalama sorunlarını önlemek için, bir özellik ayarlamayın veya içindeki bir öğenin genişliğini etkileyen bir ItemContainerStyleşablon belirtmeyin. Örneğin, bir Margin denetiminde tanımlanan ControlTemplate'e CheckBox ekleyen bir ItemContainerStyle belirtmeyin ya da ListView özelliğini ayarlamayın. Bunun yerine, görünüm modunu tanımlayan GridView sınıflarda doğrudan sütun genişliğini etkileyen özellikleri ve şablonları belirtin.

Örneğin, görünüm modundaki satırlara bir CheckBox eklemek için GridView öğesini CheckBox öğesine ekleyin ve ardından DataTemplate özelliğini CellTemplate öğesine ayarlayın.

GridView ile Kullanıcı Etkileşimleri

Uygulamanızda bir GridView kullandığınızda, kullanıcılar ile etkileşimde bulunabilir ve biçimlendirmesini GridViewdeğiştirebilir. Örneğin, kullanıcılar sütunları yeniden sıralayabilir, sütunu yeniden boyutlandırabilir, tablodaki öğeleri seçebilir ve içerikte gezinebilir. Kullanıcı sütun üst bilgisi düğmesine tıkladığında yanıt veren bir olay işleyicisi de tanımlayabilirsiniz. Olay işleyicisi, içinde görüntülenen GridView verileri bir sütunun içeriğine göre sıralama gibi işlemler gerçekleştirebilir.

Aşağıdaki listede, kullanıcı etkileşimi için kullanma GridView özellikleri daha ayrıntılı olarak ele alınmaktadır:

  • Sürükle ve bırak yöntemini kullanarak sütunları yeniden sırala.

    Kullanıcılar, bir sütun başlığının üzerindeyken sol fare düğmesine basarak ve ardından o sütunu yeni bir konuma sürükleyerek GridView içindeki sütunların sırasını değiştirebilir. Kullanıcı sütun üst bilgisini sürüklerken, üst bilginin kayan bir sürümü ve sütunun nereye ekleneceğini gösteren düz siyah çizgi görüntülenir.

    Üst bilginin kayan sürümü için varsayılan stili değiştirmek istiyorsanız, ControlTemplate özelliği GridViewColumnHeader olarak ayarlandığında tetiklenen bir Role türü için bir Floating belirtilmelidir. Daha fazla bilgi için bkz Sürüklenen GridView Sütun Üst Bilgisi için Stil Oluşturma.

  • Bir sütunu içeriğine göre yeniden boyutlandırabilirsiniz.

    Kullanıcılar, bir sütunu içeriğine uyacak şekilde yeniden boyutlandırmak için sütun üst bilgisinin sağındaki kavrama düğmesine çift tıklayabilir.

    Uyarı

    Aynı etkiyi üretmek için Width özelliğini Double.NaN olarak ayarlayabilirsiniz.

  • Satır öğelerini seçin.

    Kullanıcılar bir içindeki GridViewbir veya daha fazla öğeyi seçebilir.

    Seçili bir öğenin Style değiştirmek istiyorsanız, ListView'de Seçili Öğelere Stil Eklemek için Tetikleyicileri Kullanma bölümüne bakın.

  • Başlangıçta ekranda görünmeyen içeriği görüntülemek için ekranı kaydırın.

    Eğer GridView boyutu, tüm öğeleri görüntüleyecek kadar büyük değilse, kullanıcılar, bir ScrollViewer denetimi tarafından sağlanan kaydırma çubuklarını kullanarak yatay veya dikey olarak kaydırabilir. ScrollBar, tüm içerik belirli bir yönde görünür durumdaysa gizlenmiş olur. Sütun üst bilgileri dikey kaydırma çubuğuyla birlikte kaydırılmaz, ancak yatay olarak kaydırılabilir.

  • Sütun üst bilgisi düğmelerine tıklayarak sütunlarla etkileşime geçin.

    Kullanıcılar bir sütun üst bilgisi düğmesine tıkladığında, bir sıralama algoritması sağladıysanız sütunda görüntülenen verileri sıralayabilir.

    Sütun başlığı düğmeleri için Click olayını, sıralama algoritması gibi işlevler sağlamak amacıyla işleyebilirsiniz. Tek bir sütun başlığı için Click olayını işlemek amacıyla GridViewColumnHeader üzerinde bir olay işleyicisi ayarlayın. Tüm sütun başlıkları için Click olayını işleyen bir olay işleyicisi ayarlamak için, işleyiciyi ListView denetimi üzerine ayarlayın.

Diğer Özel Görünümleri Alma

Soyut GridView sınıfından türetilen ViewBase sınıfı, ListView sınıfının olası görünüm modlarından sadece biridir. ListView sınıfından türeterek ViewBase için başka özel görünümler oluşturabilirsiniz. Özel görünüm modu örneği için bkz. ListView için Özel Görünüm Modu Oluşturma.

GridView Destekleyici Sınıfları

Aşağıdaki sınıflar görünüm modunu destekler GridView .

Stiller ve şablonlar

Sütun üst bilgilerinin GridView görünümünü, stillerini ve şablonlarını değiştirerek özelleştirebilirsiniz. Bu bölümde, bir denetimin görünüm modunda bir sütun başlığını özelleştirmek için kullandığınız özelliklerin GridViewListView öncelik sırası açıklanmıştır. Daha fazla bilgi için bkz. Stiller ve şablonlar nedir? ve Denetim için şablon oluşturma.

GridView'da Sütun Üst Bilgisini Özelleştirme

içindeki bir sütun başlığının GridView içeriğini, düzenini ve stilini tanımlayan özellikler birçok ilgili sınıfta bulunur. Bu özelliklerden bazıları benzer veya aynı işlevlere sahiptir.

Aşağıdaki tablodaki satırlar aynı işlevi gerçekleştiren özellik gruplarını gösterir. Bir GridView içindeki sütun üst bilgilerini özelleştirmek için bu özellikleri kullanabilirsiniz. İlgili özellikler için öncelik sırası, en uzak sağ sütundaki özelliğin en yüksek önceliğe sahip olduğu sağdan soladır. Örneğin, ContentTemplate nesne üzerinde ayarlandığında ve GridViewColumnHeader ilişkili HeaderTemplateSelector üzerinde ayarlandığında, GridViewColumn önceliğe sahiptir. Bu senaryoda, HeaderTemplateSelector etkili değildir.

GridView'da sütun başlıkları için ilgili özellikler

GridView GridViewColumn GridViewColumnHeader
Bağlam Menüsü Özellikleri ColumnHeaderContextMenu Uygulanamaz ContextMenu
Araç ipucu

Özellikleri
ColumnHeaderToolTip Uygulanamaz ToolTip
Üst Bilgi Şablonu

Özellikleri
ColumnHeaderTemplate 1/

ColumnHeaderTemplateSelector
HeaderTemplate 1/

HeaderTemplateSelector
ContentTemplate 1/

ContentTemplateSelector
Stil Özellikleri ColumnHeaderContainerStyle HeaderContainerStyle Style

1Üst Bilgi Şablonu Özellikleri için hem şablon hem de şablon seçici özelliklerini ayarlarsanız, şablon özelliği önceliklidir. Örneğin, hem ContentTemplate hem de ContentTemplateSelector özelliklerini ayarlarsanız, ContentTemplate özelliği önceliklidir.

Ayrıca bakınız