Pergunta

Existe uma maneira de moldagem de texto em um recipiente não-retangular no WPF?

Aqui está como isso é feito no photoshop

Foi útil?

Solução

Infelizmente não há uma maneira simples, sem fazer uma implementação completa de um TextFormatter. artigo MSDN sobre os conceitos básicos de um TextFormatter Avançada :

O layout de texto e controles de interface do usuário no WPF fornecem propriedades que permitem que você facilmente incluir texto formatado em sua aplicação formatação. Esses controles expor um número de propriedades para lidar com a apresentação do texto, que inclui o seu tipo de letra, tamanho e cor. Em circunstâncias normais, esses controles podem lidar com a maioria dos apresentação do texto na sua aplicação. No entanto, alguns cenários avançados exigem o controle de armazenamento de texto, bem como a apresentação de texto. WPF fornece um texto extensível a formatação do motor para este fim.

Outras dicas

Você já olhou para o UIElement.Clip propriedade?

Para o ajuste de texto não-retangular, você pode tentar definir uma propriedade TextBlock.Clip a um objeto de geometria não-retangular. Eu não tentei isso; ou ele não vai desenhar texto fora da região de clipe ou ele vai quebrar o texto para caber dentro do clipe.

Charles Petzold menciona esta técnica .

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