Como ter largura e altura refletir ScaleTransform e como ScaleTransform ajustando altura e largura?
-
05-07-2019 - |
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.
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.