首页 > 解决方案 > 进度条未出现在指定位置

问题描述

我想在一行中显示三个进度条,但是当我运行我的代码时,第一个进度条没有显示在页面上。但第二和第三正在显示。你能告诉我我在做什么错误吗?

<StackLayout Grid.Row="8" Orientation="Horizontal" HeightRequest="15" Padding="5" VerticalOptions="Start"  HorizontalOptions="StartAndExpand" Margin="0,-10">
                        <Grid VerticalOptions="Start" Margin="0,1">
                            <Grid.RowDefinitions>
                                <RowDefinition Height="25"/>
                                <RowDefinition Height="20"/>
                            </Grid.RowDefinitions>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="33" />
                                <ColumnDefinition Width="33" />
                                <ColumnDefinition Width="34" />
                            </Grid.ColumnDefinitions>
                            <!--<Image Grid.Row="0" Grid.Column="1" Source="upload.png"  HeightRequest="30" WidthRequest="30" />-->
                            <Label x:Name="LableInbound" Grid.Row="0" Grid.Column="0" Text="Inbound"  TextColor="Black" HorizontalOptions="FillAndExpand"  VerticalOptions="Start" Margin="-5,-10,0,0" />
                            <Label x:Name="LableOutbound" Grid.Row="0" Grid.Column="1" Text="Outbound" TextColor="Black" HorizontalOptions="FillAndExpand" VerticalOptions="Start" Margin="-5,-10,0,0"  />
                            <Label x:Name="LableDelivery" Grid.Row="0" Grid.Column="2" Text="Delivery" TextColor="Black" HorizontalOptions="FillAndExpand" VerticalOptions="Start" Margin="-5,-10,0,0" />

                            <ProgressBar Grid.Row="1" Grid.Column="0" x:Name="OrderUploadProgressInbound"  HeightRequest="20" Progress="1" VerticalOptions="Center"  HorizontalOptions="Start" Margin="0,-10,0,0"   />
                            <ProgressBar Grid.Row="1" Grid.Column="1" x:Name="OrderUploadProgressOutbound"   HeightRequest="20" Progress="1" VerticalOptions="Center" HorizontalOptions="Center" Margin="0,-10,0,0"   />
                            <ProgressBar Grid.Row="1" Grid.Column="2" x:Name="OrderUploadProgressDelivery"  HeightRequest="20" Progress="1" VerticalOptions="Center" HorizontalOptions="End"  Margin="0,-10,0,0"   />
                        </Grid>
                    </StackLayout>

标签: xamarin.formsxamarin.android

解决方案


此问题的原因是属性 Grid.Column 应该从 0 开始,而不是 1。我将您的代码修改为以下内容,它运行良好。

<StackLayout Grid.Row="8" Orientation="Horizontal" HeightRequest="15" Padding="5" VerticalOptions="Start"  HorizontalOptions="StartAndExpand" Margin="0,-10">
                    <Grid VerticalOptions="Center" Margin="0,1">
                        <Grid.RowDefinitions>
                            <RowDefinition Height="*"/>
                        </Grid.RowDefinitions>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="33*" />
                            <ColumnDefinition Width="33*" />
                            <ColumnDefinition Width="34*" />
                        </Grid.ColumnDefinitions>
                        <ProgressBar Grid.Row="0" Grid.Column="0" x:Name="OrderUploadProgressInbound" WidthRequest="100"  HeightRequest="20" Progress="1" VerticalOptions="Center"  HorizontalOptions="Start" Margin="7,0,0,0"   />
                        <ProgressBar Grid.Row="0" Grid.Column="1" x:Name="OrderUploadProgressOutbound" WidthRequest="100"  HeightRequest="20" Progress="1" VerticalOptions="Center" HorizontalOptions="Center" Margin="12,0,0,0"   />
                        <ProgressBar Grid.Row="0" Grid.Column="2" x:Name="OrderUploadProgressDelivery" WidthRequest="100"  HeightRequest="20" Progress="1" VerticalOptions="Center" HorizontalOptions="End"  Margin="15,0,0,0"   />
                    </Grid>
                </StackLayout>

推荐阅读