2011-07-17 2 views
0

Pourquoi cela ne fonctionne-t-il pas?Appel à OnNavigatedTo (NavigationEventArgs e) à partir d'une autre méthode

J'ai eu ce

protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) 
{ 
    base.OnNavigatedTo(e); 
    RequestAsync(new Uri(teamsite), 
     (html, exc) => { 
      if (exc == null) { 
       m_doc = new HtmlDocument(); 
       Dispatcher.BeginInvoke(() => m_doc.LoadHtml(html)); 
       xpathList.Items.Add(html); 
      } 
      else { 
       // handle exception appropriately 
      } 
     } 
    ); 
} 

public void test() 
{ 
    this.OnNavigatedTo(NavigationEventArgs e) 
} 

est-il un moyen que je peux sauter forme public void test() à

protected override void OnNavigatedTo(NavigationEventArgs e) 

?

+0

qui devrait fonctionner - ce qui est; travail t - est-il pas la compilation? Quelle est l'erreur de compilation que vous obtenez? –

+0

Que * exactement * ne fonctionne pas? – abatishchev

Répondre

2

Vous ne pouvez pas faire ressembler l'appel de méthode à une déclaration de méthode. Vous devez fournir l'argument. Correction:

public void test() 
{ 
    var arg = new NavigationEventArgs(...); // Supply constructor arguments 
    // Set arg properties if necessary 
    //... 
    this.OnNavigatedTo(arg) 
} 
+0

pourriez-vous me dire comment vous faites cela parce que je suis très nouveau à C# –

+0

c'est mon code: –

+3

Je ne pense pas que ce soit votre code. Où l'avez-vous copié? –

1

votre code ne devrait pas fonctionner car vous ne pouvez pas appeler la méthode comme une déclaration de méthode. Vous devez fournir l'argument

s'il vous plaît essayez le code ci-dessous collé

public void test() 
{ 
    var arg = new NavigationEventArgs(); 
    // Initialize the variable 
    // other necessory code ... 

    this.OnNavigatedTo(arg) 
} 
Questions connexes