子窗体的cs文件:
public partial class ChildWindow1 : ChildWindow
{
public ChildWindow1()
{
InitializeComponent();
}
public void UrlMessage(string str)
{
switch(str)
{
case "提交":
this.DialogResult = true;
break;
case "取消":
this.DialogResult = false;
break;
}
}
}
使用的时候
ChildWindow1 childwindow1 = new ChildWindow1();
childwindow1.Width = 640;
childwindow1.Height = 408;
childwindow1.Title = "用户信息";
childwindow1.Content = new EditUserInfo();
childwindow1.Show();
void btnCancel_Click(object sender, RoutedEventArgs e)
{
try
{
ChildWindow1 childwindow1 = this.FindParentByType<ChildWindow1>();
childwindow1.UrlMessage("取消");
}
catch (Exception)
{
}
}
public static class TreeHelper
{
public static T FindParentByType<T>(this DependencyObject child) where T : DependencyObject
{
Type type = typeof(T);
DependencyObject parent = VisualTreeHelper.GetParent(child);
if (parent == null)
{
return null;
}
else if (parent.GetType() == type)
{
return parent as T;
}
else
{
return parent.FindParentByType<T>();
}
}
}