2016-03-24 10 views
0

私はの最初のアプリをC#とXMAL/WPFで記述しています。クラスCでメソッドを呼び出す#

フレームを持つMainWindow.xmlがあります。私は新しいページ(page1.xamlとpage2.xaml)を追加しました。

MainWindow.xamlは最初にpage1の内容を読み込みます。 Page1には、Page2にナビゲートするボタンがあります。

Page2で数行のコードを実行したいと思います。これは私が問題を抱えているところです。 Page2でメソッドを作成して呼び出すと(アウトサイドコンストラクタ、その直後)、それは機能しません。

エラーは以下のとおりです。

私はそれを実行するためにPage2コンストラクタの中で呼び出す必要があります。ただし、Page1のボタンをクリックした直後にコードが実行されます。

これは機能しますが、ウィンドウはPage1を表示し、コマンドの実行後にpage2にナビゲートします。

私はPage2のが最初にアップロードしたいとして、ラインを実行します:私は(右のコンストラクタの後)コンストラクタ外にコードを追加する場合

// button on page1 
private void nextButton_Click(object sender, RoutedEventArgs e) 
     { 
      Page2 p2= new Page2(); 
      this.NavigationService.Navigate(p2); 
     } 

を 私は次のエラーを取得する:

Invalid token 'while' in class, struct, or interface member declaration

答えて

0

あなたはこれを試すことができます。

// add this line to your page2 class constructor 
this.Loaded += new RoutedEventHandler(MainWindow_Loaded); 

その後、

void MainWindow_Loaded(object sender, RoutedEventArgs e) 
{ 
    while(true) 
    { // any loop you want 
    } 

} 
+0

ありがとうございます@deeiipそれが動作します。しかし、MainWindow_Loadedのコマンドは、page2がロードされる前に実行されます。 page2をロードして、page2の内容を確認してから、コマンドを実行します。現在、すべてのコマンドが実行されてからpage2の内容が表示されるまで待機します。 – Imsa

関連する問題