2016-06-13 3 views
0

Я хочу знать, есть ли способ изменить размер рамки и элементов внутри нее при изменении размера окна. Я всегда хочу иметь ту же пропорцию в размере элементов внутри фрейма.Изменение размера рамки и элементов в UWP

Пример:

1- Windowsize = 100 (х) и IMAGESIZE = 50 (х) = 25 locationx

2- Windowsize = 50 (х) и IMAGESIZE = 25 (х) местоположение x = 12,5 (~ 12)

В этом случае оконный код «что-то», изображение составляет 1/2 «что-то», а locationx изображения - 1/4. Я не буду делать что-то подобное, но с каждым элементом внутри рамки.

Спасибо!

ответ

1

Вы можете использовать управление <ViewBox/>, которое делает именно это.

<Page>... 
<Grid> 
    <ViewBox HorizontalAlignment="Stretch" VerticalAlignment="Stretch"> 
     <StackPanel> 
      <Button Content="test" HorizontalAlignment="Left"/> 
      <TextBlock Text="some text"/> 
     </StackPanel> 
    </ViewBox> 
</Grid> 
</Page> 

В приведенном ниже примере, ViewBox помещается внутри сетки и растягивается по вертикали и горизонтали, которая заставляет его растянуть с изменением размера страницы.

Справочные документы here.

+1

Если я понимаю, 'ViewBox' изменяет размер одного ребенка. Чтобы решить вопрос OP, этот ребенок должен быть составным (вероятно, одним из [Panel] (https://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.controls .panel.aspx). Этот ответ был бы более полным, если бы он предоставил небольшой фрагмент XAML, в котором описывается, как настроить ребенка. – IInspectable

+0

Но не меняйте размер элементов – Onelio

+0

@Inspectable, да вы можете поместить их внутри Grid или любой другой панели, которая вам нужна. – AlexDrenea