所以我有这个 ListView ,我想让它按字母顺序排序。有人知道你能不能做到吗?如果你知道怎么做,请告诉我代码。寻求帮助!!
这是我的 Xaml.cs 代码:
namespace App2
{
public partial class MainPage : ContentPage
{
List<Kontakter> kontakter = new List<Kontakter>
{
new Kontakter
{
Fuldenavn = "Name One (NO)",
Tlfnr = 12345678
},
new Kontakter
{
Fuldenavn = "Another Name (AN)",
Tlfnr = 23456789
},
new Kontakter
{
Fuldenavn = "Third Name (TN)",
Tlfnr = 34567890
},
new Kontakter
{
Fuldenavn = "Yet Another (YA)",
Tlfnr = 45678901
}
};
public MainPage()
{
InitializeComponent();
NameslistView.ItemsSource = kontakter;
}
private void MainSearchBar_SearchButtonPressed(object sender, EventArgs e)
{
var keyword = MainSearchBar.Text;
NameslistView.ItemsSource = kontakter.Where(obj => (obj.Fuldenavn.Contains(keyword) || obj.Tlfnr.ToString().Contains(keyword)));
}
}
}
这是我的 Xmal 代码:
<ListView x:Name="NameslistView" HasUnevenRows="True">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<Label Text="{Binding Fuldenavn}" />
<Label Text="{Binding Tlfnr}" />
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
最佳答案
您可以使用 LINQ 方法 OrderBy
为此。
Sorts the elements of a sequence in ascending order according to a key.
var sorted = kontakter.OrderBy(x => x.Fuldenavn)
.ToList();
阅读101 LINQ-Samples获取更多信息。
编辑
public MainPage()
{
InitializeComponent();
//Order the contacts
var sorted = kontakter.OrderBy(x => x.Fuldenavn)
.ToList();
//Set the ItemsSource with the ordered contacts
NameslistView.ItemsSource = sorted;
}
关于c# - 我如何按字母顺序对我的 ListView 进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45935942/