Eu uso dois métodos para dimensionamento relativo. Eu tenho uma classe chamada Relativecom três propriedades anexadas To, WidthPercenteHeightPercent 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 ViewBoxlocal em que deseja tamanhos relativos e, dentro dele, adicione um Gridna largura 100. Em seguida, se você adicionar umTextBlock com largura 10, é obviamente 10% de 100.
Ele ViewBoxserá dimensionado de Gridacordo com o espaço fornecido, portanto, se for a única coisa na página, Gridserá dimensionado para toda a largura e, efetivamente, você TextBlockserá 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 ViewBoxcontrário, começará a dimensionar a altura também. Provavelmente, você pode contornar isso com um Stretchde UniformToFill.