我要求,如果打开一个window
,则用户无法允许打开其他window
,因为我尝试过以下代码。
if(System.Windows.Application.Current.Windows.Count == 0)
{
//My code
}
我正在检查当前打开的window
计数,如果它大于1,则用户无法打开其他窗口,我将在if语句中提及
但是当我运行此代码时,它会给我错误
"对象引用未设置为对象的实例。"
任何解决方案
答案 0 :(得分:1)
您可能会收到此错误,因为即使是第一个要加载的窗口,您也会应用此检查。为此,您可以在代码中应用空检查。 对于加载的窗口列表,您可以使用Application,
获取它var loadedWindows = Application.Current.Windows.Cast<Window>()
.Where(win => win.IsLoaded);
答案 1 :(得分:0)
如果您想知道从应用程序实例打开了多少个窗口,可以执行此操作
l_WindowCount = 0;
foreach(var Window in App.Current.Windows)
{
l_WindowCount += 1
}
if(l_WindowCount > 1)
{
//do what you want to do here
}