2016-06-16 3 views
0

Я пытаюсь написать универсальное приложение с сеткой с 2 ​​столбцами и 6 строками, каждая коробка содержит текстовый блок. Я хочу, чтобы сетка автоматически масштабировалась с размером окна, а позже я также получу текстовое масштабирование с окном.XAML сетка не автомасштабирование

<Grid HorizontalAlignment="Left" Height="1070" Margin="10,10,0,0" VerticalAlignment="Top" Width="1900"> 
     <Grid.ColumnDefinitions> 
      <ColumnDefinition/> 
      <ColumnDefinition/> 
     </Grid.ColumnDefinitions> 
     <Grid.RowDefinitions> 
      <RowDefinition Height="*"/> 
      <RowDefinition Height="*"/> 
      <RowDefinition Height="*"/> 
      <RowDefinition Height="*"/> 
      <RowDefinition Height="*"/> 
      <RowDefinition Height="*"/> 
     </Grid.RowDefinitions> 

     <TextBlock x:Name="DaoTB" HorizontalAlignment="Left" Margin="10,10,0,0" TextWrapping="Wrap" Text="TEST" VerticalAlignment="Top" Height="154" Width="736" FontSize="100" TextAlignment="Center" SelectionChanged="textBlock_SelectionChanged" Grid.Column="1" Grid.Row="0"/> 
     <TextBlock x:Name="EthTB" HorizontalAlignment="Left" Margin="10,10,0,0" TextWrapping="Wrap" Text="TEST" VerticalAlignment="Top" Height="154" Width="736" FontSize="100" TextAlignment="Center" SelectionChanged="textBlock_SelectionChanged" Grid.Column="1" Grid.Row="1"/> 
     <TextBlock x:Name="LtcTB" HorizontalAlignment="Left" Margin="10,10,0,0" TextWrapping="Wrap" Text="TEST" VerticalAlignment="Top" Height="154" Width="736" FontSize="100" TextAlignment="Center" SelectionChanged="textBlock_SelectionChanged" Grid.Column="1" Grid.Row="2"/> 
     <TextBlock x:Name="DgeTB" HorizontalAlignment="Left" Margin="10,10,0,0" TextWrapping="Wrap" Text="TEST" VerticalAlignment="Top" Height="154" Width="736" FontSize="100" TextAlignment="Center" SelectionChanged="textBlock_SelectionChanged" Grid.Column="1" Grid.Row="3"/> 
     <TextBlock x:Name="LumTB" HorizontalAlignment="Left" Margin="10,10,0,0" TextWrapping="Wrap" Text="TEST" VerticalAlignment="Top" Height="154" Width="736" FontSize="100" TextAlignment="Center" SelectionChanged="textBlock_SelectionChanged" Grid.Column="1" Grid.Row="4"/> 
     <TextBlock x:Name="RipTB" HorizontalAlignment="Left" Margin="10,10,0,0" TextWrapping="Wrap" Text="TEST" VerticalAlignment="Top" Height="154" Width="736" FontSize="100" TextAlignment="Center" SelectionChanged="textBlock_SelectionChanged" Grid.Column="1" Grid.Row="5"/> 
    </Grid> 

Это не автоматическая шкала с окном - текст выходит за пределы экрана, и при изменении размера окна, текст просто остается на месте и гаснет экран. Как я могу изменить размер сетки с размером окна?

+0

Не используйте HorizontalAligment, Height, VerticalAligment, ни ширины, с этим вы вынуждаете размер не ты видишь это? Кроме того, вы должны использовать Auto в Height для каждого RowDefinition. –

ответ

1

Ваша сетка должна выглядеть следующим образом, если вы хотите, чтобы получить его, чтобы растянуть к границам окна

<Grid Margin="10,10,0,0"> 
     <Grid.ColumnDefinitions> 
      <ColumnDefinition/> 
      <ColumnDefinition/> 
     </Grid.ColumnDefinitions> 
     <Grid.RowDefinitions> 
      <RowDefinition Height="*"/> 
      <RowDefinition Height="*"/> 
      <RowDefinition Height="*"/> 
      <RowDefinition Height="*"/> 
      <RowDefinition Height="*"/> 
      <RowDefinition Height="*"/> 
     </Grid.RowDefinitions> 

     <TextBlock x:Name="DaoTB" HorizontalAlignment="Left" Margin="10,10,0,0" TextWrapping="Wrap" Text="TEST" VerticalAlignment="Top" Height="154" Width="736" FontSize="100" TextAlignment="Center" SelectionChanged="textBlock_SelectionChanged" Grid.Column="1" Grid.Row="0"/> 
     <TextBlock x:Name="EthTB" HorizontalAlignment="Left" Margin="10,10,0,0" TextWrapping="Wrap" Text="TEST" VerticalAlignment="Top" Height="154" Width="736" FontSize="100" TextAlignment="Center" SelectionChanged="textBlock_SelectionChanged" Grid.Column="1" Grid.Row="1"/> 
     <TextBlock x:Name="LtcTB" HorizontalAlignment="Left" Margin="10,10,0,0" TextWrapping="Wrap" Text="TEST" VerticalAlignment="Top" Height="154" Width="736" FontSize="100" TextAlignment="Center" SelectionChanged="textBlock_SelectionChanged" Grid.Column="1" Grid.Row="2"/> 
     <TextBlock x:Name="DgeTB" HorizontalAlignment="Left" Margin="10,10,0,0" TextWrapping="Wrap" Text="TEST" VerticalAlignment="Top" Height="154" Width="736" FontSize="100" TextAlignment="Center" SelectionChanged="textBlock_SelectionChanged" Grid.Column="1" Grid.Row="3"/> 
     <TextBlock x:Name="LumTB" HorizontalAlignment="Left" Margin="10,10,0,0" TextWrapping="Wrap" Text="TEST" VerticalAlignment="Top" Height="154" Width="736" FontSize="100" TextAlignment="Center" SelectionChanged="textBlock_SelectionChanged" Grid.Column="1" Grid.Row="4"/> 
     <TextBlock x:Name="RipTB" HorizontalAlignment="Left" Margin="10,10,0,0" TextWrapping="Wrap" Text="TEST" VerticalAlignment="Top" Height="154" Width="736" FontSize="100" TextAlignment="Center" SelectionChanged="textBlock_SelectionChanged" Grid.Column="1" Grid.Row="5"/> 
    </Grid> 
+0

Это отлично работает, спасибо за помощь: D – MattyAB

+0

Итак, вы хотите избавиться от 'Width/Height/VerticalAlignment' от исходной версии. Я также хотел бы добавить, что для высоты строки/ширины столбца - * является значением по умолчанию, поэтому нет необходимости в всех этих 'Height =" * "' qualifiers. –

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