2016-04-04 6 views
0

Ich versuche, Radio-Schaltflächen in Universal Windows-Anwendung dynamisch zu füllen. Ich habe bereits VisualState für verschiedene von Bildschirmen geschrieben. Jetzt versuche ich den Radiobutton zu füllen, die müssen die ganze Breite des Fensters einnehmen. Ich bin in der Lage, für jeden VisualState eine feste Breite einzustellen. Aber ich denke, dass das nicht gut und schwierig weiter zu handhaben ist. In the large tab radio buttons populate like thisSo nehmen Sie die gesamte Breite des Bildschirms beim Binden dynamischer Werte in Universal windows Anwendung

<GridView Grid.Row="1" Height="auto" Width="auto" HorizontalAlignment="Stretch" ItemsSource="{Binding DamageLocationList}"> 
          <GridView.ItemsPanel> 
           <ItemsPanelTemplate> 
            <VariableSizedWrapGrid Orientation="Horizontal" /> 
           </ItemsPanelTemplate> 
          </GridView.ItemsPanel> 
          <GridView.ItemTemplate> 
           <DataTemplate x:DataType="model:DamageLocations"> 
           <Grid> 
            <RadioButton Style="{StaticResource ButtonRadioButtonStyle}" HorizontalContentAlignment="Center" HorizontalAlignment="Stretch" IsChecked="{Binding IsChecked, UpdateSourceTrigger=PropertyChanged}" Content="{Binding DamageLocation}" Margin="0" Click="RadioButton_Checked" /> 
           </Grid> 
           </DataTemplate> 
          </GridView.ItemTemplate> 
         </GridView> 
+1

können Sie mit Uniform noch einmal versuchen ?? –

+0

uniformgrid existiert nicht im UWP. Thks – Dino

+0

ok, danke für den Austausch von Informationen. –

Antwort

1

Als @Ashok Rathod sagte, können Sie versuchen, UniformGrid als ItemsPanel Ihrer Grid mit Ihrem Radio-Buttons, um die gesamte Breite der App-Fenster zu machen.

Obwohl UniformGrid nicht in UWP vorhanden ist. Aber wir können es selbst implementieren oder einen Dritten verwenden UniformGrid wie was in WinRTXamlToolkit.

Mit WinRTXamlToolkit zum Beispiel können wir mit

<toolkit:UniformGrid Rows="1" /> 

statt

<VariableSizedWrapGrid Orientation="Horizontal" /> 

Hier toolkit ist der Namensraum von WinRTXamlToolkit.Controls:

xmlns:toolkit="using:WinRTXamlToolkit.Controls"        

Da ich nicht Columns gesetzt haben Eigenschaft, es wird der Standardwert sein ist 0. Ein Wert von Null (0) für die Columns-Eigenschaft gibt an, dass die Spaltenanzahl basierend auf der Anzahl der Zeilen und der Anzahl der sichtbaren untergeordneten Elemente im Raster berechnet wird. Da ich Rows zu 1 setze, werden alle Elemente in einer Zeile und haben die gleiche Breite.

Danach können Sie auch brauchen ItemContainerStyle einstellen die Radio-Buttons wie strecken zu machen:

<GridView.ItemContainerStyle> 
    <Style TargetType="GridViewItem"> 
     <Setter Property="HorizontalContentAlignment" Value="Stretch" /> 
    </Style> 
</GridView.ItemContainerStyle> 
Verwandte Themen