我是Xamarin Forms的新手。如果这是一个愚蠢的问题,请原谅我。
我创建了Simply ListView。但是我想删除哪一行有空的额外分隔符。
我尝试搜索SO,google和Xamarin表单。但对我来说没有任何帮助。
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:local="clr-namespace:ListViewDemo" x:Class="ListViewDemo.ListViewDemoPage">
<StackLayout Orientation="Vertical"
VerticalOptions="Fill"
HorizontalOptions="StartAndExpand">
<ListView x:Name="MainListView" Margin="0,30,0,0" VerticalOptions="FillAndExpand" SeparatorColor="Red" BackgroundColor="Gray" HasUnevenRows="true">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="auto" />
</Grid.RowDefinitions>
<Label Text="{Binding Name}" Grid.Column="0" Margin="10,10,0,0">
</Label>
<Label Text="{Binding Age}" Grid.Column="1" Margin="0,10,10,0">
</Label>
</Grid>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</StackLayout>
</ContentPage>
ListViewDemoPage.cs
using System.Collections.Generic;
using Xamarin.Forms;
namespace ListViewDemo
{
public partial class ListViewDemoPage : ContentPage
{
public ListViewDemoPage()
{
InitializeComponent();
var strings = new List<EmptyClass>
{
new EmptyClass{Name = "Harshad Harshad Harshad Harshad Harshad Harshad Harshad Harshad", Age = 23},
new EmptyClass{Name = "Sunita", Age = 23},
new EmptyClass{Name = "Rahul", Age = 23},
new EmptyClass{Name = "Vrushbh", Age = 23},
new EmptyClass{Name = "Harmi", Age = 23},
new EmptyClass{Name = "Jigu", Age = 23},
};
MainListView.ItemsSource = strings;
}
}
}
EmptyClass.cs
using System;
namespace ListViewDemo
{
public class EmptyClass
{
public string Name { get; set; }
public double Age { get; set; }
public EmptyClass()
{
}
}
}
任何帮助都要得到赞赏。
答案 0 :(得分:5)
只需在ListView.ItemTemplate
<ListView.Footer>
<StackLayout Orientation="Horizontal">
</StackLayout>
</ListView.Footer>
完整代码:
<?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:local="clr-namespace:ListViewDemo" x:Class="ListViewDemo.ListViewDemoPage">
<ListView x:Name="MainListView" Margin="0,30,0,0" VerticalOptions="FillAndExpand" SeparatorColor="Red" BackgroundColor="Gray" HasUnevenRows="true">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="auto" />
</Grid.RowDefinitions>
<Label Text="{Binding Name}" Grid.Column="0" Margin="10,10,0,0">
</Label>
<Label Text="{Binding Age}" Grid.Column="1" Margin="0,10,10,0">
</Label>
</Grid>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
<ListView.Footer>
<StackLayout Orientation="Horizontal">
</StackLayout>
</ListView.Footer>
</ListView>
</ContentPage>
答案 1 :(得分:0)
您还可以通过向页脚属性添加空字符串来删除空单元格。
<ListView
x:Name="MainListView"
Margin="0,30,0,0"
VerticalOptions="FillAndExpand"
SeparatorColor="Red"
BackgroundColor="Gray"
Footer=""
HasUnevenRows="true">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
....
<!-- Removed for simplicity -->
....
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
<ListView.Footer>
<StackLayout Orientation="Horizontal">
</StackLayout>
</ListView.Footer>
</ListView>