C# WPF跳转新窗口空白白屏、ViewModel不显示问题求助
问题根因
你在打开新窗口的代码中,实例化的是WPF原生的Window基类,而非你自己实现了UI布局的Window1自定义窗口类,原生Window类默认没有任何内容,所以会显示空白白屏。
错误点定位
你在MainWindow的OpenWindow方法中的代码:
Window f1 = new Window();
这里创建的是系统自带的空白窗口,和你写的Window1类没有任何关联。
另外你的Window1放在PROG6221_POE_Tarisai_Gonah_18028480.Views命名空间下,需要先引入对应命名空间才能正常调用。
修正方案
- 首先在
MainWindow.xaml.cs的头部引入Window1所在的命名空间:
using PROG6221_POE_Tarisai_Gonah_18028480.Views;
- 然后修改
OpenWindow方法的实例化逻辑:
private void OpenWindow(object sender, RoutedEventArgs e) { // 实例化自定义的Window1窗口,而非系统默认的空白Window Window1 f1 = new Window1(); this.Visibility = Visibility.Hidden; f1.Show(); }
额外优化建议
- 如果不需要保留原窗口的输入状态,可以直接用
this.Close()替代this.Visibility = Visibility.Hidden,避免后台残留隐藏窗口占用资源 - 可以给窗口起更有语义的名称,比如
RecipeWindow、SettingWindow等,避免后续维护混淆
内容的提问来源于stack exchange,提问作者DekluitTheNoob
相关产品推荐
相关产品推荐

