Como ter largura e altura refletir ScaleTransform e como ScaleTransform ajustando altura e largura?

StackOverflow https://stackoverflow.com/questions/1404217

Pergunta

Eu tenho um problema no que diz respeito ao uso de um ScaleTransform em uma tela em Silverlight, o Canvas escalas corretamente, no entanto, a altura e largura valores permanecem sempre as mesmas.
por exemplo. um 100x100 Canvas escalado assim parece 200x200 ainda 100x100 é com relação à altura e largura valores, como podem ser atualizados para refletir o novo tamanho.

Outra questão relacionada é como alterar a altura e largura de um elemento e ter esta Scale o elemento Canvas ou XAML adequadamente ie. definindo um elemento de 100x100 para 200x200 faz tudo nele duas vezes maior - isto deve ser uma solução onde apenas a altura e largura do elemento são definidos para alterar a escala.

Estas questões estão relacionadas com a mesma questão - espero que não há uma solução, que funciona em Silverlight 3.0


Altura e Largura necessidade atualizado para que, quando esta tela está em um ScrollViewer a barra de rolagem atualiza corretamente para o novo tamanho - isso acontece se a altura ea largura é atribuído manualmente para o novo tamanho em escala, mas isso precisa de trabalho para todos os tamanhos.
Conversly eu preciso ter outra tela que, quando sua altura e largura é alterado os elementos dentro são escalados apropriadamente como este será um ícone redimensionável para uso no mesmo ou em outra tela.


Se isto não é possível no Silverlight diretamente se houver qualquer maneira de alcançar este efeito no código, se não em XAML, como isso é possível no WPF se um ImageBrush é usado, no entanto Silverlight não suporta isso e precisa de uma tela escalável, e uma tela que, quando escalado atualizações a sua própria altura e largura.

Foi útil?

Solução

A UIElement não tem conhecimento de qualquer transformação aplicada a ele. Portanto, não é possível para sua largura e altura propriedades para refletir a transformação.


Bem, uma opção é não usar uma transformação em tudo, mas usar um ViewBox (do kit de ferramentas Silverlight)

As escalas ViewBox seu conteúdo para sempre preencher o negatoscópio.

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