对于这个窗口:
<Window x:Class="Host.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
WindowStyle="ToolWindow" Top="-5000" Left="-5000" Width="0" Height="0"
ShowInTaskbar="False"
Loaded="Window_Loaded"
/>
“窗口关闭后无法设置可见性或调用Show或ShowDialog”。在.ctor和Window_Loaded之间抛出异常。这只发生在独立运行时,而不是VS. .ctor如下:
public MainWindow()
{
InitializeComponent();
MessageBox.Show("1");
}
当MessageBox不存在时,不会发生异常,应用程序在启动后立即关闭,如果它不存在,但它仍然没有进入Window_Loaded处理程序。它不会从我的代码中抛出任何异常,它来自于尝试从PresentationFramework.dll调用Window.VerifyCanShow()的应用程序。
任何想法?
答案 0 :(得分:1)
从你发布的例外情况来看,某个地方某个窗口正在关闭。我无法从你发布的代码中看出来。
关闭窗口后,您必须重新分配窗口以再次“显示”它。你可以隐藏它然后再显示它没有任何问题。我确信这是有充分理由的,但如果我知道的话,我会大胆的。无论如何,这就是例外的大喊大叫。
可能是你的左右位置使它与你的宽度和高度(0像素)结合(-5000像素)。
答案 1 :(得分:0)
我怀疑您的Main
方法可能有问题。
它通常在Program.cs
内找到。发布它,以便我们可以看到是否有任何错误。
答案 2 :(得分:0)
不,整个问题是我真的非常愚蠢。当我打开VS并杀死应用程序时,我的单例代码看到VShost.exe正在运行。