Silverlight アプリには、一定期間後に画面をロックする必要がある自動ロック機能があります。問題は、アプリがロックされていても、開いているダイアログが開いたままになることです。
これらのダイアログをプログラムで閉じるにはどうすればよいですか?
Silverlight アプリには、一定期間後に画面をロックする必要がある自動ロック機能があります。問題は、アプリがロックされていても、開いているダイアログが開いたままになることです。
これらのダイアログをプログラムで閉じるにはどうすればよいですか?
これを次のように追加する必要があります:
dialog.DialogResult = false;
dialog.Close();
次のコード スニペットを使用して、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 以降でのみ機能します。