【问题标题】:Nothing Show inside StacklayoutStacklayout 内无任何显示
【发布时间】:2018-04-05 05:49:35
【问题描述】:

我在 Xamarin 表单应用程序中工作,我目前正在实现一个包含两部分的表单,一个是数据输入部分,另一部分是列表视图 Afetr 我输入数据并保存它应该出现在列表视图中,在调试 i检查 ListViewUsers.ItemsSource 计数不是 0 它有值,但 listView 没有显示在表单中。

 <ContentPage.Content>
        <StackLayout>
            <Grid>
            <Grid.RowDefinitions>
                <RowDefinition Height="500"/>
                <RowDefinition Height="*"/>
            </Grid.RowDefinitions>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="*"/>
                </Grid.ColumnDefinitions>
             <StackLayout Grid.Row="0" Grid.Column="0">
            <Grid x:Name="grid">
                <Grid.RowDefinitions>
                <RowDefinition Height="*"/>
                <RowDefinition Height="*"/>
                <RowDefinition Height="*"/>
                <RowDefinition Height="*"/>
                <RowDefinition Height="*"/>
                <RowDefinition Height="*"/>
                <RowDefinition Height="*"/>
                </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="*"/>
                <ColumnDefinition Width="*"/>
             </Grid.ColumnDefinitions>
                <Label x:Name="labelName" Grid.Row="0"  Grid.Column="0" Margin="10" FontSize="6"  VerticalOptions="CenterAndExpand"  HorizontalTextAlignment="Start" Text="Name"/>
                <Entry  x:Name="textName" Grid.Row="0"  Grid.Column="1"  WidthRequest="100" FontSize="6" VerticalOptions="CenterAndExpand" HorizontalOptions="Start" HorizontalTextAlignment="Start" Text="{Binding Name}"  />
                <Label x:Name="labelAge" Grid.Row="1"  Grid.Column="0" Margin="10" FontSize="6"  Text="Age" VerticalOptions="CenterAndExpand" HorizontalTextAlignment="Start" />
                <Entry  x:Name="textAge" Grid.Row="1"  Grid.Column="1" WidthRequest="100" FontSize="6" VerticalOptions="CenterAndExpand" HorizontalOptions="Start" HorizontalTextAlignment="Start" Text="{Binding Age}" />
                <Label x:Name="labelAddress" Grid.Row="2"  Grid.Column="0" Margin="10" FontSize="6"  Text="Address" VerticalOptions="CenterAndExpand" HorizontalTextAlignment="Start" />
                <Entry  x:Name="textAddress" Grid.Row="2"  Grid.Column="1" WidthRequest="100" FontSize="6" VerticalOptions="CenterAndExpand" HorizontalOptions="Start" HorizontalTextAlignment="Start"  Text="{Binding Address}" />
                <Label x:Name="labelNICNumber" Grid.Row="3"  Grid.Column="0" Margin="10" FontSize="6" Text="NIC" VerticalOptions="CenterAndExpand" HorizontalTextAlignment="Start" />
                <Entry  x:Name="textNIC" Grid.Row="3"  Grid.Column="1" WidthRequest="100" FontSize="6" VerticalOptions="CenterAndExpand" HorizontalOptions="Start" HorizontalTextAlignment="Start" Text="{Binding NIC}" />
                <Button Grid.Row="4"  Grid.Column="1" HeightRequest = "30"   VerticalOptions="CenterAndExpand" HorizontalOptions="Start" FontSize="6" Text="Save" Clicked="UserSaveClick" />
            </Grid>
        </StackLayout>
        <StackLayout Grid.Row="1"  Grid.Column="0">
                    <Label x:Name="labelNICNumber2" Grid.Row="3"  Grid.Column="0" Margin="10" FontSize="6" Text="NIC" VerticalOptions="CenterAndExpand" HorizontalTextAlignment="Start" />
                    <ListView x:Name="ListViewUsers" SeparatorColor="Transparent"  HasUnevenRows="True" IsVisible="True" IsEnabled="True">
                <ListView.ItemTemplate>
                    <DataTemplate>
                        <ViewCell>
                                <Grid>
                                    <Grid.ColumnDefinitions>
                                        <ColumnDefinition Width="1*" />
                                        <ColumnDefinition Width="2*" />
                                        <ColumnDefinition Width="3*" />
                                        <ColumnDefinition Width="4*" />
                                    </Grid.ColumnDefinitions>



                                    <Label 
                                    WidthRequest="20"
                                    HeightRequest="15"
                                    TextColor="Black"
                                    FontFamily="Open Sans"
                                    FontSize="6"          
                                    Text="{Binding Name}"
                                    VerticalOptions="Center"
                                    HorizontalOptions="Start"
                                    Grid.Column="1"/>

                                    <Label 
                                    WidthRequest="20"
                                    HeightRequest="15"
                                    TextColor="Black"
                                    FontFamily="Open Sans"
                                    FontSize="10"          
                                    Text="{Binding Age}"
                                    VerticalOptions="Center"
                                    HorizontalOptions="Start"
                                    Grid.Column="2" />

                                     <Label 
                                    WidthRequest="20"
                                    HeightRequest="15"
                                    TextColor="Black"
                                    FontFamily="Open Sans"
                                    FontSize="10"          
                                    Text="{Binding Address}"
                                    VerticalOptions="Center"
                                    HorizontalOptions="Start"
                                     Grid.Column="3" />


                                    <Label 
                                    WidthRequest="20"
                                    HeightRequest="15"
                                    TextColor="Black"
                                    FontFamily="Open Sans"
                                    FontSize="10"          
                                    Text="{Binding NIC}"
                                    VerticalOptions="Center"
                                    HorizontalOptions="Start"
                                    Grid.Column="4"/>
                                </Grid>

                            </ViewCell>
                    </DataTemplate>
                </ListView.ItemTemplate>
            </ListView>
        </StackLayout>
        </Grid>
     </StackLayout>

【问题讨论】:

    标签: c# xamarin xamarin.forms


    【解决方案1】:

    但是很难看出这里发生了什么

    • 我删除了多余的列定义
    • 我已经删除了最高级别的 stacklayout,只使用了一个网格
    • 我已经删除了第二个嵌套的 stacklayout 并离开了网格
    • 我已在主网格中将两行都设置为 *,以确保

    注意:如果这不起作用,请删除除 ListView 之外的所有内容,作为健全性检查

    Xaml

    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="*" />
            <RowDefinition Height="*" />
        </Grid.RowDefinitions>
    
        <Grid x:Name="grid" Grid.Row="0">
            <Grid.RowDefinitions>
                <RowDefinition Height="*" />
                <RowDefinition Height="*" />
                <RowDefinition Height="*" />
                <RowDefinition Height="*" />
                <RowDefinition Height="*" />
                <RowDefinition Height="*" />
                <RowDefinition Height="*" />
            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="*" />
                <ColumnDefinition Width="*" />
            </Grid.ColumnDefinitions>
            <Label
                x:Name="labelName"
                Grid.Row="0"
                Grid.Column="0"
                Margin="10"
                FontSize="6"
                HorizontalTextAlignment="Start"
                Text="Name"
                VerticalOptions="CenterAndExpand" />
            <Entry
                x:Name="textName"
                Grid.Row="0"
                Grid.Column="1"
                FontSize="6"
                HorizontalOptions="Start"
                HorizontalTextAlignment="Start"
                Text="{Binding Name}"
                VerticalOptions="CenterAndExpand"
                WidthRequest="100" />
            <Label
                x:Name="labelAge"
                Grid.Row="1"
                Grid.Column="0"
                Margin="10"
                FontSize="6"
                HorizontalTextAlignment="Start"
                Text="Age"
                VerticalOptions="CenterAndExpand" />
            <Entry
                x:Name="textAge"
                Grid.Row="1"
                Grid.Column="1"
                FontSize="6"
                HorizontalOptions="Start"
                HorizontalTextAlignment="Start"
                Text="{Binding Age}"
                VerticalOptions="CenterAndExpand"
                WidthRequest="100" />
            <Label
                x:Name="labelAddress"
                Grid.Row="2"
                Grid.Column="0"
                Margin="10"
                FontSize="6"
                HorizontalTextAlignment="Start"
                Text="Address"
                VerticalOptions="CenterAndExpand" />
            <Entry
                x:Name="textAddress"
                Grid.Row="2"
                Grid.Column="1"
                FontSize="6"
                HorizontalOptions="Start"
                HorizontalTextAlignment="Start"
                Text="{Binding Address}"
                VerticalOptions="CenterAndExpand"
                WidthRequest="100" />
            <Label
                x:Name="labelNICNumber"
                Grid.Row="3"
                Grid.Column="0"
                Margin="10"
                FontSize="6"
                HorizontalTextAlignment="Start"
                Text="NIC"
                VerticalOptions="CenterAndExpand" />
            <Entry
                x:Name="textNIC"
                Grid.Row="3"
                Grid.Column="1"
                FontSize="6"
                HorizontalOptions="Start"
                HorizontalTextAlignment="Start"
                Text="{Binding NIC}"
                VerticalOptions="CenterAndExpand"
                WidthRequest="100" />
            <Button
                Grid.Row="4"
                Grid.Column="1"
                Clicked="UserSaveClick"
                FontSize="6"
                HeightRequest="30"
                HorizontalOptions="Start"
                Text="Save"
                VerticalOptions="CenterAndExpand" />
        </Grid>
    
        <StackLayout Grid.Row="1">
            <Label
                x:Name="labelNICNumber2"
                Grid.Row="3"
                Grid.Column="0"
                Margin="10"
                FontSize="6"
                HorizontalTextAlignment="Start"
                Text="NIC"
                VerticalOptions="CenterAndExpand" />
            <ListView
                x:Name="ListViewUsers"
                HasUnevenRows="True"
                IsEnabled="True"
                IsVisible="True"
                SeparatorColor="Transparent">
                <ListView.ItemTemplate>
                    <DataTemplate>
                        <ViewCell>
                            <Grid>
                                <Grid.ColumnDefinitions>
                                    <ColumnDefinition Width="1*" />
                                    <ColumnDefinition Width="2*" />
                                    <ColumnDefinition Width="3*" />
                                    <ColumnDefinition Width="4*" />
                                </Grid.ColumnDefinitions>
    
    
    
                                <Label
                                    Grid.Column="1"
                                    FontFamily="Open Sans"
                                    FontSize="6"
                                    HeightRequest="15"
                                    HorizontalOptions="Start"
                                    Text="{Binding Name}"
                                    TextColor="Black"
                                    VerticalOptions="Center"
                                    WidthRequest="20" />
    
                                <Label
                                    Grid.Column="2"
                                    FontFamily="Open Sans"
                                    FontSize="10"
                                    HeightRequest="15"
                                    HorizontalOptions="Start"
                                    Text="{Binding Age}"
                                    TextColor="Black"
                                    VerticalOptions="Center"
                                    WidthRequest="20" />
    
                                <Label
                                    Grid.Column="3"
                                    FontFamily="Open Sans"
                                    FontSize="10"
                                    HeightRequest="15"
                                    HorizontalOptions="Start"
                                    Text="{Binding Address}"
                                    TextColor="Black"
                                    VerticalOptions="Center"
                                    WidthRequest="20" />
    
    
                                <Label
                                    Grid.Column="4"
                                    FontFamily="Open Sans"
                                    FontSize="10"
                                    HeightRequest="15"
                                    HorizontalOptions="Start"
                                    Text="{Binding NIC}"
                                    TextColor="Black"
                                    VerticalOptions="Center"
                                    WidthRequest="20" />
                            </Grid>
    
                        </ViewCell>
                    </DataTemplate>
                </ListView.ItemTemplate>
            </ListView>
        </StackLayout>
    </Grid>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-06-10
      • 1970-01-01
      • 2023-01-10
      • 2019-05-19
      • 1970-01-01
      • 2021-02-16
      • 2018-05-02
      相关资源
      最近更新 更多