父窗体取得子窗体返回的值

新建Silverlight子窗口
 

 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;

namespace SilverlightXML
{
    public partial class ChildWindow1 : ChildWindow
    {
        public string resultVal = "空";//子窗体中设置public
        public ChildWindow1()
        {
            InitializeComponent();
        }

        private void OKButton_Click(object sender, RoutedEventArgs e)
        {
            resultVal = txtInput.Text;//前台放个输入框
            txtInput.Text = "";
            this.DialogResult = true;
        }

        private void CancelButton_Click(object sender, RoutedEventArgs e)
        {
            this.DialogResult = false;
        }
    }
}


父窗体中调用

 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;

namespace SilverlightXML
{
    public partial class TestPage3 : UserControl
    {
        ChildWindow1 child = new ChildWindow1();
        public TestPage3()
        {
            InitializeComponent();
            child.Closed += new EventHandler(Child_Close);  //在父窗体注册子窗体的关闭事件
        }
        private void Child_Close(object sender, EventArgs e)
        {
            bool? result = child.DialogResult;

            if (result.HasValue && result.Value)
            {
                MessageBox.Show("子窗体返回:" + child.resultVal);
            }
        }
        private void btnChild_Click(object sender, RoutedEventArgs e)
        {
            child.Show();
        }
    }
}

原文来自:雨枫技术教程网 http://www.fengfly.com/
原文网址:http://www.fengfly.com/plus/view-191851-1.html

原文地址:https://www.cnblogs.com/hyd309/p/1969161.html