1

Silverlight アプリには、一定期間後に画面をロックする必要がある自動ロック機能があります。問題は、アプリがロックされていても、開いているダイアログが開いたままになることです。

これらのダイアログをプログラムで閉じるにはどうすればよいですか?

4

2 に答える 2

1

これを次のように追加する必要があります:

 dialog.DialogResult = false;
 dialog.Close();
于 2013-06-28T06:01:47.133 に答える
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 以降でのみ機能します。

于 2013-06-14T13:36:43.740 に答える