public MotionFullInfoItem() { this.InitializeComponent(); DataContext = new MotionFullInfoItemViewModel(); ViewModel = (MotionFullInfoItemViewModel)DataContext; ViewModel.MotionClick = new ViewModelBase.CommandHandler(MotionClickHandler, true); }
private void DownloadImage(ulong id, MotionFullInfoItemViewModel model) { var localIcon = FindLocalIcon(id); if (localIcon != null) { model.CoverImage = localIcon; return; } var motionInfoRequest = new GetMotionFullInfoStoreRequest(id); motionInfoRequest.ProcessSuccessfully += (data) => { var imageDownload = new ImageDownload(data.motion_info.info.icon_url); BitmapImage cacheImage = imageDownload.FindInCacheOrLocal(); if (cacheImage != null) { Dispatcher.BeginInvoke((Action)delegate { model.CoverImage = cacheImage; GlobalFunction.SaveIconImage(cacheImage, id); }); return; } imageDownload.DownloadCompleted += (img) => Dispatcher.BeginInvoke((Action)delegate { model.CoverImage = img; GlobalFunction.SaveIconImage(img, id); }); GlobalVariables.ImageDownloadWorker.AddDownload(imageDownload); }; motionInfoRequest.ProcessError += (data, msg) => { if (data == null) Debug.Fail(msg); else Debug.Fail(data.type.ToString(), msg); }; GlobalVariables.StoreWorker.ForceAddRequest(motionInfoRequest); }