我是xamarin mvvm模式的初学者。目前我正在尝试创建一个搜索栏,用于搜索名称列表中的单词。我尝试在我的视图模型上的comman函数上编写一些代码,并将其绑定在视图上的sort [rand-num] of turtles
搜索栏上。但它没有用。这是我的代码
rand-num
这是我的xaml文件
SearchCommand
答案 0 :(得分:1)
首先,请确保将ContentPage
BindingContext
设置为CustViewModel
。
此外,您应该停止向_list
分配和添加内容,而是将内容分配并添加到您的公共Items
媒体资源中。 Items
是在NotifyPropertyChanged()
方法被分配时将触发的方法。
所以将SearchCommand
改为此:
return new Command(() => {
string keyword = _bar;
IEnumerable<String> searchresult = _list.Where(name => name.Contains(keyword));
Items = new ObservableCollection<string>(searchresult);
//NotifyPropertyChanged(); //There is no reason to trigger NotifyPropertyChanged on this command each time the getter is run, I would image that this could cause an infinite loop
});