private MasteredVideoDialog(MasteredVideoDialogViewModel vm, XamlRoot xamlRoot) { this.vm = vm; this.DataContext = vm; this.InitializeComboBoxData(vm); this.InitializeComponent(); this.Closing += MasteredVideoDialog_Closing; XamlRoot = xamlRoot; }
private void InitializeComboBoxData(MasteredVideoDialogViewModel vm) { var list = new List <MasteredVideoDialogViewModel.ComboBoxData>() { new MasteredVideoDialogViewModel.ComboBoxData("360P 流畅", 16), new MasteredVideoDialogViewModel.ComboBoxData("480P 清晰", 32), new MasteredVideoDialogViewModel.ComboBoxData("720P 高清(需要登录)", 64), new MasteredVideoDialogViewModel.ComboBoxData("720P60 高清(大会员)", 74), new MasteredVideoDialogViewModel.ComboBoxData("1080P 高清 (需要登录)", 80), new MasteredVideoDialogViewModel.ComboBoxData("1080P+ 高清(大会员)", 112), new MasteredVideoDialogViewModel.ComboBoxData("1080P60 高清(大会员)", 116), //new MasteredVideoDialogViewModel.ComboBoxData("4K 超清(大会员)" ,120) }; vm.ComboBoxDataList = list; }
public static async Task <MasteredVideoDialog> CreateAsync(BiliVideoMaster master, XamlRoot xamlRoot) { var model = new MasteredVideoDialogViewModel(); model.VideoTitle = master.Title; //var stream = await NetHelper.HttpGetStreamAsync(master.Picture, 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(master.Picture)); model.VideoCover = img; var list = master.VideoList.Select(v => new VideoInfo() { Info = new BiliVideoInfo() { Bv = v.Bv, Cid = v.Cid, Name = v.Name, CoverUrl = master.Picture }, ToDownload = false, BackGroundColorBrush = master.VideoList.IndexOf(v) % 2 == 0 ? new SolidColorBrush(Colors.WhiteSmoke) : new SolidColorBrush(Colors.White) }).ToList(); model.VideoList = new ObservableCollection <VideoInfo>(list); var dialog = new MasteredVideoDialog(model, xamlRoot); return(dialog); }