gpt4 book ai didi

c# - 将值从窗口返回到 WPF 类

转载 作者:行者123 更新时间:2023-12-02 03:26:04 24 4
gpt4 key购买 nike

在我的类的一个方法中,我调用了 Login.Show(),它是一个 Login Window。我希望窗口在单击“登录”按钮时将电子邮件传回类(class),而不创建类(class)的新实例。

有什么办法吗?

目前我有

Login loginWindow;
public void AppStartup {
loginWindow = new Login();
loginWindow.Show();
//in this instance I'd like the email to be returned here

Login.xaml.cs

public void Login_Click(object sender, RoutedEventArgs e)
{
string email;
try {
email = InputEmail.Text;
//ideally I would like to return email to AppStartup without
//using new AppStartup(); , rather back in the same instance
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}

最佳答案

您可以调用 ShowDialog() 而不是 Show() 来显示窗口,然后访问 Text 属性InputEmail 直接控制:

loginWindow = new Login();
loginWindow.ShowDialog();
string email = loginWindow.InputEmail.Text;

Show() 不同,ShowDialog() 在窗口关闭之前不会返回。

或者您可以向 Login 窗口或其 DataContext 添加一个属性,并在单击按钮时设置该属性。

public string Email { get; set; }

public void Login_Click(object sender, RoutedEventArgs e)
{
Email = InputEmail.Text;
}

string email = loginWindow.Email;

关于c# - 将值从窗口返回到 WPF 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53385195/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com