Silverlight中子窗体的保存和取消

子窗体的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>();
    }
  }
}

posted @ 2012-06-25 14:20  要等闲阿  阅读(174)  评论(0编辑  收藏  举报