如何在 Xamarin Forms 中删除我的 ListView 中的额外分隔符
How to remove Extra Separator in my ListView in Xamarin Forms
我是 Xamarin Forms 的新手。如果这是一个愚蠢的问题,请原谅我。
我创建了简单的 ListView。但我想删除多余的分隔符,该分隔符的行是空的。
我尝试搜索 SO、google 和 Xamarin Forms。但对我来说没有任何帮助。
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()
{
}
}
}
感谢任何帮助。
只需在 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>
您还可以通过向页脚添加空字符串来删除空单元格 属性。
<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>
我是 Xamarin Forms 的新手。如果这是一个愚蠢的问题,请原谅我。
我创建了简单的 ListView。但我想删除多余的分隔符,该分隔符的行是空的。
我尝试搜索 SO、google 和 Xamarin Forms。但对我来说没有任何帮助。
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()
{
}
}
}
感谢任何帮助。
只需在 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>
您还可以通过向页脚添加空字符串来删除空单元格 属性。
<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>