作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的类的一个方法中,我调用了 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/
到目前为止,我已经生成了以下代码来尝试将相关数据整合在一起。 但是,使用“+ 7”函数会产生以下问题。 Registration date = '2018-01-01' 它正在推迟 2018-04-0
我已经成功地将我的自定义购物车发布到 PayPal——它处理订单非常漂亮,当收到付款时,它会将数据发回我在配置中指定的 URL。代码基于此处找到的库:http://www.phpfour.com/bl
我是一名优秀的程序员,十分优秀!