如何在StackLayout中定位3个按钮的宽度相等

Jes*_*a S 1 xamarin xamarin.forms

任何人都知道如何在StackLayout中以3个宽度放置3个按钮?我有它与Grid一起工作

<Grid x:Name="MyGrid" Grid.Row="0" BindingContext="{x:Reference Name=Button1}"  HeightRequest="{Binding Width}">
Run Code Online (Sandbox Code Playgroud)

我想找到一种方法在相同的线上显示相同宽度的3个按钮,没有网格例如所有3个等长的按钮在StackLayout中水平横向拟合

[按钮1] [按钮222] [按钮333333]

Nic*_*sky 14

仍然使用Grid,只需指定列的宽度(百分比设置为col间距):

    <Grid ColumnSpacing="8" HorizontalOptions="FillAndExpand">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="33.33*" />
            <ColumnDefinition Width="33.33*" />
            <ColumnDefinition Width="33.33*" />
        </Grid.ColumnDefinitions>
        <Button Text="1" Grid.Column="0" HorizontalOptions="FillAndExpand"/>
        <Button Text="2" Grid.Column="1" HorizontalOptions="FillAndExpand"/>
        <Button Text="3" Grid.Column="2" HorizontalOptions="FillAndExpand"/>          
     </Grid>
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述


Ben*_*enl 5

相对布局:

<RelativeLayout HorizontalOptions="FillAndExpand">
    <Button Text="Button 1" RelativeLayout.XConstraint="{ConstraintExpression 
            Type=RelativeToParent,Property=Width,Factor=.0000,Constant=0}"
            RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToParent,
            Property=Width,Factor=.3333,Constant=0}"/>
    <Button Text="Button 222" RelativeLayout.XConstraint="{ConstraintExpression
            Type=RelativeToParent,Property=Width,Factor=.3333,Constant=0}"
            RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToParent,
            Property=Width,Factor=.3333,Constant=0}"/>
    <Button Text="Button 333333" RelativeLayout.XConstraint="{ConstraintExpression
            Type=RelativeToParent,Property=Width,Factor=.6666,Constant=0}"
            RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToParent,
            Property=Width,Factor=.3333,Constant=0}"/>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

堆栈布局:

<StackLayout Orientation="Horizontal">
    <Button x:Name="button1" Text="Button 1"/>
    <Button Text="Button 222" WidthRequest="{Binding Path=Width, Source={x:Reference button1}}"/>
    <Button Text="Button 333333" WidthRequest="{Binding Path=Width, Source={x:Reference button1}}"/>
</StackLayout>
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明