2017-03-14 15 views
0

Ich versuche, zwei nebeneinander reagierende Tasten zu implementieren, und ich möchte, dass sie sich wie auf dem Bild unten verhalten.XAML UWP Adaptive Tasten

ScreenCapture

Das ist mein XAML:

<RelativePanel x:Name="contentPanel"> 
     <Button x:Name="submitButton" Content="Submit" 
       Margin="0,40,0,0" 
       MinWidth="250" 
       RelativePanel.AlignLeftWithPanel="True"/> 

     <Button x:Name="annulerButton" Content="Cancel" 
       Margin="5,40,0,0" 
       MinWidth="250" 
       RelativePanel.RightOf="submitButton" 
       RelativePanel.AlignRightWithPanel="True"/> 
<RelativePanel/> 

Bitte, jede mögliche Hilfe?

Antwort

1

Verwenden Grid mit ColumnDefinition etwas wie unten.

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="*"/> 
     <ColumnDefinition Width="*"/> 
    </Grid.ColumnDefinitions> 
    <Button x:Name="submitButton" Content="Submit" Margin="5" Grid.Column="0" HorizontalAlignment="Stretch" /> 
    <Button x:Name="annuleButton" Content="Cancel" Margin="5" Grid.Column="1" HorizontalAlignment="Stretch"/> 
</Grid> 

und Ende ausgegeben wird

enter image description here

+1

Vielen Dank @Naidu, es funktioniert ziemlich gut! – Yvder

1

Sie können die Open-Source-Implementierung der UniformGrid für UWP anstelle der relativen Panel verwenden.

Alternativ können Sie versuchen, Ihre Schaltflächen in das Standard-Grid-Steuerelement zu versetzen, obwohl es sich bei einer kleineren Größe möglicherweise falsch verhält. Da die minimale Breite der Schaltflächen in Ihrem Fall auf denselben Wert eingestellt ist, haben Sie dieses Problem nicht.

<Grid x:Name="contentPanel"> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="*" /> 
     <ColumnDefinition Width="*" /> 
    </Grid.ColumnDefinitions> 
    <Button x:Name="submitButton" Content="Submit" 
      Margin="0,40,0,0" 
      MinWidth="250" 
      Grid.Column="0"/> 
    <Button x:Name="annulerButton" Content="Cancel" 
      Margin="5,40,0,0" 
      MinWidth="250" 
      Grid.Column="1"/> 
</Grid>