Я використовую два способи відносного розміру. У мене є клас, який називається Relativeз трьома приєднаними властивостями To, WidthPercentі HeightPercentце корисно, якщо я хочу, щоб елемент був відносним розміром елемента в будь-якому місці візуального дерева і відчував себе менш хитким, ніж підхід перетворювача - хоча використовуйте те, що працює для вас, щоб ви задоволений.
Інший підхід є досить хитрішим. Додайте ViewBoxтуди, де ви хочете відносних розмірів всередині, потім всередині цього, додайте Gridширину 100. Потім, якщо ви додасте TextBlockширину 10 всередині, це, очевидно, 10% від 100.
ViewBoxБуде масштабувати в Gridвідповідно до будь-простором , яке було дано, так що якщо його єдине на сторінці, то Gridбуде масштабироваться повною шириною і ефективно, ваш TextBlockмасштабируются до 10% сторінки.
Якщо ви не встановите висоту, Gridто вона зменшиться, щоб відповідати її вмісту, тому всі вони будуть відносно розмірами. Вам доведеться переконатися, що вміст не надто високий, тобто починає змінювати співвідношення сторін місця, наданого ViewBoxіншому, він також почне масштабувати висоту. Ви , напевно , можете обійти це з Stretchз UniformToFill.