Eu uso dois métodos para dimensionamento relativo. Eu tenho uma classe chamada Relative
com três propriedades anexadas To
, WidthPercent
eHeightPercent
que é útil se eu quiser que um elemento seja do tamanho relativo de um elemento em qualquer lugar da árvore visual e parecer menos invasivo que a abordagem do conversor - embora use o que funciona melhor para você estou feliz com.
A outra abordagem é bastante mais esperta. Adicione um ViewBox
local em que deseja tamanhos relativos e, dentro dele, adicione um Grid
na largura 100. Em seguida, se você adicionar umTextBlock
com largura 10, é obviamente 10% de 100.
Ele ViewBox
será dimensionado de Grid
acordo com o espaço fornecido, portanto, se for a única coisa na página, Grid
será dimensionado para toda a largura e, efetivamente, você TextBlock
será dimensionado para 10% da página.
Se você não definir uma altura no Grid
, ela diminuirá para se ajustar ao seu conteúdo, de modo que tudo será relativamente pequeno. Você terá que garantir que o conteúdo não fique muito alto, ou seja, comece a alterar a proporção do espaço fornecido, caso ViewBox
contrário, começará a dimensionar a altura também. Provavelmente, você pode contornar isso com um Stretch
de UniformToFill
.