2017-06-02 4 views
0

Ich möchte einen Listeneintrag aus meiner Videos-Klasse basierend auf einer Suche zurückgeben. Innerhalb der Klasse Videos gibt es einzelne Videoobjekte mit mehreren Attributen wie Titel, Ansichten, Autor und Uploaddatum.Xamarin Benutzerdefinierte Listenansicht Suche

Wie würde ich die Videos abfragen, um Videoobjekte basierend auf einer Suchleiste zurückzugeben? Am Ende möchte ich, dass es alle Attribute des Video-Objekts basierend auf einer Abfrage des Titelattributs zurückgibt.

Wenn title.contatins (Stichwort): das Objekt Video zurückzukehren

Homepage.xaml.cs:

public partial class Homepage : ContentPage 
{ 
    List<Video> Videos = new List<Video> 
     { 
      new Video 
      { 
       Title = "Video 1", 
       Author = "FedEx", 
       Views = 322, 
       Upload_DateTime = new DateTime(1996, 8, 26), 
       ImageURL = "icon.png", 

      }, 
      new Video 
      { 
       Title = "Video 2", 
       Author = "FedEx", 
       Views = 554, 
       Upload_DateTime = new DateTime(2017, 1, 23), 
       ImageURL = "icon.png", 
      }, 
      new Video 
      { 
       Title = "Video 3", 
       Author = "FedEx", 
       Views = 23, 
       Upload_DateTime = new DateTime(2012, 3, 11), 
       ImageURL = "icon.png", 
      }, 

     }; 


    public Homepage() 
    { 
     InitializeComponent(); 

     VideoListView.ItemsSource = Videos; 
    } 

    private void MainSearchBar_Pressed(object sender, EventArgs e) 
    { 
     var keyword = MainSearchBar.Text; 
     VideoListView.ItemsSource = Videos.Where(Title = keyword); 

    } 

} 

Video.cs:

class Video 
{ 
    public string Title { get; set; } 

    public string Author { get; set; } 
    public int Views { get; set; } 
    public DateTime Upload_DateTime { get; set; } 
    public string ImageURL { get; set; } 
} 

Hinweis: Der MainSearchBar_Pressed-Ereignishandler ist was ist werfen ing me off

Antwort

1

Lösung:

 private void MainSearchBar_Pressed(object sender, EventArgs e) 
    { 
     var keyword = MainSearchBar.Text; 
     VideoListView.ItemsSource = Videos.Where(a => a.Title.Contains(keyword)); 

    } 
Verwandte Themen