예제 #1
0
        private async Task <string> SetAndSaveResources(string buttonName)
        {
            var htmlSource = (await WebProcess.GetHtmlResources(GetUriPath(buttonName), true)).ToString();

            AddHtmlResources(buttonName, htmlSource);
            return(HtmlNowResMap[buttonName]);
        }
예제 #2
0
        private async void Pivot_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            MainPage.Current.BaseListRing.IsActive = true;
            GridViewResources.Source = null;
            var args = (sender as Pivot).SelectedItem as BarItemModel;

            if (args == null)
            {
                MainPage.Current.BaseListRing.IsActive = false;
                return;
            }
            MainPage.ChangeTitlePath(3, (sender as Pivot).SelectedIndex == 0 ? null : args.Title);
            ArgsPathKey = args.PathUri.ToString();
            if (IfContainsListInstance(ArgsPathKey))
            {
                GridViewResources.Source = GetListInstance(ArgsPathKey);
                MainPage.Current.BaseListRing.IsActive = false;
                return;
            }
            if (IfContainsAGVInstance(ArgsPathKey))
            {
                GetAGVInstance(ArgsPathKey).Opacity = 0;
            }
            var newList = DataProcess.FetchNewsPreviewFromHtml(
                (await WebProcess.GetHtmlResources(
                     ArgsPathKey, false))
                .ToString());

            GridViewResources.Source            = newList;
            GetAGVInstance(ArgsPathKey).Opacity = 1;
            AddResourcesInDec(ArgsPathKey, newList);
            MainPage.Current.BaseListRing.IsActive = false;
        }
예제 #3
0
        protected override async void OnNavigatedTo(NavigationEventArgs e)
        {
            MainPage.Current.BaseListRing.IsActive = true;
            if (NavigateState == PageState.Navigated)
            {
                DoWorkAsync(() => { SetButtonToggled(nowToggledButton); });
                MainPage.Current.BaseListRing.IsActive = false;
                return;
            }
            DoWorkAsync(() => { SetButtonToggled(IndexButton.Name); });
            var args   = e.Parameter as NavigateParameter;
            var source = DataProcess.FetchImagesIndexFromHtml(
                (await WebProcess.GetHtmlResources(
                     args.PathUri.ToString(), true))
                .ToString());

            SetIndexRangeResources(source);
            MainPage.Current.BaseListRing.IsActive = false;
        }
예제 #4
0
        private async Task <List <SimpleImgModel> > FetchMoreResources(int number, string pathString, uint rollNum, uint nowWholeCountX)
        {
            var Host = pathString + "{0}.shtml";

            if (nowWholeCountX / 24 != 1)
            {
                Host = string.Format(Host, nowWholeCountX / 24);
            }
            else
            {
                Host = pathString;
            }
            var result = DataProcess.FetchBarItemInnerFromHtml((await WebProcess.GetHtmlResources(Host, true)).ToString());

            if (result.Count == 0)
            {
                DataProcess.ReportException("没有更多内容了"); await Task.Delay(5000);
            }
            return(result);
        }
예제 #5
0
        protected override async void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);
            var args = e.Parameter as NavigateParameter;

            if (args == null || args.ToUri == null)   // make sure the navigation action is right.
            {
                ReportHelper.ReportAttention(GetUIString("WebViewLoadError"));
                return;
            }
            contentRing.IsActive = true;
            currentUri           = args.ToUri;
            thisPageType         = args.ToFetchType;

            if (args.MessageBag as string != null)
            {
                navigateTitle = navigateTitlePath.Text = args.MessageBag as string;
            }

            // DO ASYNC WORK HERE ......

            try {
                if (thisPageType == DataFetchType.Data_CourseCalender)
                {
                    var result = DataProcess.FetchCourseCalenderFromHtml(await WebProcess.GetHtmlResources(currentUri.ToString(), true));

                    PreSelectCS.Text = result.PreSelectCS;
                    PreSelectPH.Text = result.PreSelectPH;
                    SelectCS.Text    = result.SelectCS;
                    SelectPH.Text    = result.SelectPH;
                    CoverSelect.Text = result.CoverSelect;
                    QueryDate.Text   = result.QueryDate;

                    SetVisibility(CourseCalenderView, true);
                }
            } catch (Exception ex) {
                Debug.WriteLine(ex.StackTrace);
            } finally {
                contentRing.IsActive = false;
            }
        }
예제 #6
0
        protected override async void OnNavigatedTo(NavigationEventArgs e)
        {
            contentRing.IsActive = true;
            var args = e.Parameter as NavigateParameter;

            if (args == null)
            {
                contentRing.IsActive = false;
                return;
            }
            var source = DataProcess.FetchPictureCollectionFromHtml(
                (await WebProcess.GetHtmlResources(
                     args.PathUri.ToString(), true))
                .ToString());

            SetPreAndNextResources(source);
            await SetPicturesResources(source);

            // Not Support
            //GridViewResources.Source = source.MoreCollection;
            contentRing.IsActive = false;
        }
예제 #7
0
 private async System.Threading.Tasks.Task SetPicturesResources(PicturesCollModel source)
 {
     foreach (var item in source.PictureItems)
     {
         var grid  = new Grid();
         var uri   = DataProcess.FetchPictureSingleFromHtml((await WebProcess.GetHtmlResources(item.PathUri.ToString(), true)).ToString()).ImageUri;
         var image = new Image {
             Source  = new BitmapImage(uri),
             Margin  = new Thickness(10, 5, 10, 5),
             Stretch = Stretch.UniformToFill,
         };
         grid.Children.Add(image);
         var button = new Button {
             HorizontalAlignment = HorizontalAlignment.Stretch,
             VerticalAlignment   = VerticalAlignment.Stretch,
             Background          = new SolidColorBrush(Colors.Transparent),
             Style = Application.Current.Resources["MainPageButtonBackHamburgerStyle"] as Style,
         };
         button.Click += (sender, clickArgs) => { MainPage.ShowImageInScreen(uri); };
         grid.Children.Add(button);
         ContentStack.Children.Add(grid);
     }
 }
예제 #8
0
        protected override async void OnNavigatedTo(NavigationEventArgs e)
        {
            contentRing.IsActive = true;
            var args = e.Parameter as NavigateParameter;

            if (args == null)
            {
                contentRing.IsActive = false;
                return;
            }
            var source = DataProcess.GetPageInnerContent(
                (await WebProcess.GetHtmlResources(
                     args.PathUri.ToString(), false))
                .ToString());

            navigateTitlePath.Text = source.Title;
            int Count = source.ContentImage.Count + source.ContentString.Count;

            for (int index = 1; index <= Count; index++)
            {
                object      item = default(object);
                ContentType type =
                    (item = source.ContentString.Find(i => i.Index == index)) != null ? ContentType.String :
                    (item = source.ContentImage.Find(i => i.Index == index)) != null ? ContentType.Image :
                    (item = source.ContentGif.Find(i => i.Index == index)) != null ? ContentType.Gif :
                    (item = source.ContentVideo.Find(i => i.Index == index)) != null ? ContentType.Video :
                    (item = source.ContentFlash.Find(i => i.Index == index)) != null ? ContentType.Flash :
                    (item = source.ContentSelfUri.Find(i => i.Index == index)) != null ? ContentType.SelfUri :
                    ContentType.None;

                switch (type)
                {
                case ContentType.String:
                    var textBlock = new TextBlock {
                        Text         = (item as ContentStrings).Content,
                        TextWrapping = TextWrapping.WrapWholeWords,
                        Margin       = new Thickness(10, 5, 10, 5),
                    };
                    ContentStack.Children.Add(textBlock);
                    break;

                case ContentType.Image:
                    var grid = new Grid();
                    grid.Children.Add(new Image {
                        Source  = new BitmapImage((item as ContentImages).ImageSource),
                        Margin  = new Thickness(10, 5, 10, 5),
                        Stretch = Stretch.UniformToFill,
                    });
                    var button = new Button {
                        HorizontalAlignment = HorizontalAlignment.Stretch,
                        VerticalAlignment   = VerticalAlignment.Stretch,
                        Background          = new SolidColorBrush(Windows.UI.Colors.Transparent),
                        Style = Application.Current.Resources["MainPageButtonBackHamburgerStyle"] as Style,
                    };
                    button.Click += (sender, clickArgs) => { MainPage.ShowImageInScreen((item as ContentImages).ImageSource); };
                    grid.Children.Add(button);
                    ContentStack.Children.Add(grid);
                    break;

                default: break;
                }
            }
            contentRing.IsActive = false;
        }
예제 #9
0
        private async void GetResources()
        {
            var list = DataProcess.FetchNavigationBarFromHtml((await WebProcess.GetHtmlResources(HomeHost, false)).ToString());

            NaviBarResouces.Source = list;
        }