从其他窗口获取MainWindow框架

mur*_*nsk 2 wpf user-controls wpf-controls

所以我在这个窗口的某个窗口2中我尝试通过创建Mainwindow的对象来获取在MainWindow.xaml中定义的框架,并尝试导航到页面,但程序给出了"用户代码未触发的空引用异常"

我用了:

 public Window2()
  {
   }

 myfunction()
 {
 MainWindow rootwindow = new MainWindow();
  rootwindow.myframe.Navigate( new Page1());
  }
Run Code Online (Sandbox Code Playgroud)

H.B*_*.B. 7

不是你从另一个窗口获取帧的方式,你只是创建一个窗口并尝试访问尚未加载的东西,因为你刚刚创建的窗口还没有显示.

你需要一个对你的窗口的引用,Application.Current.MainWindow如果你事先相应地设置它(例如在App课堂上),你可以从中获得.或者您可以在第二个窗口的构造函数中传递对主窗口的引用.