public MainPage() { this.InitializeComponent(); c = new Conf(); top50 = new PixivTop50(); like = new PixivLike(); timer = new DispatcherTimer(); timer.Interval = TimeSpan.FromMinutes(c.time); timer.Tick += Timer_Tick; timer.Start(); li_uptimer = new DispatcherTimer(); li_uptimer.Interval = TimeSpan.FromHours(1); li_uptimer.Tick += Li_uptimer_Tick; li_uptimer.Start(); if (c.lastImg != null) { ImageBrush br = new ImageBrush(); br.Stretch = Stretch.UniformToFill; br.AlignmentX = AlignmentX.Left; br.AlignmentY = AlignmentY.Top; br.ImageSource = new BitmapImage(new Uri("ms-appdata:///local/" + c.lastImg.imgId)); gr.Background = br; } else { ImageBrush br = new ImageBrush(); br.Stretch = Stretch.UniformToFill; br.AlignmentX = AlignmentX.Left; br.AlignmentY = AlignmentY.Top; br.ImageSource = new BitmapImage(new Uri("ms-appx:///Res/62258773_p0.png")); gr.Background = br; } main.Navigate(typeof(ShowPage)); }
/// <summary> /// 作品更新并显示 /// </summary> public async Task <bool> update() { //timer.Stop(); switch (c.mode) { case "Top_50": if (top50 == null) { top50 = new PixivTop50(); } await Task.Run(async() => { img = await top50.SelectArtWork(); }); break; case "You_Like_V1": if (like == null) { like = new PixivLike(); } await Task.Run(async() => { img = await like.SelectArtWorkV1(); }); break; case "You_Like_V2": if (like == null) { like = new PixivLike(); } img = await like.SelectArtWorkV2(); //该API在UI线程被建立,不支持从子线程调用 break; default: if (top50 == null) { top50 = new PixivTop50(); } await Task.Run(async() => { img = await top50.SelectArtWork(); }); break; } if (img != null) { c.lastImg = img; main.Navigate(typeof(ShowPage));//图片展示页面更新 if (backgroundMode.Equals("BackgroundTask")) { RegistTask(); //重新申请后台计时触发器 } else { timer.Interval = TimeSpan.FromMinutes(c.time); timer.Start(); } return(true); } else { return(false); } }