如何按字母顺序对我的列表视图进行排序?

2 c# sorting listview xamarin

所以我有这个列表视图,我想让它按字母顺序排序。有人知道你能不能做到?如果你知道怎么做,那就给我看看代码。寻求帮助!!

这是我的 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)

Mig*_*oom 8

您可以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)