Pergunta

Estou ciente do FontStretch propriedade, mas realmente não sei como usá-lo.

O que eu quero é criar uma janela projetado com uma resolução de 200x400 digamos. Em seguida, quando o usuário se estende-lo para 400x800 (ou qualquer outro), eu como toda a janela para esticar / ampliar (no cenário dado, tudo iria dobrar de tamanho) em vez de apenas se movimentar. Seria bom se ele trabalhou com imagens, bem como, mas apenas se as fontes e tamanhos gerais de objeto para fazer isso seria bom.

Existem quaisquer funções embutidas ou bibliotecas 3o partido que fornecem essa funcionalidade?

Foi útil?

Solução

Se todo o seu conteúdo tem que ser esticado proporcionalmente incluindo textos, controles e imagens, corrigir o seu tamanho do painel principal para 200x400 e incluí-lo em um painel Viewbox.

Um problema pode surgir quando o usuário redimensiona a janela de uma forma não proporcional como para 300x400. Em seguida, dependendo das propriedades Viewbox.StretchDirection e esticar você pode ter um layout distorcido ou áreas vazias. Para resolver isso, você pode restrição do tamanho da janela para uma determinada relação.

Outras dicas

Você pode dar uma olhada na implementação do controle ColorPicker aqui: http://livegeometry.codeplex.com/SourceControl/changeset/view/34720# 405553 especialmente MeasureOverride, ArrangeOverride e ComputeScaleFactor. m_scale é o ScaleTransform que é aplicada a todo o controle.

Você também pode usar SizeToContent e LayoutTransform se necessário.

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