private async void Image_DataContextChanged(FrameworkElement sender, DataContextChangedEventArgs args)
        {
            var page = args.NewValue as MetaPages;

            if (sender is Panel pl)
            {
                if (pl.FindName("img") is Image img)
                {
                    img.Source = null;
                    if (pl.FindName("pro") is ProgressRing pro)
                    {
                        ProgressBarVisualHelper.SetYFHelperVisibility(pro, true);
                        try
                        {
                            using (var stream = await Data.TmpData.CurrentAuth.Tokens.SendRequestAsync(Pixeez.MethodType.GET, page.ImageUrls.Original ?? page.ImageUrls.Large ?? page.ImageUrls.Medium))
                            {
                                var bitmap = new Windows.UI.Xaml.Media.Imaging.BitmapImage();
                                await bitmap.SetSourceAsync((await stream.GetResponseStreamAsync()).AsRandomAccessStream());

                                img.Source = bitmap;
                            }
                        }
                        catch
                        {
                            new Controls.MyToast("有图片加载失败").Show();
                        }
                        finally
                        {
                            ProgressBarVisualHelper.SetYFHelperVisibility(pro, false);
                        }
                    }
                }
                else
                {
                    //RoutedEventHandler reh= (se, ee) =>
                    //{
                    //    Image_DataContextChanged(sender, args);
                    //};
                    //pl.Loaded += reh;
                }
            }
        }
Ejemplo n.º 2
0
        private async void Button_Click(object sender, RoutedEventArgs e)
        {
            pwdbox.IsEnabled    = false;
            unlockbtn.IsEnabled = false;
            ProgressBarVisualHelper.SetYFHelperVisibilityForBool(ring, true);
            try
            {
                TmpData.Password = pwdbox.Password;
                await TmpData.LoadKeeperAsync();

                this.Frame.Navigate(typeof(MainPage));
            }
            catch
            {
                await new MessageDialog(TmpData.loader.GetString("passwordnotok")).ShowAsync();
            }
            finally
            {
                ProgressBarVisualHelper.SetYFHelperVisibilityForBool(ring, false);
                unlockbtn.IsEnabled = true;
                pwdbox.IsEnabled    = true;
            }
        }