无法将事件处理程序附加到我的控件?

时间:2011-11-11 04:20:29

标签: c# windows-phone-7 webbrowser-control

我正在通过我的第一个Windows Phone 7应用程序(慢慢地)工作,而我正在尝试将LoadCompleted事件附加到Web浏览器控件(因此我可以在页面上调用一些javascript自动登录我的服务台)。

问题是我无法弄清楚如何将事件附加到我的控件。 MSDN为处理程序提供了这段代码,但我很无能为力: 公共事件LoadCompletedEventHandler LoadCompleted

有人可以帮助我解决下面的功能,使其与loadcompleted事件一起使用吗?

    private void PageLoadCompleted(object sender, System.Windows.Navigation.NavigationEventArgs e) 
    {
        if (e.Uri.ToString() == MainPage.HelpDeskUrl)
        {
            MessageBox.Show("Page is loaded!");
            // invoke login code will go here
        }
    }

2 个答案:

答案 0 :(得分:2)

将加载完成的事件处理程序附加到Windows应用程序页面可以通过两种方式完成

首先通过在page.xaml中声明加载的事件处理函数,如下所示

 <phone:PhoneApplicationPage 
    x:Class="Hubtile.AnimationPage" Loaded="PhoneApplicationPage_Loaded"
    shell:SystemTray.IsVisible="True">

其次,在page.xaml.cs构造函数中为加载的事件添加事件处理程序,如下所示

Loaded += new RoutedEventHandler(Page_Loaded);

函数Page_Loaded如下所示

void Page_Loaded(object sender, RoutedEventArgs e)
   {
     // add code  
     MessageBox.Show("Page is loaded!");
   }

答案 1 :(得分:0)

您可以在xaml中为Web浏览器控件添加load completed事件,如下所示

处理功能如下 private void myWebBrowser_LoadCompleted(object sender,NavigationEventArgs e)         {             MessageBox.Show( “完成”);         }

或在调用导航功能之前向Web浏览器控件添加事件处理程序。  myWebBrowser.LoadCompleted + = new LoadCompletedEventHandler(myWebBrowser_LoadCompleted);