我有一个UserControl userControl1
按钮。
当用户点击按钮时,我创建新的UserControl
并显示它:
private void Button_UserControl1_Click(object sender, RoutedEventArgs e)
{
Window window = new Window
{
Title = "Control2",
Content = _control2
};
_control2= new UserControl2(ref window);
window.ShowDialog();
}
在UserControl2
当我想关闭自己时(control2窗口)(另一个按钮点击):
private void btOk_Click(object sender, RoutedEventArgs e)
{
_parent.Close(); //_parent is ref window
}
但我无法关闭它!
您能告诉我:如何通过点击control2
上的按钮关闭创建的窗口(control2
)?
谢谢!
答案 0 :(得分:2)
这应关闭父窗口:
private void btOk_Click(object sender, RoutedEventArgs e)
{
Window.GetWindow(this).Close();
}
这样您就不需要引用父母。 GetWindow将始终返回托管UserControl的窗口。