GridView Genel Bakışı
GridView Görünüm modu, bir denetim için görünüm modlarından biridir ListView . GridViewSınıfı ve destekleyici sınıfları, sizin ve kullanıcılarınızın, genellikle düğmeleri etkileşimli sütun başlıkları olarak kullanan bir tablodaki öğe koleksiyonlarını görüntülemesini sağlar. Bu konu sınıfı tanıtır GridView ve kullanımını özetler.
GridView görünümü nedir?
GridViewGörünüm 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 bir listesini görüntüler. Varsayılan GridView stil düğmeleri sütun başlıkları olarak uygular. Sütun başlıkları için 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 başlığına tıklabilirler.
Not
GridViewSütun başlıkları için kullanılan düğme denetimleri öğesinden türetilir ButtonBase .
Aşağıdaki çizimde bir GridView içerik görünümü gösterilmektedir ListView .

GridView sütunlar nesneler tarafından temsil edilir GridViewColumn ve içeriğe otomatik olarak boyutlenebilir. İsteğe bağlı olarak, açıkça belirli bir GridViewColumn Genişlik olarak ayarlayabilirsiniz. Kavrayıcıyı sütun başlıkları arasında sürükleyerek sütunları yeniden boyutlandırabilirsiniz. Ayrıca, bu işlev yerleşik olarak bulunduğu için sütunları dinamik olarak ekleyebilir, kaldırabilir, değiştirebilir ve yeniden sıralayabilirsiniz GridView . Ancak, GridView görüntülediği veriler doğrudan güncelleştirilemez.
Aşağıdaki örnek, GridView çalışan verilerini görüntüleyen bir 'nın nasıl tanımlanacağını göstermektedir. Bu örnekte, öğesini ListView olarak tanımlar EmployeeInfoDataSourceItemsSource . İçerik bağlama özelliğinin özellik DisplayMemberBinding tanımları GridViewColumnEmployeeInfoDataSource veri kategorilerine.
<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 ıtemısource nesnesinden verileri görüntüler:

GridView düzeni ve stili
Sütun hücrelerinin ve sütununun sütun üstbilgisinin GridViewColumn genişliği aynı. Varsayılan olarak, her sütun genişliğini içeriğine uyacak şekilde boyutlandırı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ükleri için bir küme olarak görüntülenir.
GridView 'da sütunları tanımlama ve Stillendirme
İçinde görüntülenecek veri alanını tanımlarken,, GridViewColumnDisplayMemberBindingCellTemplate veya CellTemplateSelector özelliklerini kullanın. DisplayMemberBindingÖzelliği, şablon özelliklerinden herhangi birinin üzerine gelir.
İçeriğinin bir sütununda hizalamasını belirtmek için GridView bir tanımlayın CellTemplate . HorizontalContentAlignmentVerticalContentAlignment Kullanılarak görüntülenen içerik için ve özelliklerini kullanmayın ListViewGridView .
Sütun başlıkları için şablon ve stil özelliklerini belirtmek üzere,, GridViewGridViewColumn ve GridViewColumnHeader sınıflarını kullanın. Daha fazla bilgi için bkz. GridView sütun üst bilgi stilleri ve şablonlara genel bakış.
GridView 'a görsel öğe ekleme
Ve denetimleri gibi görsel öğeleri CheckBoxButton bir GridView Görünüm moduna eklemek için şablonlar veya stiller kullanın.
Bir görsel öğeyi bir veri öğesi olarak açıkça tanımlarsanız, bir içinde yalnızca bir kez görünebilir GridView . Bu sınırlama, bir öğenin yalnızca bir üst öğesi olabileceğinden ve bu nedenle görsel ağaçta yalnızca bir kez görünebildiğinden oluşur.
GridView 'da satır Stillendirme
GridViewRowPresenterVe GridViewHeaderRowPresenter satırlarını biçimlendirmek ve göstermek için ve sınıflarını kullanın GridView . Bir görünüm modundaki satırların nasıl Stillendirilmesi hakkında bir örnek için GridView , bkz. GridView.
ItemContainerStyle kullandığınızda hizalama sorunları
Sütun üstbilgileri ve hücreler arasındaki hizalama sorunlarını engellemek için, bir özellik ayarlamayın veya içindeki bir öğenin genişliğini etkileyen bir şablon belirtmeyin ItemContainerStyle . Örneğin, Margin özelliğini ayarlamayın veya bir ControlTemplateCheckBox denetimde tanımlı bir öğesine ekleyen bir öğesini belirtin ItemContainerStyleListView . Bunun yerine, bir görünüm modunu tanımlayan sınıflarda doğrudan sütun genişliğini etkileyen özellikleri ve şablonları belirtin GridView .
Örneğin, görüntüleme modundaki satırlara bir eklemek için öğesini CheckBoxGridViewCheckBox öğesine ekleyin DataTemplate ve sonra CellTemplate özelliği bu olarak ayarlayın DataTemplate .
GridView ile kullanıcı etkileşimleri
Uygulamanızda bir kullandığınızda GridView , kullanıcılar ile etkileşime geçebilir ve biçimlendirmesini değiştirebilir GridView . Örneğin, kullanıcılar sütunları yeniden sıralayabilir, bir sütunu yeniden boyutlandırabilir, tablodaki öğeleri seçebilir ve içeriği kaydırabilirler. Ayrıca, bir Kullanıcı sütun üst bilgisi düğmesine tıkladığında yanıt veren bir olay işleyicisi tanımlayabilirsiniz. Olay işleyicisi, GridView bir sütunun içeriğine göre görüntülenen verileri sıralama gibi işlemler gerçekleştirebilir.
Aşağıdaki liste, Kullanıcı etkileşimi için kullanmanın yeteneklerini daha ayrıntılı bir şekilde anlatmaktadır GridView :
Sürükle ve bırak yöntemini kullanarak sütunları yeniden sıralayın.
Kullanıcılar bir GridView sütun başlığı üzerindeyken sol fare düğmesine basarak ve sonra bu sütunu yeni bir konuma sürükleyerek, içindeki sütunları yeniden sıralayabilir. Kullanıcı sütun başlığını sürüklediğinde, başlığın kayan bir sürümü ve sütunun ekleneceği yeri gösteren düz bir siyah çizgi görüntülenir.
Bir üstbilginin kayan sürümünün varsayılan stilini değiştirmek istiyorsanız, ControlTemplateGridViewColumnHeader özelliği olarak ayarlandığında tetiklenen bir tür için bir seçin RoleFloating . 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ırın.
Kullanıcılar bir sütunu içeriğe sığacak şekilde yeniden boyutlandırmak için bir sütun üst bilgisinin sağındaki kavrayıcıyı çift tıklayabilirler.
Not
WidthÖzelliğini
Double.NaNaynı etkiyi oluşturmak için olarak ayarlayabilirsiniz.Satır öğelerini seçin.
Kullanıcılar bir veya daha fazla öğeyi bir veya daha fazla seçim yapabilir GridView .
StyleSeçili bir öğenin öğesini değiştirmek istiyorsanız, bkz. Style.
Başlangıçta ekranda görünmeyen içeriği görüntülemek için kaydırın.
Boyutu GridView tüm öğelerin görüntülenmesi için yeterince büyük değilse, kullanıcılar bir denetim tarafından sunulan kaydırma çubuklarını kullanarak yatay veya dikey bir şekilde kaydırabilirler ScrollViewer . ScrollBarTüm içerik belirli bir yönde görünür durumdaysa, gizli olur. Sütun başlıkları dikey bir kaydırma çubuğuyla kaydırılmaz, ancak yatay olarak kaydırılmaz.
Sütun başlığı düğmelerine tıklayarak sütunlarla etkileşime geçin.
Kullanıcılar bir sütun üst bilgisi düğmesine tıkladıklarında, bir sıralama algoritması sağladıysanız sütunda görüntülenen verileri sıralabilirler.
ClickSıralama algoritması gibi işlevler sağlamak için sütun üst bilgisi düğmelerinin olayını işleyebilirsiniz. ClickTek bir sütun üst bilgisinin olayını işlemek için üzerinde bir olay işleyicisi ayarlayın GridViewColumnHeader . Tüm sütun başlıkları için olayı işleyen bir olay işleyicisi ayarlamak için Click , denetimde işleyiciyi ayarlayın ListView .
Diğer özel görünümleri edinme
GridViewSoyut sınıftan türetilmiş sınıf, ViewBase sınıf için olası görünüm modlarından yalnızca biridir ListView . Sınıfından türeterek için başka özel görünümler oluşturabilirsiniz ListViewViewBase . Özel görünüm moduna bir örnek için bkz. ListView Için özel görünüm modu oluşturma.
GridView destekleme sınıfları
Aşağıdaki sınıflar GridView Görünüm modunu destekler.