Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
GridView O modo de exibição é um dos modos de exibição para um ListView controle. A GridView classe e suas classes de suporte permitem que você e seus usuários exibam coleções de itens em uma tabela que normalmente usa botões como cabeçalhos de coluna interativos. Este tópico apresenta a GridView classe e descreve seu uso.
O que é um modo de exibição GridView?
O GridView modo de exibição exibe uma lista de itens de dados associando campos de dados a colunas e exibindo um cabeçalho de coluna para identificar o campo. O estilo padrão GridView implementa botões como cabeçalhos de coluna. Usando botões para cabeçalhos de coluna, você pode implementar recursos importantes de interação do usuário; 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.
Observação
Os controles de botão usados GridView para cabeçalhos de coluna são derivados de ButtonBase.
A ilustração a seguir mostra uma GridView exibição do ListView conteúdo.
GridView as colunas são representadas por GridViewColumn objetos, que podem ser dimensionados automaticamente de acordo com seu conteúdo. Opcionalmente, você pode definir explicitamente uma largura específica para GridViewColumn. Você pode redimensionar colunas arrastando o marcador entre os cabeçalhos de coluna. Você também pode adicionar, remover, substituir e reordenar colunas dinamicamente porque essa funcionalidade é incorporada GridView. No entanto, GridView não é possível atualizar diretamente os dados exibidos.
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 associam GridViewColumn conteúdo a 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 o exemplo anterior cria. O controle GridView exibe dados de um objeto ItemsSource:
Layout e estilo do GridView
As células de coluna e o cabeçalho de coluna de um GridViewColumn têm a mesma largura. Por padrão, cada coluna dimensiona sua largura para ajustar seu conteúdo. Opcionalmente, você pode definir uma coluna como uma largura fixa.
O conteúdo de dados relacionado é exibido em linhas horizontais. Por exemplo, na ilustração anterior, o sobrenome, o nome e o número de ID de cada funcionário são exibidos como um conjunto porque aparecem em uma linha horizontal.
Definindo e estilizando colunas em um GridView
Ao definir o campo de dados a ser exibido em um GridViewColumn, use as propriedades DisplayMemberBinding, CellTemplate ou CellTemplateSelector. A DisplayMemberBinding propriedade tem precedência sobre qualquer uma das propriedades do modelo.
Para especificar o alinhamento do conteúdo em uma coluna de um GridView, defina um CellTemplate. Não use as propriedades HorizontalContentAlignment e VerticalContentAlignment para conteúdo ListView que é exibido usando um GridView.
Para especificar as propriedades de modelo e estilo para cabeçalhos de coluna, use as classes GridView, GridViewColumn e GridViewColumnHeader. Para obter mais informações, consulte GridView Column Header Styles and Templates Overview.
Adicionando elementos visuais a um GridView
Para adicionar elementos visuais, como CheckBox e Button controles, a um GridView modo de exibição, use modelos ou estilos.
Se você definir explicitamente um elemento visual como um item de dados, ele poderá 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 na árvore visual.
Estilizando Linhas em um GridView
Use as classes GridViewRowPresenter e GridViewHeaderRowPresenter para formatar e exibir as linhas de um GridView. Para obter um exemplo de como estilizar linhas em um GridView modo de exibição, consulte Estilizar uma Linha em um ListView que Implementa um GridView.
Problemas de alinhamento ao usar ItemContainerStyle
Para evitar problemas de alinhamento entre cabeçalhos de coluna e células, não defina uma propriedade ou especifique um modelo que afete a largura de um item em um ItemContainerStyle. Por exemplo, não defina a propriedade Margin nem especifique um ControlTemplate que adicione um CheckBox a um ItemContainerStyle que está definido em um controle ListView. Em vez disso, especifique as propriedades e modelos que afetam a largura da coluna diretamente nas classes que definem um modo de exibição GridView .
Por exemplo, para adicionar CheckBox às linhas no modo de exibição GridView, adicione CheckBox a um DataTemplate e, em seguida, defina a propriedade CellTemplate para esse DataTemplate.
Interações do usuário com um GridView
Quando você usa um GridView em seu aplicativo, os usuários podem interagir 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 pelo conteúdo. Você também pode definir um manipulador de eventos que responde quando um usuário clica no botão de cabeçalho da coluna. O manipulador de eventos pode executar operações como classificar os dados exibidos no GridView de acordo com o conteúdo de uma coluna.
A lista a seguir discute com mais detalhes os recursos de uso GridView para 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 estiver sobre um cabeçalho de coluna e 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 flutuante de um cabeçalho, especifique um ControlTemplate para um GridViewColumnHeader tipo que é disparado quando a Role propriedade é definida como Floating. Para obter mais informações, consulte 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 no ajustador à direita de um cabeçalho de coluna para redimensionar uma coluna para ajustar seu conteúdo.
Observação
Você pode definir a Width propriedade para
Double.NaNpara produzir o mesmo efeito.Selecione os itens da linha.
Os usuários podem selecionar um ou mais itens em um GridView.
Se você desejar alterar o Style de um item selecionado, consulte Usar Disparadores para Estilizar Itens Selecionados em um ListView.
Role para ver o conteúdo que não está inicialmente visível na tela.
Se o tamanho do GridView não for grande o suficiente para exibir todos os itens, os usuários poderão rolar horizontal ou verticalmente usando barras de rolagem, que são fornecidas por um ScrollViewer controle. Um ScrollBar ficará oculto se todo o conteúdo estiver visível em uma direção específica. Os cabeçalhos de coluna não rolam com uma barra de rolagem vertical, mas rolam horizontalmente.
Interaja com colunas clicando nos botões de cabeçalho da coluna.
Quando os usuários clicam em um botão de cabeçalho de coluna, eles podem classificar os dados exibidos na coluna se você tiver fornecido um algoritmo de classificação.
Você pode manipular o evento Click dos botões dos cabeçalhos das colunas para implementar funcionalidades, como um algoritmo de ordenação. Para manipular o Click evento para um único cabeçalho de coluna, defina um manipulador de eventos no GridViewColumnHeader. Para definir um manipulador de eventos que manipula o Click evento para todos os cabeçalhos de coluna, defina o manipulador no ListView controle.
Obtendo outras exibições personalizadas
A GridView classe, que é derivada da ViewBase classe abstrata, é apenas um dos modos de exibição possíveis para a ListView classe. Você pode criar outras exibições personalizadas derivando ListView da ViewBase classe. Para obter um exemplo de modo de exibição personalizado, consulte Criar um modo de exibição personalizado para um ListView.
Classes de suporte do GridView
As classes a seguir dão suporte ao modo de exibição GridView .
Consulte também
.NET Desktop feedback