将变量传递给已打开的窗口

时间:2013-01-21 02:47:33

标签: c# wpf

上下文:使用文本输入创建自定义MessageBox

如何从自定义MessageBox窗口将变量传回原始窗口?我知道如何在打开一个新窗口时执行此操作,但不会打开已经打开的窗口。

1 个答案:

答案 0 :(得分:3)

您是否可以在关闭时从消息框中获取数据

var msgBox = new MyMessageBox();
If (msgBox.ShowDialog(blah, blah, etc) == true)
{
   var dataBack = msgBox.PropertyThatHasInfo;
}

要从您返回DialogResult窗口,您可以根据用户交互设置DialogResult boollean

EG:

   public class MyMessageBox : Window
   {

        private void OK_Click(object sender, RoutedEventArgs e)
        {
            DialogResult = true;
        }

        private void Cancel_Click(object sender, RoutedEventArgs e)
        {
            DialogResult = false;
        }
   }