在feed rss reader中使用web浏览器控件

时间:2012-08-14 18:49:19

标签: c# silverlight windows-phone-7

我按照本指南创建了一个rss阅读器

http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh487167(v=vs.92).aspx

但我想使用Web浏览器控件来打开feed而不是WebBrowserTask。我怎样才能实现它?

注意:我正在使用C#

3 个答案:

答案 0 :(得分:0)

参考您的链接。您可以遵循以下方法:

在页面上创建webBrowser控件。称之为"webBrowser"

使用webBrowser.Navigate(uri);代替以下三种陈述

        WebBrowserTask webBrowserTask = new WebBrowserTask();
        webBrowserTask.Uri = uri;
        webBrowserTask.Show();

在函数feedListBox_SelectionChanged中。希望它有所帮助。

答案 1 :(得分:0)

像这样调用webBrowser.xaml页面

NavigationSerivce.Navigate(new Uri("<webBrowser.xaml path>?url="+url,UriKind.Relative));

webBrowser.xaml上的

        <Grid x:Name="ContentPanel" Grid.Row="1" >
             <phone:WebBrowser IsScriptEnabled="True" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Name="browser" />
        </Grid>

并在webBrowser.xaml.cs上执行:

    protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
    {
        String url = NavigationContext.QueryString["url"];
        if (!String.IsNullOrEmpty(url))
        {
            browser.Navigate(new Uri(url));
        }
    }

请检查编译错误。它应该工作

答案 2 :(得分:0)

要阻止自动刷新,请在webBrowser.xaml.cs

中尝试此操作
    String _oldUrl;
    protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
    {
         String url = NavigationContext.QueryString["url"];
         if(url!=_oldUrl)
         {
              if (!String.IsNullOrEmpty(url))
              {
                     browser.Navigate(new Uri(url));
              }
              _oldUrl = url;
         }
    }