你如何在Silverlight应用程序中关闭打开的对话框?

时间:2013-06-14 13:36:44

标签: silverlight silverlight-4.0 dialog childwindow

我的Silverlight应用程序中有一个自动锁定功能,需要在一段时间后锁定屏幕。问题是即使应用程序被锁定,打开的对话框仍然保持打开状态。

如何以编程方式关闭这些对话框?

2 个答案:

答案 0 :(得分:1)

你应该添加如下:

 dialog.DialogResult = false;
 dialog.Close();

答案 1 :(得分:0)

我使用以下代码段来关闭我的silverlight应用中的打开对话框。

    UIElement ui = App.Current.RootVisual;
    foreach (var popup in VisualTreeHelper.GetOpenPopups())
    {
      if (popup != null)
      {
        System.Windows.Controls.ChildWindow dialog = popup.Child as System.Windows.Controls.ChildWindow;

        if (dialog != null)
        {
          dialog.DialogResult = false;
          dialog.Close();
        }
      }
    }

这仅适用于Silverlight 4或更高版本。