2016-09-22 2 views
0

Ich bin neuer in Fenster Telefon.
Also, ich benutze Visual Studio 2013, um erste App für Windows Phone 8.1 zu bauen.
Ich Test auf Emulator WVGA 4 Zoll, alles ist in Ordnung.
das ist meine einfache XAML:Fenster Telefon 8.1 Build App für verschiedene Bildschirmgröße

<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> 

ich weiß, ich für verschiedene Bildschirmgröße beheben muß alles machen wie auf WVGA 4 Zoll, aber ich weiß nicht, wie das zu tun.
Bitte helfen Sie mir.

Antwort

0

Wenige Dinge zu unterstreichen.

1) Windows Phone OS Legt automatisch die Schriftgröße von Elementen basierend auf der Schriftgröße des Betriebssystems fest. Sie müssen die FontSize von TextBoxen nicht explizit festlegen. Allerdings, wenn Sie möchten explizit größer oder kleiner als andere Schriftgrad Ihrer Produkte machen, verwenden Theme Resources

siehe Tabelle unten:

enter image description here

2) Ihre erste StackPanel Innendatatemplate HorizontalAlignment ist auf Left . Wenn es nicht vom Design benötigt wird, verwenden Sie es nicht. Verwenden Sie stattdessen eine Grid

Ersetzen Sie Ihre StackPanel durch Grid wie folgt.

<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> 

Jetzt ist Ihre ListViewItem wird voll Speicherplatz auf dem Gerät verbrauchen unabhängig von Screen und schaut auf allen Auflösungen gleich.

+0

das bedeutet, wenn Anzeige auf 4-Zoll-Bildschirm oder 6-Zoll-Bildschirm oder 8-Zoll-Bildschirm, sieht es gleich mit anderen? und über Breite und Höhe des Bildes, wie man es in allen Auflösungen gleich aussehen lässt? – 1234abcd

+0

@ 1234abcd probieren Sie es selbst aus. – AVK

+0

Vielen Dank – 1234abcd

Verwandte Themen