Yo uso dos métodos para el tamaño relativo. Tengo una clase llamada Relative
con tres propiedades adjuntas To
, WidthPercent
y HeightPercent
que es útil si quiero que un elemento tenga un tamaño relativo de un elemento en cualquier parte del árbol visual y se sienta menos hacky que el enfoque del convertidor, aunque use lo que funciona para usted, que Estás contento con.
El otro enfoque es bastante más astuto. Agregue un lugar ViewBox
donde desee tamaños relativos dentro, luego dentro de eso, agregue un Grid
ancho de 100. Luego, si agrega un TextBlock
ancho de 10 dentro de eso, obviamente es el 10% de 100.
El ViewBox
escalará el Grid
acuerdo con cualquier espacio que se le ha dado, así que si es la única cosa en la página, a continuación, el Grid
será escalado a cabo ancho completo y eficaz, suTextBlock
se escala al 10% de la página.
Si no establece una altura en el, Grid
entonces se reducirá para ajustarse a su contenido, por lo que todo tendrá un tamaño relativamente. Tendrá que asegurarse de que el contenido no sea demasiado alto, es decir, comience a cambiar la relación de aspecto del espacio dado, de lo ViewBox
contrario, también comenzará a escalar la altura. Probablemente pueda solucionar esto con un Stretch
de UniformToFill
.