【发布时间】:2015-04-22 05:26:35
【问题描述】:
我使用 MVVM 框架并在网上获得了这个教程:https://code.msdn.microsoft.com/windowsdesktop/How-to-use-MVVM-Pattern-0e2f4571 和 http://www.c-sharpcorner.com/UploadFile/raj1979/simple-mvvm-pattern-in-wpf/
现在,我的问题是:
即使没有语义错误,我也无法显示 mainpage.xaml。这是我在 app.xaml.cs 上的代码:
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
BasicWPF.View.MainPage window = new MainPage();
UserViewModel VM = new UserViewModel();
window.DataContext = VM;
window.Show();
}
谁能帮帮我?谢谢你的帮助! :)
感谢所有帮助过的人。
[已解决]
将 app.xaml 中的 startupuri 更改为要加载的页面。就我而言
1:我改变它:
StartupUri="View/MainPage.xaml"
2:在 app.xaml.cs 中,我输入了以下代码:
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
BasicWPF.View.MainPage window = new MainPage();
UserViewModel VM = new UserViewModel();
window.DataContext = VM;
}
从我之前的代码中,删除这段代码:window.show();因为它两次启动来自 app.xaml 和 app.xaml.cs 的页面。为了防止这种情况,删除:window.show();
再次感谢您! :)
【问题讨论】:
-
为什么要在 OnStartup 中手动显示主页?我认为您只需要设置在主页加载时也可以设置的视图模型。
-
什么意思?我不明白你的问题。
-
你能展示你的 App.xaml 吗?
-
默认 MainPage.xaml.cs 是否存在,是否包含默认 InitializeComponent() 调用?
-
MainPage.xaml.cs 存在,是的,它包含初始化组件调用