本帖最后由 Monn 于 2014-4-26 11:15 编辑
已解决,贴出来,给遇到此类问题的朋友。。
我是要点击窗口一,弹出窗口二,窗口二关闭时,传值给窗口一。看代码:
MainWindow.xaml.cs
[C#] 纯文本查看 复制代码 //可使用静态变量或者属性
//public static string yzm; //使用静态变量
public static string yzm { get; set; } //使用属性 (推荐)
private void button1_Click(object sender, RoutedEventArgs e)
{
yzmFrm yzmfrm = new yzmFrm();
yzmfrm.ShowDialog();
textBox3.Text = yzm ;
}
yzmFrm.xaml.cs 按enter键,窗口关闭并传值给MainWindow
[C#] 纯文本查看 复制代码 private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Enter)
{
//直接通过 窗体.属性名,即可赋值
MainWindow.yzm = textBox1.Text;
this.Close();
}
}
===============================================================================================
winform间的传值,我一般用的是下面这样的方法,直接在窗口一声明一个公共变量,然后把窗口2的值赋给公共变量就能取到了。。
如下图:
但是这种方法不知道为啥,在wpf中不行啊,窗体2中根本就访问不到这个公共变量。。。
当然,我也搜到了其他传值方法,在app.xaml中定义变量,还有用委托事件传值,但是感觉很麻烦。。没有很多的值,有没有办法在wpf中用我上面列出来的那种方法。。。
求大神解惑。。。。
|