无法转换类型的对象

2023-12-28

在我的 wpf 应用程序中尝试将字符串从一个窗口发送到另一个窗口时出现错误:

无法将“WpfApplication4.LoginWindow”类型的对象强制转换为“WpfApplication4.MainWindow”类型。

在我的登录窗口中,错误出现在这一行:

((MainWindow)Application.Current.MainWindow).StudentID = UserAuthenticationID;

在我的主窗口中我有这个要测试:

    public string StudentId { get; set; }
    void MainWindow_Loaded(object sender, RoutedEventArgs e)
    {
        label1.Content = StudentID;
    }

我究竟做错了什么?

EDIT:

到目前为止,没有任何答案是有意义的,这将是由于我的模糊问题,我创建了一个 wpf 应用程序,并且有两个窗口 MainWindow.xaml 和 LoginWindow.xaml。

我想在身份验证后将一个字符串(学生 ID)从登录窗口传递到主窗口。

我认为上面的方法是如何做到的,当我读到它时:((MainWindow)Application.Current.MainWindow).StudentID说我想要字符串的位置UserAuthenticationID要发送到?

然后在MainWindow.xaml我得到了字符串UserAuthenticationID并设置它,然后我将标签内容分配给这个公共字符串?


大概您是从主窗口创建登录窗口的。如果您需要从登录窗口引用主窗口,则在构造它时将主窗口引用传递给登录窗口。例如

void MainWindow_Loaded(object sender, RoutedEventArgs e) {
    LoginWindow login = new LoginWindow(this);
    login.ShowDialog();
}

class LoginWindow : Window {
    MainWindow app_window;
    public LoginWindow(MainWindow app_window) {
        Owner = app_window;
        this->app_window = app_window;
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法转换类型的对象 的相关文章

随机推荐