WPF——传实体类及绑定实体类属性
public class User: private string _User; public string User1 { get { return _User; } set { _User = value; } } private string _Password; public string Password { get { return _Password; } set { _Password = value; } } } }
User u; private void Button_Click_1(object sender, RoutedEventArgs e) //点击登陆按钮,弹出新窗体 { //先判断一下是不是正确的用户名和密码 u = new User(); u.User1 = "admin"; u.Password = "123"; if(string.IsNullOrWhiteSpace(TextBox1.Text)) //判断一下用户名框的值是不是为空 { MessageBox.Show("用户名为空"); } else { if (TextBox1.Text == u.User1 && TextBox2.Password == u.Password) { Window1 f = new Window1(u); //将实体类u传到刚打开的窗体里,这样刚打开的窗体就能调用这个实体类了 f.Show(); this.Owner = f; this.Hide(); } else { MessageBox.Show("用户名或密码不对"); } } }
下面点击登陆的时候,将输入的文本传到新窗体里,用的方法是绑定实体类User,通过绑定User里面的数据从而实现传值。
绑定属性是用 Bindint User1(User1是实体类User中的用户名属性) Mode=DeFault是绑定方式
然后在新窗体里给两个文本框赋值,赋值的内容是绑定的实体类User里的属性的内容
public partial class Window1 : Window { User U;//和之前传窗体、传变量一样, 这里是传实体类; public Window1(User u) { InitializeComponent(); U = u; //TextBox1.Text = U.User1 + "\n" + U.Password; //"\n":换行 TextBox1.DataContext = U; //文本框1的数据来源是是实体类U,在刚拖进文本框1的时候,就给文本框1绑定了实体类User中的用户名(User1)属性 TextBox2.DataContext = U; //文本框2的数据来源是是实体类U,在刚拖进文本框2的时候,就给文本框2绑定了实体类User中的密码(Password)属性 } }