所以我有这个列表视图,我想让它按字母顺序排序。有人知道你能不能做到?如果你知道怎么做,那就给我看看代码。寻求帮助!!
这是我的 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)));
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的 Xmal 代码:
<ListView x:Name="NameslistView" HasUnevenRows="True">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<Label Text="{Binding Fuldenavn}" />
<Label Text="{Binding Tlfnr}" />
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
Run Code Online (Sandbox Code Playgroud)
您可以OrderBy
为此使用 LINQ 方法。
根据键按升序对序列的元素进行排序。
var sorted = kontakter.OrderBy(x => x.Fuldenavn)
.ToList();
Run Code Online (Sandbox Code Playgroud)
阅读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;
}
Run Code Online (Sandbox Code Playgroud)