Este artigo foi traduzido por máquina. Para visualizar o arquivo em inglês, marque a caixa de seleção Inglês. Você também pode exibir o texto Em inglês em uma janela pop-up, movendo o ponteiro do mouse sobre o texto.
Tradução
Inglês

Visão geral de GridView

 

Publicado: junho de 2016

GridView modo de exibição é um dos modos de exibição para um ListView controle. O GridView classe e suas classes de suporte permitem que você e seus usuários exibir coleções de itens em uma tabela que normalmente usa botões como cabeçalhos de coluna interativos. Este tópico apresenta o GridView classe e descreve seu uso.

O GridView modo exibe uma lista de itens de dados ao associar campos de dados a colunas e exibir um cabeçalho de coluna para identificar o campo de exibição. O padrão GridView estilo implementa botões como cabeçalhos de coluna. Usando botões para cabeçalhos de coluna, você pode implementar os recursos de interação de usuário importante; Por exemplo, os usuários podem clicar no cabeçalho da coluna para classificar GridView dados de acordo com o conteúdo de uma coluna específica.

System_CAPS_noteObservação

Controles de botão que GridView usa para os cabeçalhos é derivadas de ButtonBase.

A ilustração a seguir mostra um GridView exibição de ListView conteúdo.

Exibição GridView de conteúdo ListView

ListView com estilo

GridView colunas são representadas por GridViewColumn objetos, que podem dimensionar automaticamente ao seu conteúdo. Opcionalmente, você pode definir explicitamente um GridViewColumn com uma largura específica. Você pode redimensionar colunas arrastando a alça entre cabeçalhos de coluna. Você pode também adicionar dinamicamente, remover, substituir e reordenar colunas porque essa funcionalidade é incorporada GridView. No entanto, GridView não é possível atualizar diretamente os dados que ele exibe.

O exemplo a seguir mostra como definir um GridView que exibe dados de funcionários. Neste exemplo, ListView define o EmployeeInfoDataSource como o ItemsSource. As definições de propriedade de DisplayMemberBinding associar GridViewColumn conteúdo EmployeeInfoDataSource categorias de dados.


<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 ilustração a seguir mostra a tabela que cria o exemplo anterior.

GridView que exibe dados de um ItemsSource

ListView com saída de GridView

As células da coluna e o cabeçalho de coluna de uma GridViewColumn têm a mesma largura. Por padrão, cada coluna redimensiona sua largura para caber seu conteúdo. Opcionalmente, você pode definir uma coluna com uma largura fixa.

Conteúdo de dados relacionado são exibidos em linhas horizontais. Por exemplo, na ilustração anterior, sobrenome, nome e número de identificação de cada funcionário são exibidos como um conjunto porque eles aparecem em uma linha horizontal.

Ao definir o campo de dados para exibir em uma GridViewColumn, use o DisplayMemberBinding, CellTemplate, ou CellTemplateSelector Propriedades. O DisplayMemberBinding propriedade tem precedência sobre qualquer uma das propriedades do modelo.

Para especificar o alinhamento do conteúdo em uma coluna de uma GridView, definir um CellTemplate. Não use o HorizontalContentAlignment e VerticalContentAlignment propriedades ListView conteúdo que é exibido usando um GridView.

Para especificar propriedades de modelo e de estilo para cabeçalhos de coluna, use o GridView, GridViewColumn, e GridViewColumnHeader classes. Para obter mais informações, consulte Visão geral de modelos e estilos de cabeçalho de coluna GridView.

Para adicionar elementos visuais, como CheckBox e Button controles, como um GridView modo de exibição, use modelos ou estilos.

Se você definir um elemento visual explicitamente como um item de dados, ele pode aparecer apenas uma vez em um GridView. Essa limitação existe porque um elemento pode ter apenas um pai e portanto, pode aparecer apenas uma vez no árvore visual.

Use o GridViewRowPresenter e GridViewHeaderRowPresenter classes para formatar e exibir as linhas de um GridView. Para obter um exemplo de como aplicar estilos sobre linhas em uma GridView modo de exibição, consulte Como: criar uma linha em um ListView que implementa um GridView.

Para evitar problemas de alinhamento entre células e cabeçalhos de coluna, não defina uma propriedade ou especifique um modelo que afeta a largura de um item em uma ItemContainerStyle. Por exemplo, não defina o Margin propriedade ou especifique um ControlTemplate que adiciona um CheckBox para um ItemContainerStyle que é definido em um ListView controle. Em vez disso, especifique as propriedades e os modelos que afetam a largura da coluna diretamente em classes que definem uma GridView modo de exibição.

Por exemplo, para adicionar um CheckBox às linhas de GridView modo de exibição, adicione o CheckBox para um DataTemplate, e defina o CellTemplate propriedade com a DataTemplate.

Quando você usa um GridView em seu aplicativo, os usuários podem interagir com e modificar a formatação do GridView. Por exemplo, os usuários podem reordenar colunas, redimensionar uma coluna, selecionar itens em uma tabela e rolar o conteúdo. Você também pode definir um manipulador de eventos que responde quando um usuário clica no botão de cabeçalho de coluna. O manipulador de eventos pode realizar operações como a classificação dos dados que são exibidos no GridView acordo com o conteúdo de uma coluna.

A lista a seguir discute mais detalhadamente os recursos do uso GridView de interação do usuário:

  • Reordene colunas usando o método de arrastar e soltar.

    Os usuários podem reordenar colunas em um GridView pressionando o botão esquerdo do mouse enquanto ele está sobre um cabeçalho de coluna e, em seguida, arrastando essa coluna para uma nova posição. Enquanto o usuário arrasta o cabeçalho da coluna, uma versão flutuante do cabeçalho é exibida, bem como uma linha preta sólida que mostra onde inserir a coluna.

    Se você quiser modificar o estilo padrão para a versão de um cabeçalho flutuante, especifique um ControlTemplate para um GridViewColumnHeader tipo que é disparado quando o Role estiver definida como Floating. Para obter mais informações, consulte Como: criar um estilo para um cabeçalho de coluna GridView arrastado.

  • Redimensione uma coluna para seu conteúdo.

    Os usuários podem clicar duas vezes garra à direita do cabeçalho da coluna para redimensionar uma coluna para caber seu conteúdo.

    System_CAPS_noteObservação

    Você pode definir o Width propriedade Double.NaN para produzir o mesmo efeito.

  • Selecione os itens de linha.

    Os usuários podem selecionar um ou mais itens em um GridView.

    Se você quiser alterar o Style de um item selecionado, consulte Como: usar acionadores para estilizar itens selecionados em um ListView.

  • Barra de rolagem para exibir o conteúdo que não é visível inicialmente na tela.

    Se o tamanho do GridView é não grande o suficiente para exibir todos os itens, os usuários podem rolar horizontalmente ou verticalmente usando barras de rolagem, que são fornecidas por um ScrollViewer controle. Um ScrollBar fica oculto se todo o conteúdo estiver visível em uma direção específica. Cabeçalhos de coluna não rolam com uma barra de rolagem vertical, mas rolam horizontalmente.

  • Interagir com colunas clicando nos botões de cabeçalho de coluna.

    Quando os usuários clicam um botão de cabeçalho de coluna, eles podem classificar os dados que são exibidos na coluna se você tiver fornecido um algoritmo de classificação.

    Você pode manipular o Click evento para botões de cabeçalho de coluna para fornecer funcionalidade como um algoritmo de classificação. Para lidar com o Click evento para um cabeçalho de coluna única, definir um manipulador de eventos na GridViewColumnHeader. Para definir um manipulador de eventos que trata o Click conjunto de eventos para todos os cabeçalhos de coluna, o manipulador no ListView controle.

O GridView classe, que é derivado de ViewBase classe abstrata, é apenas um dos modos de exibição possíveis para a ListView classe. Você pode criar outros modos de exibição personalizados para ListView derivando de ViewBase classe. Para obter um exemplo de um modo de exibição personalizado, consulte Como: criar um modo de exibição personalizado para um ListView.

Mostrar: