【问题标题】:Navigating to a different URL in a web browser control each time a button is pressed from another page每次从另一个页面按下按钮时导航到 Web 浏览器控件中的不同 URL
【发布时间】:2013-05-27 10:30:18
【问题描述】:

我正在开发一个 Windows Phone 应用程序,我的主页上有按钮。还有另一个页面 browser.xaml,它有一个 Web 浏览器控件。如何将 URL 分配给主页上的按钮,以便每次点击它们时,它都会导航到 browser.xaml 并且 webbrowser 控件将导航到某个 URL?我避免为每个按钮创建 Web 浏览器控件。

【问题讨论】:

  • 你在用mvvm吗??如果是,是哪个框架,你自己写的吗??
  • 检查我的答案,它使用导航服务类来执行此操作

标签: c# webbrowser-control windows-phone


【解决方案1】:

首先为 button_Click 事件处理程序添加以下代码:

  private void button_Click(object sender, RoutedEventArgs e)
    {

        NavigationService.Navigate(new Uri("/browser.xaml?link=" + textBox1.Text, UriKind.Relative));
    }

在 browser.xaml 上创建一个函数

    protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
    {
        base.OnNavigatedTo(e);

        string linkurl= "";

        if (NavigationContext.QueryString.TryGetValue("link", out linkurl))

            textBlock1.Text = linkurl;


    }

对于命令参数使用这个

   <Button Content="Parameterized Command" CommandParameter={Binding links} /> 

【讨论】:

  • 非常感谢,这正是我所需要的!虽然我还没有尝试过,但我相信它真的会通过一些调整来工作。但还有别的,我在主页上有很多按钮。我应该将它们的 url 声明为字符串还是数组,我该怎么做?
  • 如果这有帮助,请投票...您可以将命令参数的链接关联到每个按钮
  • 您应该在链接上使用HttpUtility.UrlEncode,然后再将其附加到 URI。否则,链接的参数可能会被截断。并且在阅读时不要忘记致电HttpUtility.UrlDecode
猜你喜欢
  • 2017-07-07
  • 2021-08-19
  • 2010-10-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-08
  • 2014-07-01
  • 1970-01-01
相关资源
最近更新 更多