WPF中如何在弹出窗口后,主窗口不能操作(需要在弹出窗口关闭后才能操作),但主窗口后台本身设定的方法可以继续执行showdialog()在返回结果前,它后面的方法都不能执行,需要返回后才能执行。用show()吧,但主窗口需要从弹出窗口中的选择来获取值,并将值传给主窗口的TextBlock并显示出来,弹出窗口关闭前调用main window = new main();
window.name.Text = "123";来传值了,但关闭后主窗口的TextBlock:name并没有显示数据。
谁给点建议,实现以下功能:弹出窗口关闭后,把弹出窗口的值传给主窗口的让TextBlock控件显示出来,但主窗口在弹出窗口关闭前还可以继续执行自身的后台方法。麻烦大家帮帮忙!
window.name.Text = "123";来传值了,但关闭后主窗口的TextBlock:name并没有显示数据。
谁给点建议,实现以下功能:弹出窗口关闭后,把弹出窗口的值传给主窗口的让TextBlock控件显示出来,但主窗口在弹出窗口关闭前还可以继续执行自身的后台方法。麻烦大家帮帮忙!
不会因为ShowDialog而不能运行后台操作
从简单的角度来说,你可以通过App.Current.MainWindow as MainWindow来获取对象的指针
而不是去new一个新的Window如果一定要用Show,则可以把MainWindow Disable掉,并将Show出来的Window的Owner设置为MainWindow
if(dlg.ShowDialog()??false){
this.Textbox1.Content = dlg.ResultText;
}你需要在SubWindow的OK中为ResultText赋值即可。
dlg.Closed += (s1, e1) => {
this.textblock1.Text = dlg.ResultText;
};
dlg.Show();