在子窗口設計中添加一個輸入框:<TextBox x:Name="txtUserInfor" Grid.Row="0" />
添加子窗體的CS代碼:
string testString;
public string TestString
{
get { return testString; }
set { testString = value; }
}
增加一個事件: public event EventHandler OkClicked;
修改OKButton_Click方法:
private void OKButton_Click(object sender, RoutedEventArgs e)
{
if (OkClicked != null)
{
TestString = txtUserInfor.Text;
OkClicked(this,new EventArgs());
}
this.DialogResult = true;
}
父窗體:
設計中添加一個輸入框和一個Button:
<TextBox x:Name="tbInfo" Width="100" Height="50"></TextBox>
<Button Click="Button_Click" Width="100" Height="60" Content="子窗口測試" HorizontalAlignment="Right"></Button>
修改父窗體代碼:
public FatherControl()
{
InitializeComponent();
childWindowDemo.OkClicked += new EventHandler(childWindowDemo_OkClicked);
}
void childWindowDemo_OkClicked(object sender, EventArgs e)
{
tbInfo.Text = childWindowDemo.TestString;
}
private ChildWindow1 childWindowDemo = new ChildWindow1();
private void Button_Click(object sender, RoutedEventArgs e)
{
childWindowDemo.Show();
}
完畢。
運行,點擊父窗體按鈕,彈出子窗體。在子窗體的輸入框中輸入內(nèi)容,點擊確認后關閉子窗體,同時子窗體的數(shù)據(jù)更新到父窗體的輸入框中。