如何创建带有邮件等边数的列表视图

时间:2018-08-09 01:24:45

标签: xaml listview xamarin xamarin.forms label

正在使用小型Xamarin.forms应用程序。现在,我对如何计算和显示标签中的列表项有疑问 像电子邮件和gmail。 我正在Google的各种网站中浏览,但没有得到结果

enter image description here

我的Xaml代码在下面如何在侧栏中显示计数的地方,我使用了Xaml的总和网格。将发生任务错误

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:emit="clr-namespace:System.Reflection.Emit;assembly=mscorlib"
             x:Class="vMonitor.Views.HomeListView"
             Title="Home List View"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
             mc:Ignorable="d"
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008">

    <ScrollView>
        <StackLayout Orientation="Vertical">

            <ListView ItemsSource="{Binding Model}" Margin="20,0,20,0"
                      x:Name="listView"
                      SeparatorVisibility="Default" SeparatorColor="Brown"
                      HasUnevenRows="True">
                <ListView.ItemTemplate>
                    <DataTemplate>
                        <ViewCell>
                            <Grid>
                                <StackLayout Orientation="Horizontal" Padding="10">
                                    <Label Text="{Binding Name}" FontSize="20" FontFamily="TimesNewRomen" FontAttributes="None">
                                        <Label.GestureRecognizers>
                                            <TapGestureRecognizer Command="{Binding Path=BindingContext.TabCommand, Source={x:Reference listView}}" CommandParameter="{Binding .}"/>
                                        </Label.GestureRecognizers>
                                    </Label>
                                    <Label Text="{Binding UserID}" FontSize="20" FontFamily="TimesNewRomen" FontAttributes="None"/>

                                </StackLayout>

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

</ContentPage>

1 个答案:

答案 0 :(得分:1)

然后,您可以将ViewCell用于列表项。

    <ListView.ItemTemplate>
                <DataTemplate>
                    <ViewCell>
                        <StackLayout Padding="15,10" Orientation="Horizontal">                           
                            <Label 
                                 VerticalTextAlignment="Center" 
                                Text="{Binding ItemName}"  TextColor="#FF1654" FontAttributes="Bold" FontSize="16"/>
                            <Label VerticalOptions="End" 
                                 VerticalTextAlignment="Center" 
                                Text="{Binding ItemCount}"  TextColor="#FF1654" FontAttributes="Bold" FontSize="16"/>
                        </StackLayout>
                    </ViewCell>
                </DataTemplate>
            </ListView.ItemTemplate>

您可以绑定ItemName和ItemCount。如果要显示左侧图像,则可以在Image的开始位置添加ViewCell

对于Expandable,您必须对该单元格使用IsVisible属性。