在 C# WPF EntityFramework 页面之间切换
我在 wpf 中的页面之间切换,我的应用程序的逻辑如下:我有一个登录页面,并从该页面创建一个新主页页面的示例,我传递登录者的用户 ID构造函数,我这样做:
private void LoginButton_Click(object sender, RoutedEventArgs e)
{
if ((LoginTextBox.Text != "") && (PasswordTextBox.Text != ""))
{
using (var db = new colledgeDepartmentEntities())
{
var user = (from u in db.users where
u.login == LoginTextBox.Text && u.password == PasswordTextBox.Text select u).FirstOrDefault();
if (user != null)
{
int userId = user.idUser;
//PageHelper.main.FrameMain.Navigate(new HomePage(userId));
this.NavigationService.Navigate(new HomePage(userId));
}
else
{
MessageBox.Show("Логин или пароль введен не верно");
}
}
}
}
从主页我转到另一个页面,该页面的菜单有一个返回主页的转换字段,我需要传递在那里登录的用户ID,但我不知道如何传递它我也无法在构造函数中将此参数设置为可选。 我是一名学生,不知道如何正确做,我很高兴收到任何有关如何在我的情况下做/如何正确做的批评和建议。
PageHelper.main.FrameMain.Navigate(new HomePage(userId)); - the variant that I originally have
this.NavigationService.Navigate(new HomePage(userId)); - the variant that I found on the Internet
我会引入一个
viewmodel
来保存 HomePage
视图的相关数据。或者引入 UserService
来保存整个应用程序中的用户相关数据。
但是既然你说你还在学习,我也可以提供 一个快速而肮脏的解决方案,没有任何新概念。您可以在主页上创建一个公共属性并通过单击事件进行设置。
var homepage = new HomePage()
hompage.UserId = userId;
this.NavigationService.Navigate(homepage);