【发布时间】:2021-09-17 07:26:21
【问题描述】:
我已经获得了获取用户输入(电子邮件和密码)的代码,并且我已将其转移到我的主 WPF 表单中,现在我正在尝试从另一个类访问这些变量,并且正在努力做到这一点,非常感谢任何帮助。
这是变量所在的位置:
public partial class MainWindow : Window
{
public MainWindow(string clientEmail, string clientPass)
{
InitializeComponent();
string email = clientEmail;
string password = clientPass;
}
这是我希望能够访问代码的地方
public class emailSender
{
virtual public bool sendEmail(string recEmail, string usrSubject, string usrBody)
{
try
{
var smtpClient = new SmtpClient("smtp.gmail.com")
{
Port = 587,
Credentials = new NetworkCredential(email, password),
EnableSsl = true,
};
smtpClient.Send(email, recEmail, usrSubject, usrBody);
MessageBox.Show("Email Successfully sent");
return true;
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
return false;
}
}
}
【问题讨论】:
-
WPF 应用程序与 MVVM 模式配合使用效果最佳。如果您不知道它是什么,请尝试查找 [一些信息](www.c-sharpcorner.com/UploadFile/raj1979/simple-mvvm-pattern-in-wpf/)。您需要重新排列代码,并将 emailsender 类转换为 ViewModel。然后你就可以运行命令,监听属性变化,做几乎所有你想做的关于 GUI 和代码隐藏之间的通信的事情。