2013-10-01 2 views
0

У меня возникла проблема с обработкой различных размеров экрана, и проблема текст!Как обращаться с ViewBox

У меня есть следующий раздел:

Это дисплей 1024x768

1024x768

Это дисплей 2560x1440

2560x1440

На Stack кто-то дал мне намек, что ViewBox может помочь я, чтобы решить эту проблему, хорошо, я пробую это:

Но что это?

Example

Когда текст не помещается, она сжимается - это хорошо, но как сказать другие (элементы же уровня), чтобы взять один и тот же уровень термоусадочной?

Другими словами, я хочу, чтобы весь текст такого же размера.

<Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}"> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition/> 
     <ColumnDefinition/> 
     <ColumnDefinition/> 
     <ColumnDefinition/> 
    </Grid.ColumnDefinitions> 
    <Grid.RowDefinitions> 
     <RowDefinition/> 
     <RowDefinition Height="9*"/> 
    </Grid.RowDefinitions> 
    <Image HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Source="arrow_step_1.png" Stretch="Fill" /> 
    <Image Grid.Column="1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Source="arrow_step_1.png" Stretch="Fill"/> 
    <Image Grid.Column="2" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Source="arrow_step_1.png" Stretch="Fill"/> 
    <Image Grid.Column="3" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Source="arrow_step_1.png" Stretch="Fill"/> 
    <Viewbox> 
    <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" Text="One" FontSize="20"/> 
    </Viewbox> 
    <Viewbox Grid.Column="1"> 
     <TextBlock Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" Text="Two" FontSize="20"/> 
     </Viewbox> 
    <Viewbox Grid.Column="2"> 
     <TextBlock Grid.Column="2" HorizontalAlignment="Center" VerticalAlignment="Center" Text="Threeeeeeeeeee" FontSize="20"/> 
     </Viewbox> 
    <Viewbox Grid.Column="3"> 
     <TextBlock Grid.Column="3" HorizontalAlignment="Center" VerticalAlignment="Center" Text="Four" FontSize="20"/> 
     </Viewbox> 
</Grid> 
+0

Вставьте свой 'Grid' вместо каждого отдельного' TextBlock' –

+0

, тогда он будет не на полной ширине экрана, я приведу пример через 1 час – Cheese

ответ

0

Попробуйте разместить ваш ViewBox на корневом уровне, а не .. это должно выглядеть примерно так:

<ViewBox> 
    <Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}"> 
    ... 
    </Grid> 
</ViewBox> 

Вы можете хотеть играть вокруг с Stretch свойством ViewBox для достижения желаемого результата , Но я бы рассчитывал использовать опцию "Fill".

Я использую этот метод для своих игр и приложений для адаптации к различным соотношениям и размерам экрана.

Смежные вопросы