private BangumiDialog(BangumiDialogViewModel vm, XamlRoot xamlRoot) { this.vm = vm; this.DataContext = vm; InitializeComboBoxData(vm); this.InitializeComponent(); this.Closing += (s, e) => { if (!needToClose) { e.Cancel = true; } }; XamlRoot = xamlRoot; }
private void InitializeComboBoxData(BangumiDialogViewModel vm) { var list = new List <BangumiDialogViewModel.ComboBoxData>() { new BangumiDialogViewModel.ComboBoxData("360P 流畅", 16), new BangumiDialogViewModel.ComboBoxData("480P 清晰", 32), new BangumiDialogViewModel.ComboBoxData("720P 高清(需要登录)", 64), new BangumiDialogViewModel.ComboBoxData("720P60 高清(大会员)", 74), new BangumiDialogViewModel.ComboBoxData("1080P 高清 (需要登录)", 80), new BangumiDialogViewModel.ComboBoxData("1080P+ 高清(大会员)", 112), new BangumiDialogViewModel.ComboBoxData("1080P60 高清(大会员)", 116), //new BangumiDialogViewModel.ComboBoxData("4K 超清(大会员)" ,120) }; vm.ComboBoxDataList = list; }
public static async Task <BangumiDialog> CreateAsync(BiliBangumi bangumi, XamlRoot xamlRoot) { var model = new BangumiDialogViewModel(); model.VideoTitle = bangumi.Title; //var stream = await NetHelper.HttpGetStreamAsync(bangumi.Cover, null, null); //var file = await ApplicationData.Current.LocalCacheFolder.CreateFileAsync("videocovercache", CreationCollisionOption.GenerateUniqueName); //var fileStream = await file.OpenStreamForWriteAsync(); //await stream.CopyToAsync(fileStream); //stream.Close(); //fileStream.Close(); //var img = new BitmapImage(); //await img.SetSourceAsync((await file.OpenStreamForReadAsync()).AsRandomAccessStream()); var img = new BitmapImage(new Uri(bangumi.Cover)); model.VideoCover = img; var list = bangumi.EpisodeList.Select(v => new VideoInfo() { Info = new BiliVideoInfo() { Bv = v.Bv, Cid = v.Cid, Name = v.Name, CoverUrl = v.Cover }, ToDownload = false, BackGroundColorBrush = bangumi.EpisodeList.IndexOf(v) % 2 == 0 ? new SolidColorBrush(Colors.WhiteSmoke) : new SolidColorBrush(Colors.White) }).ToList(); var i = 1; foreach (var video in list)//添加序号 { video.Info.Name = i + "." + video.Info.Name; i++; } model.VideoList = new ObservableCollection <VideoInfo>(list); return(new BangumiDialog(model, xamlRoot)); }