Вид списка Xamarin не заполняет при использовании классаC#

Место общения программистов C#
Ответить
Anonymous
 Вид списка Xamarin не заполняет при использовании класса

Сообщение Anonymous »

В настоящее время я пытаюсь выучить xamarin.forms, и я застрял в текущей части моего курса. Я получаю нулевые ошибки при компиляции.

Код: Выделить всё

using System;
using System.Collections.Generic;
using System.Linq;
using ListExcercises.Models;

namespace ListExcercises.Services
{
public class SearchServices
{
private List _searches = new List
{
new Search
{
Id = 1,
Location = "West Hollywood, CA, United States",
CheckIn = new DateTime(2016, 9, 1),
CheckOut = new DateTime(2016, 11, 1)
},

new Search
{
Id = 2,
Location = "Santa Monica, CA, United States",
CheckIn = new DateTime(2016, 9, 1),
CheckOut = new DateTime(2016, 11, 1)
}
};

public IEnumerable GetRecentSearches(string filter = null)
{
if (String.IsNullOrWhiteSpace(filter))
return _searches;

return _searches.Where(s => s.Location.StartsWith(filter, StringComparison.CurrentCultureIgnoreCase));
}

public void DeleteSearch(int searchId)
{
_searches.Remove(_searches.Single(s => s.Id == searchId));
}
}
}
< /code>
Код для представления выглядит следующим образом: < /p>
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using ListExcercises.Models;
using ListExcercises.Services;
using Xamarin.Forms;

namespace ListExcercises
{
public partial class ExcerciseListPage : ContentPage
{
private SearchServices _searchService;
private List _searchGroups;

public ExcerciseListPage()
{
_searchService = new SearchServices();

InitializeComponent();

PopulateListView(_searchService.GetRecentSearches());
}

// Create re-usable list grouping(populate list)
private void PopulateListView(IEnumerable searches)
{
_searchGroups = new List
{
new SearchGroup("Recent Searches", searches)
};

listView.ItemsSource = _searchGroups;
}

void onItemTap(object sender, Xamarin.Forms.ItemTappedEventArgs e)
{
var search = e.Item as Search;
DisplayAlert("Tapped",
"Customer visited " + search.Location + " at " + search.CheckIn + " and left at " + search.CheckOut,
"OK");
}

void listView_ItemSelected(System.Object sender, Xamarin.Forms.SelectedItemChangedEventArgs e)
{
listView.SelectedItem = null;
}

void Delete_Clicked(System.Object sender, System.EventArgs e)
{
var search = (sender as MenuItem).CommandParameter as Search;

// Delete local
_searchGroups[0].Remove(search);

// Update backend
_searchService.DeleteSearch(search.Id);
}

void listView_Refreshing(System.Object sender, System.EventArgs e)
{
PopulateListView(_searchService.GetRecentSearches(searchBar.Text));

listView.EndRefresh();
}

void searchBar_TextChanged(Object sender, Xamarin.Forms.TextChangedEventArgs e)
{
PopulateListView(_searchService.GetRecentSearches(e.NewTextValue));
}
}
}
< /code>
и разметка XAML выглядит следующим образом: < /p>





































Я добрался до моделей, помимо вышеуказанного кода, один называемый Search и один называется SearchGroup . Оба размещены в папке моделей проекта.

Код: Выделить всё

using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;

namespace ListExcercises.Models
{
public class SearchGroup : ObservableCollection {

public string Title { get; set; }

public SearchGroup(string title, IEnumerable searches)
{
Title = title;
}
}
}
и, наконец, код в поиске выглядит так:

Код: Выделить всё

using System;

namespace ListExcercises.Models
{
public class Search
{
public int Id { get; set; }
public string Location { get; set; }
public DateTime CheckIn { get; set; }
public DateTime CheckOut { get; set; }

public string Period
{
get
{
return String.Format("{0} - {1}",
CheckIn.ToString("MMM d, yyyy"),
CheckOut.ToString("MMM d, yyyy"));
}
}
}
}
Я действительно надеюсь, что кто -то сможет помочь и дать мне несколько указателей. Поэтому я получаю представление о том, где есть большая часть функциональности, однако все ряды пусты.

Подробнее здесь: https://stackoverflow.com/questions/642 ... sing-class
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»