C# 这个Android XML的XAML等价物是什么

C# 这个Android XML的XAML等价物是什么,c#,android,xaml,C#,Android,Xaml,我想将Android登录转换为XAML,但按钮方向有问题。现在是垂直的,但必须是水平的。有人能告诉我怎么做吗 XAMl代码: <?xml version="1.0" encoding="UTF-8"?> <local:LoginPageXaml xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class

我想将Android登录转换为XAML,但按钮方向有问题。现在是垂直的,但必须是水平的。有人能告诉我怎么做吗

XAMl代码:

<?xml version="1.0" encoding="UTF-8"?>
<local:LoginPageXaml xmlns="http://xamarin.com/schemas/2014/forms" 
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" 
    x:Class="Shared.LoginPage"
    BackgroundColor="{StaticResource grayLight}"
    xmlns:local="clr-namespace:Shared;assembly=Shared">
    <local:LoginPageXaml.Content>
            <StackLayout VerticalOptions="Center" Padding="30">
                <Grid HorizontalOptions="Center">
                    <Image Source="logo" Grid.Row="0" Grid.Column="0" />
                    <Button x:Name="forgetPasswordButton" Text="Forget Password" Grid.Row="0" Grid.Column="1" />
                    <Button x:Name="registerButton" Text="Register" Grid.Row="0" Grid.Column="1" />
                </Grid>
                <Entry StyleId="UserId" Text="{Binding Path=Username}" Placeholder="Username" />
                <Entry StyleId="PasswordId" Text="{Binding Path=Password}" Placeholder="Password" IsPassword="true" />

                <Button x:Name="loginButton" 
                    StyleId="loginButton"
                    Grid.Row="5" 
                    BackgroundColor="#F44336" 
                    BorderRadius="0" 
                    TextColor="White" 
                    Text="Login to Us"
                    Command="{Binding LoginCommand}" />

                <Button x:Name="loginButtonTwitter" 
                    StyleId="loginButtonTwitter"
                    Grid.Row="5" 
                    BackgroundColor="#F44336" 
                    BorderRadius="0" 
                    TextColor="White" 
                    Text="Twitter"
                    Image="icon_twitter.png"
                    Command="{Binding LoginCommandTwitter}" />

                <Button x:Name="loginButtonFacebook" 
                    StyleId="loginButtonFacebook"
                    Grid.Row="5" 
                    BackgroundColor="#F44336" 
                    BorderRadius="0" 
                    TextColor="White" 
                    Text="Facebook"
                    Image="icon_facebook.png"
                    Command="{Binding loginButtonFacebook}" />

                <Button x:Name="loginButtonGoogle" 
                    StyleId="loginButtonGoogle"
                    Grid.Row="5" 
                    BackgroundColor="#F44336" 
                    BorderRadius="0" 
                    TextColor="White" 
                    Text="Google"
                    Image="icon_google.png"
                    Command="{Binding loginButtonGoogle}" />

                <Button x:Name="loginButtonGooglePlus" 
                    StyleId="loginButtonGooglePlus"
                    Grid.Row="5" 
                    BackgroundColor="#F44336" 
                    BorderRadius="0" 
                    TextColor="White" 
                    Text="GooglePlus"
                    Image="icon_google_plus.png"
                    Command="{Binding loginButtonGooglePlus}" />
            </StackLayout>
    </local:LoginPageXaml.Content>
</local:LoginPageXaml>

现在看来是这样的:

但必须如此:


您可以将最后四个按钮放置在
堆叠面板中,并将方向设置为水平方向使用此XAML。但您需要修改一些内容,如按钮图像

<Grid x:Name="LayoutRoot" Background="#FF213A5F">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>
        <StackPanel Grid.RowSpan="2" Margin="24,0" VerticalAlignment="Center">
            <TextBlock TextWrapping="Wrap" Text="Sample application" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="26.667" Foreground="Black"/>
            <TextBox Height="72" TextWrapping="Wrap" Text="TextBox"/>
            <TextBox Height="72" TextWrapping="Wrap" Text="TextBox"/>
            <Button Content="Login" Background="#FF00D88A" BorderBrush="#FF00D88A"/>
            <Grid Height="83">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="*"/>
                    <ColumnDefinition Width="*"/>
                    <ColumnDefinition Width="*"/>
                    <ColumnDefinition Width="*"/>
                </Grid.ColumnDefinitions>
                <Button Content="f" Background="#FF0081B2" BorderBrush="#FF0081B2"/>
                <Button Content="g+" Grid.Column="1" BorderBrush="#FF0081B2" Background="#FF0081B2"/>
                <Button Content="w" Grid.Column="2" Background="#FF0081B2" BorderBrush="#FF0081B2"/>
                <Button Content="o" Grid.Column="3" BorderBrush="#FF0081B2" Background="#FF0081B2"/>
            </Grid>
            <HyperlinkButton Content="Don't have account"/>
        </StackPanel>
</Grid>


另外请注意,它是WindowsPhoneXAML&您需要将textblock更改为Entry和其他小更改。但是布局是一样的。

或者把它放在网格中更好。如何在xaml中填充?您可以通过添加padding=”“Thx为每个按钮指定一个填充值,但在Xamarin.Forms中不存在BorderBrush。现在还可以进行文本包装。删除BorderBrush和TextWrapping属性谢谢。工作起来很有魅力@还有一个问题。是什么?为什么需要?它会将网格以相同的宽度排列到“n”个单元格中。