本帖最后由 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中用我上面列出来的那种方法。。。 
 
求大神解惑。。。。 
 
 |