Я понятия не имею, как получить URL-адрес из WebBrowser, который создается с помощью кода C # и не существует в Xaml до выполнения кода. Функция AddTabItem () вызывается при запуске в программе и позже, если пользователь хочет добавить больше TabItems пользователь может нажать на кнопку добавления.

  public List<TabItem> tabItem;
    public MainWindow()
    {
        try {
            InitializeComponent();
            //nardimo array za TabItem
            tabItem = new List<TabItem>();

            //Dodamo zaznamek (tabItem)






            TabItem novTab = this.AddTabItem();


           //bajndam tab
            tabControl.DataContext = tabItem;
            tabControl.SelectedIndex = 0;
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }

    }
public TabItem AddTabItem()
    {
        int count = tabItem.Count;
        TabItem tab = new TabItem();



        tab.Header = string.Format("Zavihek {0}", count+1);
        tab.Name = string.Format("zavihek{0}", count);



        WebBrowser wb = new WebBrowser();

        wb.Name = string.Format("Brskalnik{0}", count);

        string a = "http://www.google.com";

        wb.Navigate(a);
        Url.Text = a;
        tab.Content = wb;

        tabItem.Insert(count, tab);


        return tab;

    }

Затем пользователь может выполнять поиск в Интернете и хочет сделать закладку ... так как я могу получить URL-адрес с сайта, когда он нажимает кнопку добавления закладки? Как получить доступ к WebBrowser, поскольку он не находится в коде Xaml? Имейте в виду, я должен добавить закладки из второго окна, а не из главного. Мне очень жаль моего плохого английского, и я был бы очень рад, если бы кто-то мог помочь <3 Спасибо, ребята

0
FatTommy 29 Май 2017 в 01:35

2 ответа

Лучший ответ

То, что вы хотите, это:

wb.Source.AbsoluteUri

Если вы уроните веб-браузер в своем окне и назовете его «wb» и кнопку, то вы можете сделать это в следующем коде:

using System.Diagnostics;
using System.Windows;

namespace WpfApp1
{
    public partial class MainWindow 
    {
        public MainWindow()
        {
            InitializeComponent();


            wb.Navigate("http://google.com");
        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            Debug.WriteLine(wb.Source.AbsoluteUri);
        }
    }
}
0
Kelly 29 Май 2017 в 01:39

Вы можете использовать ссылки, которые вы добавляете в List<TabItem>:

WebBrowser wb = tabItem[tabItem.Count - 1].Content as WebBrowser;
string url = wb.Source.AbsoluteUri.ToString();
0
mm8 29 Май 2017 в 12:27