如何解决Xamarin表单-MVVM可观察的集合在获取值时始终为0
我有2个可观察的集合,其想法是用数据库中与表单相关的所有数据加载主集合。我将过滤此集合,并使用过滤后的结果设置Actor集合。我这样做的原因是为了减少将b64图像转换为较大集合的ImageSource所需的时间。我只想一次转换这些图像
“主收藏”表单的加载中填充了所需的项目,但是当我单击过滤器选项时,“主收藏”始终为0。我可以看到将119个条目加载到了收藏中
public ActorCollectionVM(INavigation navigation)
{
Navigation = navigation;
// one time only populate
Device.BeginInvokeOnMainThread(() =>
{
UserDialogs.Instance.ShowLoading("Loading");
Database db = new Database();
List<TMDB_Person> persons = db.GetAllPersons();
ImageUtility util = new ImageUtility();
foreach (TMDB_Person person in persons)
{
person.Profile_Thumb_Image = util.Base64ToImage(person.B64_Profile_Thumb_Image);
MasterCollection.Add(person);
}
ActorCollection = MasterCollection;
UserDialogs.Instance.HideLoading();
});
}
private void LetterSearch_Click(object sender,EventArgs args)
{
ActorCollectionVM context = (ActorCollectionVM)BindingContext;
context.ActorCollection.Clear();
Button btn = (Button)sender;
btn.TextColor = (Color)Application.Current.Resources["ThemeColor"];
if (btn.Text != "ALL")
{
foreach (TMDB_Person person in context.MasterCollection.Where(x => x.Name[0].ToString().ToLower() == btn.Text.ToLower()))
context.ActorCollection.Add(person);
}
else
{
context.ActorCollection = context.MasterCollection;
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。