到目前为止,我有2个框架,分别称为“登录表单”和“主表单”。
按登录按钮后,我想将用户ID从登录表单传递到主表单,并使用它为文本块设置文本。到目前为止,我有这样的代码
登录表单
private void btnLogin_Click(object sender, RoutedEventArgs e)
{
String id = txtID.Text;
Frame.Navigate(typeof(MainPage), id);
Window.Current.Close();
}
主表单
protected override void OnNavigatedTo(NavigationEventArgs e)
{
if (e.Parameter != null)
{
idFromLogin = e.Parameter.ToString();
loginInfor.Visibility = Visibility;
username.Text = idFromLogin;
}
base.OnNavigatedTo(e);
}
当用户成功登录时,我希望用户名文本出现并且值来自“登录表单”,但是当我这样做时,该文本块首先出现而没有任何内容,并且在登录后,它没有与“登录表单”中的文本一起显示,尽管
主表单从登录表单收到用户ID。
请帮帮我。谢谢
答案 0 :(得分:1)
问题是
Window.Current.Close();
您要关闭LoginPage而不在MainPage中设置Value,只需删除此行,它就可以正常工作了。