【问题标题】:Connecting windows 7 phone emulator to own website?将 Windows 7 手机模拟器连接到自己的网站?
【发布时间】:2011-05-03 17:38:37
【问题描述】:

马库斯在这里。我遇到了一个我难以解决的问题。显然,我有一个 Windows 7 手机连接到 dotnetzonereader 的编码示例。好吧,我尝试将 url 地址更改为 www.google.com,但它无法这样做。在这里,我不是指访问 www.google.com 的 Windows 7 模拟器中的 Internet Explorer,而是指访问 Internet 的应用程序。这是我从网上获得的代码示例。我尝试更改这部分 > dzoneRss.DownloadStringAsync(new Uri("http://feeds.dzone.com/zones/dotnet")); 到 dzoneRss.DownloadStringAsync(new Uri("http://google.com")); 但仍然有错误。任何善良的灵魂都在这里帮助我完成这个T_T。谢谢人们。真的谢谢你

using System;
using System.Collections.Generic;
using System.Linq;
using System.Xml.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;



namespace DotNetZoneReader
{
    public partial class MainPage : PhoneApplicationPage
    {
        public MainPage()
        {
            InitializeComponent();

            SupportedOrientations = SupportedPageOrientation.Portrait | SupportedPageOrientation.Landscape;
        }

        private void listBox1_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {

        }

        private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)
        {

        }

        private void storyList_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {

        }

        private void button1_Click(object sender, RoutedEventArgs e)
        {
            var dzoneRss = new WebClient();
            dzoneRss.DownloadStringCompleted += dzoneRss_DownloadStringCompleted;
            dzoneRss.DownloadStringAsync(new Uri("http://feeds.dzone.com/zones/dotnet"));
        }
        private void dzoneRss_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
        {
            if (e.Error != null) return;
            XElement xmlStories = XElement.Parse(e.Result);
            XNamespace dz = "http://www.developerzone.com/modules/dz/1.0";
            storyList.ItemsSource = from story in xmlStories.Descendants("item")
                                    select new FeedItem
                                    {
                                        Title = story.Element("title").Value,
                                        Description = story.Element("description").Value,
                                        Link = story.Element("link").Value,
                                        PublishDate = Convert.ToDateTime(story.Element(dz + "submitDate").Value).ToString("dd-MMM"),
                                        Author = story.Element(dz + "submitter").Element(dz + "username").Value,
                                        AuthorImageUrl = story.Element(dz + "submitter").Element(dz + "userimage").Value
                                    };
        }
        public class FeedItem
        {
            public string Title { get; set; }
            public string Description { get; set; }
            public string Link { get; set; }
            public string PublishDate { get; set; }
            public string Author { get; set; }
            public string AuthorImageUrl { get; set; }
        }
    }
}

【问题讨论】:

  • 您遇到的具体错误是什么?你想做什么?如果您正在加载的页面没有定义 XML 命名空间(并且不是 XML 格式),那么您肯定会得到一个错误。
  • 嗨,Marcus,在您更改网址之前,该代码是否适合您?您得到的错误是什么以及来自哪一行?
  • 感谢丹尼斯和米克的回答。正如我所提到的,这是我从网上检索到的 dotnetzonereader 示例。如果你们可以将我上面提到的代码复制到您的 Microsoft Visual Studio 2010 Express For Windows Phone,那就太好了。一旦我按下刷新按钮,我就可以看到网页feeds.dzone.com/zones/dotnet。但是我正在尝试更改它以允许我访问谷歌。我的问题是我必须更改代码的哪一部分才能访问谷歌?谢谢@Mick @Dennis

标签: c# .net windows-phone-7


【解决方案1】:

要访问 google,您只需在页面上放置一个 WebBrowser 控件并在 WebBrowser 的加载事件中将 Source 设置为指向 google 即可。例如

    private void webBrowser1_Loaded(object sender, RoutedEventArgs e) {
        webBrowser1.Navigate(new Uri("http://www.google.com/", UriKind.Absolute));
    }

您链接的代码根据您的要求做了不同的事情,您不需要并且不一定与谷歌的网站兼容。

您可以在一个空的 Windows Phone 应用程序项目中完成上述操作。

【讨论】:

  • @Mick N 感谢您的回答,这几天很忙。抱歉,如果我在这一点上太烦人了,因为我不太熟悉用于快速电话的 Visual Studio。如何设置源?如果您可以更详细一点,是否有可能?抱歉给你添麻烦了。我试过这样做。
  • @Mick N 使用系统;使用 System.Collections.Generic;使用 System.Linq;使用 System.Net;使用 System.Windows;使用 System.Windows.Controls;使用 System.Windows.Documents;使用 System.Windows.Input;使用 System.Windows.Media;使用 System.Windows.Media.Animation;使用 System.Windows.Shapes;使用 Microsoft.Phone.Controls;命名空间 WindowsPhoneApplication2 { public partial class MainPage : PhoneApplicationPage { public MainPage() { InitializeComponent();
  • @Mick N SupportedOrientations = SupportedPageOrientation.Portrait | SupportedPageOrientation.Landscape; } private void webBrowser1_Loaded(object sender, RoutedEventArgs e) { webBrowser1.Navigate(new Uri("google.com", UriKind.Absolute)); } } }
  • @Mick N i 发生了这样的错误。该进程无法访问该文件,因为它正被另一个进程使用。 (HRESULT 异常:0x80070020
  • 您需要对我发布的代码执行的操作是将其连接到 WebBrowser 的加载事件。您可以在属性窗口中的事件选项卡上执行此操作,同时将 WebBrowser 控件定位在设计视图中。如果你认为你需要详细的支持,你最好在 windows phone 论坛上发帖,因为它们支持在线程中发帖的更具对话性的风格,能够交换代码 sn-ps 等。
猜你喜欢
  • 2013-06-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多