2017-03-14 148 views
0

我试图实现两个并排响应按钮,我希望它们的行为如下图所示。XAML UWP自适应按钮

ScreenCapture

这是我的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/> 

请,任何帮助吗?

回答

1

使用GridColumnDefinition类似下面。

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

和最终产量将

enter image description here

+1

谢谢你这么多@Naidu,它工作得很好! – Yvder

1

对于UWP,您可以使用UniformGrid的开源实现,而不是相关面板。

或者,您可以尝试将按钮放入标准网格控件中,但如果调整为相当小的尺寸,则可能会出现错误。但由于按钮的最小宽度在您的情况下设置为相同的值,因此您不会遇到此问题。

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