예제 #1
0
        /// <summary>
        /// The methods provided in this section are simply used to allow
        /// NavigationHelper to respond to the page's navigation methods.
        /// <para>
        /// Page specific logic should be placed in event handlers for the
        /// <see cref="NavigationHelper.LoadState"/>
        /// and <see cref="NavigationHelper.SaveState"/>.
        /// The navigation parameter is available in the LoadState method
        /// in addition to page state preserved during an earlier session.
        /// </para>
        /// </summary>
        /// <param name="e">Provides data for navigation methods and event
        /// handlers that cannot cancel the navigation request.</param>
        protected async override void OnNavigatedTo(NavigationEventArgs e)
        {
            this.navigationHelper.OnNavigatedTo(e);
            var pageFile = string.Empty;

            if (!CNBlogs.DataHelper.DataModel.CNBlogSettings.Instance.NightModeTheme)
            {
                pageFile = "ms-appx-web:///HTML/post_day.html";
                this.wv_WebContent.DefaultBackgroundColor = Windows.UI.Colors.White;
            }
            else
            {
                pageFile = "ms-appx-web:///HTML/post_night.html";
                this.wv_WebContent.DefaultBackgroundColor = Windows.UI.Colors.Black;
            }

            if (e.Parameter is Post)
            {
                this.post          = e.Parameter as Post;
                this.Author        = post.Author;
                this.commentsCount = post.CommentsCount;
                CNBlogs.DataHelper.CloudAPI.PostContentDS pcDS = new DataHelper.CloudAPI.PostContentDS(post.ID);
                if (await pcDS.LoadRemoteData())
                {
                    content = pcDS.Content;
                }

                UpdateUI();
                this.wv_WebContent.Navigate(new Uri(pageFile));
            }
        }
예제 #2
0
        /// <summary>
        /// The methods provided in this section are simply used to allow
        /// NavigationHelper to respond to the page's navigation methods.
        /// <para>
        /// Page specific logic should be placed in event handlers for the
        /// <see cref="NavigationHelper.LoadState"/>
        /// and <see cref="NavigationHelper.SaveState"/>.
        /// The navigation parameter is available in the LoadState method
        /// in addition to page state preserved during an earlier session.
        /// </para>
        /// </summary>
        /// <param name="e">Provides data for navigation methods and event
        /// handlers that cannot cancel the navigation request.</param>
        protected async override void OnNavigatedTo(NavigationEventArgs e)
        {
            if (e.NavigationMode == NavigationMode.New)
            {
                Logger.LogAgent.GetInstance().WriteLog(this.GetType().ToString());
            }

            this.navigationHelper.OnNavigatedTo(e);

            if (e.NavigationMode != NavigationMode.Back)
            {
                var pageFile = string.Empty;
                if (!CNBlogs.DataHelper.DataModel.CNBlogSettings.Instance.NightModeTheme)
                {
                    pageFile = "ms-appx-web:///HTML/post_day.html#width={0}&height={1}";
                    this.wv_WebContent.DefaultBackgroundColor = Windows.UI.Colors.White;
                }
                else
                {
                    pageFile = "ms-appx-web:///HTML/post_night.html#width={0}&height={1}";
                    this.wv_WebContent.DefaultBackgroundColor = Windows.UI.Colors.Black;
                }

                if (e.Parameter is Post)
                {
                    this.post          = e.Parameter as Post;
                    this.Author        = post.Author;
                    this.commentsCount = post.CommentsCount;
                    CNBlogs.DataHelper.CloudAPI.PostContentDS pcDS = new DataHelper.CloudAPI.PostContentDS(post.ID);
                    if (await pcDS.LoadRemoteData())
                    {
                        // combine author part to add to content
                        var authorElement = string.Format(AUTHOR_PART_FORMAT,
                                                          this.post.Title,
                                                          this.Author == null ? string.Empty : this.Author.Uri,
                                                          this.Author == null ? string.Empty : this.Author.Name,
                                                          this.Author == null || string.IsNullOrWhiteSpace(this.Author.Avatar) ?
                                                          string.Empty : string.Format("<img src='{0}' />", this.Author.Avatar));

                        content = authorElement + pcDS.Content;
                    }

                    UpdateUI();

                    string width  = Window.Current.Bounds.Width.ToString();
                    string height = Window.Current.Bounds.Height.ToString();

                    this.wv_WebContent.Navigate(new Uri(string.Format(pageFile, width, height)));
                }
            }
        }
예제 #3
0
        /// <summary>
        /// The methods provided in this section are simply used to allow
        /// NavigationHelper to respond to the page's navigation methods.
        /// <para>
        /// Page specific logic should be placed in event handlers for the
        /// <see cref="NavigationHelper.LoadState"/>
        /// and <see cref="NavigationHelper.SaveState"/>.
        /// The navigation parameter is available in the LoadState method
        /// in addition to page state preserved during an earlier session.
        /// </para>
        /// </summary>
        /// <param name="e">Provides data for navigation methods and event
        /// handlers that cannot cancel the navigation request.</param>
        protected async override void OnNavigatedTo(NavigationEventArgs e)
        {
            this.navigationHelper.OnNavigatedTo(e);
            string commentsCount = string.Empty;
            var    pageFile      = string.Empty;

            if (e.Parameter is Post)
            {
                this.post     = e.Parameter as Post;
                this.Author   = post.Author;
                commentsCount = post.CommentsCount;
                CNBlogs.DataHelper.CloudAPI.PostContentDS pcDS = new DataHelper.CloudAPI.PostContentDS(post.ID);
                if (await pcDS.LoadRemoteData())
                {
                    //this.wv_Post.NavigateToString(pcDS.Content);
                    content = pcDS.Content;
                }

                pageFile = "ms-appx-web:///HTML/post.html";
            }
            else if (e.Parameter is News)
            {
                this.news     = e.Parameter as News;
                commentsCount = news.CommentsCount;
                CNBlogs.DataHelper.CloudAPI.NewsContentDS ncDS = new DataHelper.CloudAPI.NewsContentDS(news.ID);
                if (await ncDS.LoadRemoteData())
                {
                    //this.wv_Post.NavigateToString(ncDS.News.Content);
                    content = ncDS.News.Content;
                }

                pageFile = "ms-appx-web:///HTML/news.html";
            }

            UpdateUI(commentsCount);

            this.wv_WebContent.Navigate(new Uri(pageFile));
        }
        /// <summary>
        /// The methods provided in this section are simply used to allow
        /// NavigationHelper to respond to the page's navigation methods.
        /// <para>
        /// Page specific logic should be placed in event handlers for the  
        /// <see cref="NavigationHelper.LoadState"/>
        /// and <see cref="NavigationHelper.SaveState"/>.
        /// The navigation parameter is available in the LoadState method 
        /// in addition to page state preserved during an earlier session.
        /// </para>
        /// </summary>
        /// <param name="e">Provides data for navigation methods and event
        /// handlers that cannot cancel the navigation request.</param>
        protected async override void OnNavigatedTo(NavigationEventArgs e)
        {
            if (e.NavigationMode == NavigationMode.New)
            {
                Logger.LogAgent.GetInstance().WriteLog(this.GetType().ToString());
            }

            this.navigationHelper.OnNavigatedTo(e);

            if (e.NavigationMode != NavigationMode.Back)
            {
                var pageFile = string.Empty;
                if (!CNBlogs.DataHelper.DataModel.CNBlogSettings.Instance.NightModeTheme)
                {
                    pageFile = "ms-appx-web:///HTML/post_day.html#width={0}&height={1}";
                    this.wv_WebContent.DefaultBackgroundColor = Windows.UI.Colors.White;
                }
                else
                {
                    pageFile = "ms-appx-web:///HTML/post_night.html#width={0}&height={1}";
                    this.wv_WebContent.DefaultBackgroundColor = Windows.UI.Colors.Black;
                }

                if (e.Parameter is Post)
                {
                    this.post = e.Parameter as Post;
                    this.Author = post.Author;
                    this.commentsCount = post.CommentsCount;
                    CNBlogs.DataHelper.CloudAPI.PostContentDS pcDS = new DataHelper.CloudAPI.PostContentDS(post.ID);
                    if (await pcDS.LoadRemoteData())
                    {
                        // combine author part to add to content
                        var authorElement = string.Format(AUTHOR_PART_FORMAT,
                            this.post.Title,
                            this.Author == null ? string.Empty : this.Author.Uri,
                            this.Author == null ? string.Empty : this.Author.Name,
                            this.Author == null || string.IsNullOrWhiteSpace(this.Author.Avatar) ?
                                string.Empty : string.Format("<img src='{0}' />", this.Author.Avatar));

                        content = authorElement + pcDS.Content;
                    }

                    UpdateUI();

                    string width = Window.Current.Bounds.Width.ToString();
                    string height = Window.Current.Bounds.Height.ToString();

                    this.wv_WebContent.Navigate(new Uri(string.Format(pageFile, width, height)));
                }
            }
        }
예제 #5
0
        /// <summary>
        /// The methods provided in this section are simply used to allow
        /// NavigationHelper to respond to the page's navigation methods.
        /// <para>
        /// Page specific logic should be placed in event handlers for the  
        /// <see cref="NavigationHelper.LoadState"/>
        /// and <see cref="NavigationHelper.SaveState"/>.
        /// The navigation parameter is available in the LoadState method 
        /// in addition to page state preserved during an earlier session.
        /// </para>
        /// </summary>
        /// <param name="e">Provides data for navigation methods and event
        /// handlers that cannot cancel the navigation request.</param>
        protected async override void OnNavigatedTo(NavigationEventArgs e)
        {
            this.navigationHelper.OnNavigatedTo(e);
            string commentsCount = string.Empty;
            var pageFile = string.Empty;

            if (e.Parameter is Post)
            {
                this.post = e.Parameter as Post;
                this.Author = post.Author;
                commentsCount = post.CommentsCount;
                CNBlogs.DataHelper.CloudAPI.PostContentDS pcDS = new DataHelper.CloudAPI.PostContentDS(post.ID);
                if (await pcDS.LoadRemoteData())
                {
                    //this.wv_Post.NavigateToString(pcDS.Content);
                    content = pcDS.Content;
                }

                pageFile = "ms-appx-web:///HTML/post.html";
            }
            else if (e.Parameter is News)
            {
                this.news = e.Parameter as News;
                commentsCount = news.CommentsCount;
                CNBlogs.DataHelper.CloudAPI.NewsContentDS ncDS = new DataHelper.CloudAPI.NewsContentDS(news.ID);
                if (await ncDS.LoadRemoteData())
                {
                    //this.wv_Post.NavigateToString(ncDS.News.Content);
                    content = ncDS.News.Content;
                }

                pageFile = "ms-appx-web:///HTML/news.html";

            }

            UpdateUI(commentsCount);

            this.wv_WebContent.Navigate(new Uri(pageFile));
        }