Aracılığıyla paylaş


GridView'a Genel Bakış

GridView görünüm modu, ListView denetimi için görünüm modlarından biridir. GridView sınıfı 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 tabloda öğe koleksiyonlarını görüntülemenizi sağlar. Bu konu, GridView sınıfını tanıtır ve kullanımını özetler.

GridView Görünümü nedir?

GridView görünüm modu, veri alanlarını sütunlara bağlayarak ve alanı tanımlamak için bir sütun başlığı görüntüleyerek veri öğelerinin listesini görüntüler. Varsayılan GridView stili, 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 GridView verileri belirli bir sütunun içeriğine göre sıralamak için sütun üst bilgisine tıklayabilir.

Uyarı

GridView'ın sütun başlıkları için kullandığı düğme kontrolleri ButtonBase'den türetilmiştir.

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

ListView içeriğinin GridView görünümünü gösteren ekran görüntüsü.

GridView sütunlar, içeriğine otomatik olarak boyutlanabilen GridViewColumn nesnelerle temsil edilir. İsteğe bağlı olarak, bir GridViewColumn 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. Bu işlev GridViewyerleşik olduğundan sütunları dinamik olarak ekleyebilir, kaldırabilir, değiştirebilir ve yeniden sıralayabilirsiniz. Ancak GridView görüntülenen verileri doğrudan güncelleştiremez.

Aşağıdaki örnekte çalışan verilerini görüntüleyen bir GridView nasıl tanımlanacağı gösterilmektedir. Bu örnekte, ListViewEmployeeInfoDataSourceItemsSourceolarak tanımlar. DisplayMemberBinding özellik 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>

Aşağıdaki çizimde, önceki örneğin oluşturduğu tablo gösterilmektedir. GridView denetimi bir ItemsSource nesnesinden verileri görüntüler:

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

GridView Düzeni ve Stili

Bir GridViewColumn sütun hücreleri ve sütun başlığı 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

bir GridViewColumngörüntülenecek veri alanını tanımlarken DisplayMemberBinding, CellTemplateveya CellTemplateSelector özelliklerini kullanın. DisplayMemberBinding özelliği, şablon özelliklerinden herhangi birinden önceliklidir.

bir GridViewsütunundaki içeriğin hizalamasını belirtmek için bir CellTemplatetanımlayın. HorizontalContentAlignmentkullanılarak görüntülenen VerticalContentAlignment içerik için ListView ve GridView özelliklerini kullanmayın.

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

GridView'a Görsel Öğeler Ekleme

CheckBox ve Button denetimleri gibi görsel öğeleri GridView görünüm moduna eklemek için şablonları veya stilleri kullanın.

Bir görsel öğeyi açıkça veri öğesi olarak tanımlarsanız, GridViewiç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

GridViewRowPresentersatırlarını biçimlendirmek ve görüntülemek için GridViewHeaderRowPresenter ve GridView sınıflarını kullanın. GridView görünüm modunda satırların nasıl stil uygulandığını gösteren bir örnek için bkz. GridViewUygulayan ListView'da Bir Satıra Stil Ekleme .

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 ItemContainerStylebir öğenin genişliğini etkileyen bir şablon belirtmeyin. Örneğin, Margin özelliğini ayarlamayın veya ControlTemplate denetiminde tanımlanmış bir CheckBox'e ItemContainerStyle ekleyen bir ListView belirtmeyin. Bunun yerine, doğrudan GridView görünüm modunu tanımlayan sınıflarda sütun genişliğini etkileyen özellikleri ve şablonları belirtin.

Örneğin, CheckBox görünüm modundaki satırlara GridView eklemek için CheckBox'yi DataTemplate'e ekleyin ve CellTemplate özelliğini o DataTemplateolarak ayarlayın.

GridView ile Kullanıcı Etkileşimleri

Uygulamanızda bir GridView kullandığınızda, kullanıcılar GridViewile etkileşimde bulunabilir ve GridView'ün biçimlendirmesini değ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, GridView görüntülenen 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 GridView kullanma özellikleri daha ayrıntılı olarak ele alınmaktadır:

  • Sütunları, sürükleyip bırakma yöntemini kullanarak yeniden sıralayın.

    Kullanıcılar, bir GridView sütun üst bilgisinin üzerindeyken sol fare düğmesine basıp bu sütunu yeni bir konuma sürükleyerek sütunları yeniden sıralayabilir. 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 GridViewColumnHeaderolarak ayarlandığında tetiklenen Role türü için bir Floating belirtin. Daha fazla bilgi için bkz. GridView Sürükleme Sütun Başlığı İçin Stil Oluşturma.

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

    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 oluşturmak için Width özelliğini Double.NaN olarak ayarlayabilirsiniz.

  • Satır öğelerini seçin.

    Kullanıcılar GridView'de bir veya daha fazla öğe seçebilir.

    Seçili bir öğenin Style'ını değiştirmek isterseniz, daha fazla bilgi için ListView'de Seçili Öğelere Stil Eklemek için Tetikleyicileri Kullanmabölümüne bakın.

  • Başlangıçta ekranda görünmeyen içeriği görüntülemek için Kaydır'ı seçin.

    GridView boyutu tüm öğeleri görüntüleyecek kadar büyük değilse, kullanıcılar ScrollViewer denetimi tarafından sağlanan kaydırma çubuklarını kullanarak yatay veya dikey olarak kaydırabilir. İçeriğin tamamı belirli bir yönde görünür hale gelmişse, ScrollBar gizlenir. Sütun üst bilgileri dikey kaydırma çubuğuyla kaymaz, ancak yatayda kaydırılır.

  • Sütun üst bilgisi düğmelerine tıklayarak sütunlarla etkileşim kurun.

    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ıralama algoritması gibi bir işlev sağlamak için sütun başlığı düğmeleri ile ilgili Click olayını işleyebilirsiniz. Tek sütunlu üst bilgi için Click olayını işlemek için GridViewColumnHeaderüzerinde bir olay işleyicisi ayarlayın. Tüm sütun üst bilgileri için Click olayını işleyen bir olay işleyicisi ayarlamak için, ListView denetiminde işleyiciyi ayarlayın.

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

GridView soyut sınıfından türetilen ViewBase sınıfı, ListView sınıfı için olası görünüm modlarından yalnızca 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. ListViewiçin Özel Görünüm Modu Oluşturma .

GridView Destekleyici Sınıfları

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

Ayrıca bakınız