Pergunta

Vi vários exemplos de aplicativos WPF, eu vi o uso do Grid Controle para quase tudo, ainda mais simples com apenas 1 coluna ou linha.

Além disso, os modelos WPF começam com uma grade vazia.

Para mim, usando StackPanel ou DockPanel é menos detalhado e é melhor para manutenção (pense em adicionar uma linha depois e ter que adicionar +1 a todas as outras linhas)

Por que é Grid melhor ou o que estou perdendo?

Foi útil?

Solução

Eu acho que parte do motivo de Grid ser o elemento padrão é que ele é (um pouco) mais amigável para o designer.

Com uma grade, não há restrição de ter vários elementos em uma única "célula" da grade, o que permite que um designer com posicionamento gratuito tenha a mesma flexibilidade que uma tela, mas ainda possui os recursos de layout automáticos que a grade (e a outra mais agradável Controles de layout como Stackpanel e Dockpanel) contém.

Outras dicas

Duas palavras: dimensionamento de estrelas. o Grid possibilita o tamanho do conteúdo para o espaço que o contém sem fornecer explicitamente um tamanho para o contêiner. Os controles do painel não.

não falta nada. Eu tenho muitas grades em meus aplicativos, mas não necessariamente como elemento de nível superior e definitivamente não para o prolongado que você descreve.

Poderia ser muitas pessoas simplesmente não percebem que podem remover a grade inicial e, em vez disso, colocam seu próprio controle na grade.

Descobri que, para janelas mais elaboradas, é mais fácil dividi -lo em áreas funcionais que são bastante independentes (movimento e tamanho) dos outros. As grades permitem que essas áreas coexistem em um único painel e permitem que sejam posicionadas sem considerar onde outros controles estão (até certo ponto).

Por exemplo, em um projeto eu sou trabalhando agora, Eu tenho uma janela que será um gerente de remessa. Quero três visualizações de lista (remessas, pacotes, itens), tenho um controle de grade com duas colunas; Um com a lista de pacotes e um divisor de grade, o outro com uma grade aninhada com as outras duas listas e um divisor de grade.

Vi muitos designers dividirem sua janela em áreas como essa, e fazendo isso com outra coisa senão uma grade simplesmente não funciona, pois não há "células" discretas que viva indiretamente. E então eu acho que quando eles tiveram uma reunião e perguntaram qual deveria ser o painel de contêineres padrão, a grade foi a escolha baseada nesse fato.

Cory

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top