问题描述
我有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 (将#修改为@)