2017-05-28 40 views
0

我不知道如何从WebBrowser获取创建的C#代码,并且不存在于代码之前的Xaml中Url AddTabItem( )函数在程序开始时调用,稍后如果用户想要添加更多的TabItems,用户可以点击添加按钮。如何从主窗口获取WebBrowsers网址#WPF

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

您可以从tabcontrol中获取所选或当前选项卡并获取子Web浏览器控件并获取其URL – Krishna

回答

0

你想要的是:

wb.Source.AbsoluteUri 

如果您在窗口上拖放一个WebBrowser并称之为“ 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

你可以使用添加到List<TabItem>引用:

WebBrowser wb = tabItem[tabItem.Count - 1].Content as WebBrowser; 
string url = wb.Source.AbsoluteUri.ToString();