2013-10-29 34 views
0

我使用下面的代碼,使我的應用程序加載一個URL,如何在Windows Phone中使用WebBrowser?

WebBrowser wb = new WebBrowser(); 
wb.Navigate(new Uri(uri,UriKind.Absolute)); 

但仍是不加載該頁面?可能是什麼問題呢??

回答

1

呦不能有任何的回調,在WP默認WebBrowserTask,如果你需要更多的控制,使用WebBrowser因爲你一直在做,

的XAML

<phone:WebBrowser IsScriptEnabled="True" LoadCompleted="UriContentLoaded" x:Name="browserControl" /> 

代碼隱藏

public MainPage() //Your page constructor 
    { 
     InitializeComponent(); 

     this.browserControl.Loaded += SetBrowserUri; 
    } 
    private void SetBrowserUri(object sender, RoutedEventArgs e) 
    { 
     browserControl.Navigate(new Uri("http://www.bing.com")); 
    } 

    private void UriContentLoaded(object sender, NavigationEventArgs e) 
    { 
     if (MessageBox.Show("Do you want to load a second uri?", "Load again", MessageBoxButton.OKCancel) == MessageBoxResult.OK) 
     { 
      browserControl.LoadCompleted -= this.UriContentLoaded; //Remove previous handler 
      browserControl.LoadCompleted += this.SecondUriContentLoaded; //Add new handler 
      browserControl.Navigate(new Uri("http://www.google.com")); 
     } 
    } 

    private void SecondUriContentLoaded(object sender, NavigationEventArgs e) 
    { 
     MessageBox.Show("Finished loading"); 
    } 
+0

你上面提到的代碼工作完美。但在我的情況下,首先我必須加載一個網址和基於值將導航到另一個url.So我必須顯示一個網址(這是滿足您的上述代碼),並且我的LoadCompleted事件處理程序應該是爲另一個網址。我怎樣才能做到這一點?? – Aju

+0

更新了答案,出於好奇,爲了加載第二個uri,你在尋找什麼? – FunksMaName

+0

在我的第一個uri中,我將提供的數據很少,根據數據我將導航到page2,如果我的數據對於page3是有效的,如果它無效的話。在導航頁面中,我將把我的值作爲cookie。非常感謝您的回答! – Aju

3

WebBrowser是一個控件。就像按鈕或文本塊一樣,除非將其放在頁面的某個位置,否則您將看不到任何內容。

啓動外部瀏覽器,使用WebBrowserTask

var webBrowserTask = new WebBrowserTask(); 

webBrowserTask.Uri = new Uri(uri, UriKind.Absolute); 

webBrowserTask.Show(); 
+0

我的任務是加載該頁面,並且在給出該頁面中的一些細節後,我將導航到另一個頁面,在那裏我必須獲取在該導航頁面中設置的cookie。我該怎麼做? – Aju

+0

我只想知道,在使用WebBrowserTask時,我可以檢測到另一個URL的加載。 – Aju

+0

您無法使用WebBrowserTask檢測任何內容,因爲它在您的應用程序之外執行。如果您想檢測導航(例如OAuth身份驗證),請將WebBrowser控件放入您的頁面中,然後訂閱「Navigating」事件 –

相關問題