using DownKyi.Images; using DownKyi.Utils; using Prism.Commands; using Prism.Events; using Prism.Mvvm; using System.Windows; using System.Windows.Media.Imaging; namespace DownKyi.ViewModels.PageViewModels { public class HistoryMedia : BindableBase { protected readonly IEventAggregator eventAggregator; public HistoryMedia(IEventAggregator eventAggregator) { this.eventAggregator = eventAggregator; } // bvid public string Bvid { get; set; } // 播放url public string Url { get; set; } // UP主的mid public long UpMid { get; set; } // 类型 public string Business { get; set; } #region 页面属性申明 // 是否选中 private bool isSelected; public bool IsSelected { get => isSelected; set => SetProperty(ref isSelected, value); } // 封面 private BitmapImage cover; public BitmapImage Cover { get => cover; set => SetProperty(ref cover, value); } // 视频标题 private string title; public string Title { get => title; set => SetProperty(ref title, value); } // 分P的标题 private string subTitle; public string SubTitle { get => subTitle; set => SetProperty(ref subTitle, value); } // 时长 private long duration; public long Duration { get => duration; set => SetProperty(ref duration, value); } // tag标签 private string tagName; public string TagName { get => tagName; set => SetProperty(ref tagName, value); } // new_desc 剧集或分P描述 private string partdesc; public string Partdesc { get => partdesc; set => SetProperty(ref partdesc, value); } // 观看进度 private string progress; public string Progress { get => progress; set => SetProperty(ref progress, value); } // 观看平台 private VectorImage platform; public VectorImage Platform { get => platform; set => SetProperty(ref platform, value); } // UP主的昵称 private string upName; public string UpName { get => upName; set => SetProperty(ref upName, value); } // UP主的头像 private BitmapImage upHeader; public BitmapImage UpHeader { get => upHeader; set => SetProperty(ref upHeader, value); } // 是否显示Partdesc private Visibility partdescVisibility; public Visibility PartdescVisibility { get => partdescVisibility; set => SetProperty(ref partdescVisibility, value); } // 是否显示UP主信息和分区信息 private Visibility upAndTagVisibility; public Visibility UpAndTagVisibility { get => upAndTagVisibility; set => SetProperty(ref upAndTagVisibility, value); } #endregion #region 命令申明 // 视频标题点击事件 private DelegateCommand titleCommand; public DelegateCommand TitleCommand => titleCommand ?? (titleCommand = new DelegateCommand(ExecuteTitleCommand)); /// /// 视频标题点击事件 /// /// private void ExecuteTitleCommand(object parameter) { if (!(parameter is string tag)) { return; } NavigateToView.NavigationView(eventAggregator, ViewVideoDetailViewModel.Tag, tag, Url); } // UP主头像点击事件 private DelegateCommand upCommand; public DelegateCommand UpCommand => upCommand ?? (upCommand = new DelegateCommand(ExecuteUpCommand)); /// /// UP主头像点击事件 /// /// private void ExecuteUpCommand(object parameter) { if (!(parameter is string tag)) { return; } NavigateToView.NavigateToViewUserSpace(eventAggregator, tag, UpMid); } #endregion } }