子窗口中的代码:
代码原理:声明一个委托,定义一个委托成员变量,这里仅是定义,是空的,还没有赋值,在父窗口里赋值;最后一句代码则是使用委托去做具体的事情了。
public delegate void DisplayTextDelegate(String str);
public DisplayTextDelegate DisplayTextFather;
void ButtonClick_Start_upddate(object sender, RoutedEventArgs e)
{
DisplayTextFather("委托父窗口显示");
}
父窗口的代码:
代码原理:主要是给子窗口里定义的委托赋值。
public MainWindow()
{
if (UserContro_update == null) UserContro_update = new UserControl1();
UserContro_update.DisplayTextFather = DisplayTextFather;
Page_Change.Content = new Frame()
{
Content = UserContro_update
};
}
private void DisplayTextFather(String str)
{
DisplayTextBox.Text = str;
}
代码运行结果如下: