Pergunta

Quando eu arrastar um controle da caixa de ferramentas para a superfície de design Visual Studio 2008 WPF, ele define uma margem com base em onde eu o deixei cair e um tamanho padrão.

Existe alguma maneira de impedir que VS definindo esses? Quando eu soltar um controle em um StackPanel que eu quero que ela flua para os controles existentes no painel.

Obrigado!

Foi útil?

Solução

Eu nunca encontrou uma maneira de evitar isso. I basta digitar o XAML vez.

Editar :

Eu escrevi as acima há quase três anos. Entretanto, parece que a experiência de tempo de design ficou muito melhor.

Enquanto o designer ainda acrescenta margens codificados se você arrastar-e-soltar, existem maneiras de remover essas margens sem ter que fazê-lo manualmente.

Aqui está um link para um artigo que ilustra como usar ferramentas de design no Visual Studio 2010 para colocar para fora um formulário sem ter que digitar qualquer XAML. (Apesar do título, é sobre WPF).

A primeira parte do artigo mostra pixels codificados, mas eu ligada à segunda parte que mostra como colocar para fora os controles sem que arduamente codificação.

Técnicas de layout para Windows Form Developers

Outras dicas

Quando eu soltar um controle em um StackPanel, ele não adiciona margens, ele "flui" com o resto.

Os controles que caem sobre a superfície de design têm uma margem por padrão porque é assim que ele sabe onde ela é colocada. O que eu normalmente fazer é criar uma grade e configurá-lo da margem onde eu quiser, em seguida, criar colunas e linhas para colocar controles em. Eu deixo cair em meus outros controles que irá adicionar margens que são geralmente não o que eu quero. Depois que eu tenho todos os meus controles em minha grade, razoavelmente colocado, eu mudar para o modo de exibição XAML e quer remover a margem completamente (o que faz com que um controle como um botão para preencher todo o espaço), ou fazer a margem algo como 5, o que coloca alguns bom estofamento em torno do controle.

A linha inferior ... e isso é especialmente verdade com o desenvolvimento Silverlight, você deve se acostumar a manipular o XAML diretamente. É a única maneira que você vai obter o layout exatamente onde você quer. Esta é a minha opinião e quase todo mundo na minha loja que faz WPF / desenvolvimento do Silverlight.

Infelizmente não parece ser um meio de fazer isso.

O tamanho padrão é definido como um resultado de você manipular o tamanho de seu controle é o designer. Quando você aumentar a largura e / ou altura de um controle designer é interpretar suas ações como um pedido para fazer o controle que a largura e / ou altura especificada.

Uma situação semelhante é encontrado com as margens. Como você alterar a posição de seu controle dentro o designer, ele modifica propriedades para alcançar o layout que você criou. No caso da maioria dos recipientes a solução mais simples é modificar as margens, a fim de atingir a posição desejada, como você já apontou a solução simples nem sempre é o mais desejado.

Pessoalmente eu prefiro usar apenas o editor XAML e só ocasionalmente tomar um pico no Designer WPF quando eu quero ver o layout atual. Eu também tendem a favorecer usando a grade de layout mais das minhas janelas / controles, pois proporciona a maior flexibilidade, não só para o dimensionamento e posicionamento, mas para outras tarefas / recursos como animações, transformações, etc.

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