2013-10-01 22 views
0

我面臨處理不同屏幕尺寸的問題,問題是文本!如何處理ViewBox

我有下一節:

這是顯示1024×768

1024x768

這是顯示2560×1440

2560x1440

堆棧有人給我暗示,視框可以幫助我解決這個問題,好吧,我試試這個:

但這是什麼?

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> 

您可能要玩的ViewBoxStretch屬性來實現你想要的結果。但我估計使用"Fill"選項。

我一直在使用這種方法爲我的遊戲和應用程序適應不同的屏幕比例和大小。