У меня самая странная проблема с наблюдаемой коллекцией. Я установил в мою коллекцию некоторые фиктивные данные, и она загружается на страницу содержимого, как и ожидалось, однако, когда я пытаюсь получить данные из контекста данных, они всегда равны нулю.
Я отладил код в ViewModel и вижу коллекцию как нулевую. Его явно не ноль, потому что я заполняю форму.
Есть ли что-то, что мне здесь не хватает!
private ObservableCollection<Company> _CompanyCollection;
public ObservableCollection<Company> CompanyCollection
{
get { return _CompanyCollection; }
set
{
if (value != null)
{
_CompanyCollection = value;
OnPropertyChanged();
}
}
}
Загрузка данных
public void LoadTestCompanies()
{
CompanyCollection = new ObservableCollection<Company>()
{
new Company() { Name="The Suit Lounge"},
new Company() { Name="The Suit Lounge"},
new Company() { Name="The Suit Lounge"}
};
}
Вызов Viewmodel из события в page.cs
CompaniesVM viewModel = (CompaniesVM)BindingContext;
var results = viewModel.CompanyCollection.Where(x => x.Name.ToLower().Contains(searchBar.Text.ToLower()));
Это код, стоящий за
public Companies ()
{
InitializeComponent ();
BindingContext = new CompaniesVM(this.Navigation);
}
ViewModel вызывает loatTestCompanies
public CompaniesVM(INavigation navigation)
{
// Navigation
Navigation = navigation;
LoadTestCompanies();
}
Я пробовал много других способов инициализации сбора и использования .Add (object>, но, похоже, ничего не работает.
Любые идеи были бы великолепны.
Спасибо