2016-09-22 3 views
0

Я новичок в оконном телефоне.
Итак, я использую visual studio 2013 для создания первого приложения для оконного телефона 8.1.
Я тестирую эмулятор WVGA 4 дюйма, все в порядке.
это мой простой XAML:window phone 8.1 build app для разных размеров экрана

<Grid> 
<ScrollViewer> 
    <StackPanel> 
     <TextBlock x:Name="tbCheck" Margin="10,0,0,0" FontSize="20" Text="check"/> 
     <ListView x:Name="lvInfo" SelectionChanged="lvInfo_SelectionChanged"> 
      <ListView.ItemsPanel> 
       <ItemsPanelTemplate> 
        <WrapGrid MaximumRowsOrColumns="5" Orientation="Horizontal" HorizontalAlignment="Center"/> 
       </ItemsPanelTemplate> 
      </ListView.ItemsPanel> 
      <ListView.ItemTemplate> 
       <DataTemplate> 
        <Border BorderThickness="3" CornerRadius="3" Margin="10,0,10,10" BorderBrush="#ffffff"> 
         <StackPanel Orientation="Horizontal" HorizontalAlignment="Left"> 
          <Image Margin="5,5,5,5" Width="100" Height="100" HorizontalAlignment="Left" Source="{Binding ImgInfo}"/> 
          <StackPanel> 
           <TextBlock FontSize="28" Text="{Binding NameInfo}"/> 
           <TextBlock Margin="0,5,0,5" FontSize="18" Text="{Binding AgeInfo}"/> 
           <TextBlock FontSize="18" Text="{Binding GenderInfo}"/> 
          </StackPanel> 
         </StackPanel> 
        </Border> 
       </DataTemplate> 
      </ListView.ItemTemplate> 
     </ListView> 
    </StackPanel> 
</ScrollViewer> 

я знаю, что нужно исправить для различных размеров экрана, чтобы сделать все как на WVGA 4 дюйма, но я не знаю, как сделать это.
Пожалуйста, помогите мне.

ответ

0

Немногие вещи, чтобы указать.

1) Windows Phone OS Автоматическая установка FontSize элементов на основе размера шрифта ОС. Вам не нужно явно указывать FontSize для текстовых полей. Однако, если вы хотите сделать FontSize ваших деталей явно больших или меньших, чем другие, используют Theme Resources

смотри таблицу ниже:

enter image description here

2) Ваше первое StackPanel Внутри DataTemplate HorizontalAlignment установлен в Left , Если это не требуется дизайном, не используйте его. Вместо этого используйте Grid

Замените StackPanel на Grid, как показано ниже.

<Border BorderThickness="3" CornerRadius="3" Margin="10,0,10,10" BorderBrush="#ffffff"> 
    <Grid HorizontalAlignment="Stretch" VerticalAlignment="Top"> 
     <Grid.ColumnDefinitions> 
      <ColumnDefinition Width="Auto"/> 
      <ColumnDefinition Width="*"/> 
     </Grid.ColumnDefinitions> 
     <Image Margin="5" Width="100" Height="100" Source="{Binding ImgInfo}"/> 
     <StackPanel Grid.Column="1"> 
      <TextBlock FontSize="{StaticResource PhoneFontSizeLarge}" Text="{Binding NameInfo}"/> 
      <TextBlock Margin="0,5" FontSize="{StaticResource PhoneFontSizeSmall}" Text="{Binding AgeInfo}"/> 
      <TextBlock FontSize="{StaticResource PhoneFontSizeSmall}" Text="{Binding GenderInfo}"/> 
     </StackPanel> 
    </Grid> 
</Border> 

Теперь ваш ListViewItem будет потреблять все пространство на устройстве независимо от размера экрана и выглядит одинаково на все разрешения.

+0

Это означает, что при отображении на 4-дюймовом экране или 6-дюймовом экране или 8-дюймовом экране он выглядит так же, как и у других? и о ширине и высоте изображения, как сделать его похожим на все разрешения? – 1234abcd

+0

@ 1234abcd попробуйте сами. – AVK

+0

Большое вам спасибо – 1234abcd

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