2012-01-13 4 views
2

このウィンドウからいくつかのウィンドウ2にありますMainWindowオブジェクトを作成してMainWindow.xamlで定義されたフレームを取得しようとしました Mainwindowオブジェクトを作成してページを移動しようとしましたが、ユーザーコード」他のウィンドウからMainWindowフレームを取得する

私が使用:

public Window2() 
    { 
    } 

myfunction() 
{ 
MainWindow rootwindow = new MainWindow(); 
    rootwindow.myframe.Navigate(new Page1()); 
    } 
+1

ここに新しいMainWindowをインスタンス化(つまり作成)しようとしていますか? 'MainWindow rootWindow = Application.MainWindow'のようなものが代わりに機能するでしょうか? –

答えて

7

これは、あなただけの新しいウィンドウを作成し、まだロードされていない何かにアクセスしようとしている、あなたは別のウィンドウからフレームを取得する方法ないです風のようにあなたが作成したばかりのものはまだ表示されていません。

あなたのウィンドウへの参照が必要です。これはあらかじめ設定しておけばApplication.Current.MainWindowから得ることができます(例えば、Appクラス)。または、2番目のウィンドウのコンストラクタのメインウィンドウへの参照を渡すこともできます。

+0

ウィンドウmainWindow = Application.Current.MainWindow; mainwindowはframe initsオプションを持っていません – murmansk

+0

mainwindowの静的インスタンスを使用しようとしました – murmansk

関連する問題